I’m working with a Fedora 32 (F32) host with the KDE/Plasma spin. I’m writing some scripts where I’d like to save/restore the system’s routing tables. On other Linux systems I can use ip route commands to accomplish this:
$ sudo su -
# ip route save table all > backup
# ip route flush table all
# ip route restore < backup
When I try this on my F32 host, the restore step always fails with the error message
Error: Invalid rtm_flags - can not contain DEAD or LINKDOWN.
Can anyone enlighten me as to why the restore step is failing? Or is this a bug?
@vgaetera, you are correct that some of the links are in the DOWN state:
$ ip link show | grep -i down
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN mode DEFAULT group default qlen 1000
Apparently, link virbr0-nic is DOWN, and possibly this is the troublemaker.
NB: On my F32 host, the set of links / addresses that are present, and their respective states, does not change before/after I save/restore the routing state.
$ sudo su -
# ip route save table all > tables
# ip address show > address1
# ip link show > link1
# ip route flush table all
# ip address show > address2
# ip link show > link2
# ip route restore < tables
# ip address show > address3
# ip link show > link3
The contents of files address{1,2,3} are identical, as are the contents of files link{1,2,3}.