# HG changeset patch # User Keir Fraser # Date 1199785424 0 # Node ID 7b7700a30e5280d57ecb9a284ee943aa80ae37f0 # Parent 60440a7e7a40c0cfe94f7abcbde82ea2c6e123fe 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 diff -r 60440a7e7a40 -r 7b7700a30e52 tools/examples/network-bridge --- a/tools/examples/network-bridge Tue Jan 08 09:40:33 2008 +0000 +++ b/tools/examples/network-bridge Tue Jan 08 09:43:44 2008 +0000 @@ -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 "