mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
Handle netdev secondary addresses and labels
Fix the network-bridge logic to correctly transfer secondary IP address from $netdev to $bridge. e.g. if you add an secondary address/label/alias with: $> ip addr add 172.31.0.200/24 dev eth0 label eth0:00 then, "ip addr show dev eth0" gives e.g.: inet 172.31.0.10/24 brd 172.31.0.255 scope global eth0 inet 172.31.0.200/24 scope global secondary eth0:00 and transfer_addrs() tries to execute: ip addr add 172.31.0.10/24 brd 172.31.0.255 scope global dev tmpbridge ip addr add 172.31.0.200/24 scope global secondary dev tmpbridge:00 which causes the sript to fail because: 1) The device tmpbridge:00 doesn't exist 2) The "secondary" flag isn't valid This patch fixes the sed commands to instead give: ip addr add 172.31.0.10/24 brd 172.31.0.255 scope global dev tmpbridge label tmpbridge ip addr add 172.31.0.200/24 scope global dev tmpbridge label tmpbridge:00 Signed-off-by: Mark McLoughlin <markmc@redhat.com>
This commit is contained in:
1 parent
24895b5f9b
commit
83501deecf
1 file changed
+2
-1
@@ -121,7 +121,8 @@ transfer_addrs () {
|
||||
ip addr show dev ${src} | egrep '^ *inet ' | sed -e "
|
||||
s/inet/ip addr add/
|
||||
s@\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/[0-9]\+\)@\1@
|
||||
s/${src}/dev ${dst}/
|
||||
s/${src}/dev ${dst} label ${dst}/
|
||||
s/secondary//
|
||||
" | sh -e
|
||||
# Remove automatic routes on destination device
|
||||
ip route list | sed -ne "
|
||||
|
||||