Description of problem: The ifup-post script fails to set the roues for an interface, and accidentally clears them instead, if the network interface being operated upon hasn't fully come up. Recent kernel changes mean that you can't set a route on an interface which has not come up fully and so ifmetric fails and the route it was trying to add is removed, which removes all routing from the interface. The solution is to wait until the interface has come up before running ifmetric upon it. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. Have a host which has ethernet interface hardware which takes an extended period to finish initialising, such as some 10Gb interfaces. 2. Boot the machine. 3. Check the routes with 'netstat -r'
Created attachment 10881 [details] Patch to fix /etc/sysconfig/network-scripts/ifup-post Patch to fix /etc/sysconfig/network-scripts/ifup-post It checks the output of 'ip link <interface>' to see if it's up. If not then it sleeps for 2 seconds before trying again. Only when the interface is up doe it pass on to the first instance that ifmetric is used.
Thanks, Stephen I assume this needs to be done for cauldron (Mageia 7), too. Assigning to the base system maintainers, CC'ing the registered initscripts maintainer.
CC: (none) => mageia, marja11Keywords: (none) => PATCHVersion: 6 => CauldronAssignee: bugsquad => basesystemWhiteboard: (none) => MGA6TOO
I have seen lots of problem with this route in Cauldron, so I volunteer to apply this patch. But I wonder how to do, as initscripts refer to an about page is empty # (cg) To modify/see the source, mgaconf super patch and other patches # please read: http://gitweb.mageia.org/software/forks/initscripts/about/ # And I see Jani has added a patch instead of editing our software?
CC: (none) => jani.valimaa, lists.jjorge, thierry.vignaud