Any update regarding this patch?

Thanks,
Helmut

Am Montag 15 November 2010 schrieb Helmut Schaa:
> This will ensure that bridge devices will stick to the MAC address of
> the first added slave interface as otherwise the MAC address could
> change when adding additional slave interfaces later. This prevents
> trouble in the following situation:
> 
> - Setup br-lan with just eth0 (br-lan will get the same MAC as eth0)
> - DHCP on br-lan
> - Start wifi (br-lan might switch its MAC to the one of wlan0 if it is
>   lower then the previous one)
> - DHCP lease time expired -> New IP address as the MAC changed
> 
> Setting the MAC address of the first slave interface to the bridge as
> well will make the bridge MAC address sticky.
> 
> Signed-off-by: Helmut Schaa <helmut.sc...@googlemail.com>
> ---
>  package/base-files/files/lib/network/config.sh |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/package/base-files/files/lib/network/config.sh 
> b/package/base-files/files/lib/network/config.sh
> index d285da2..94c7ccd 100755
> --- a/package/base-files/files/lib/network/config.sh
> +++ b/package/base-files/files/lib/network/config.sh
> @@ -166,6 +166,7 @@ prepare_interface() {
>                       [ -x /usr/sbin/brctl ] && {
>                               # Remove IPv6 link local addr before adding the 
> iface to the bridge
>                               local llv6="$(ifconfig "$iface")"
> +                             local initial=0
>                               case "$llv6" in
>                                       *fe80:*/64*)
>                                               llv6="${llv6#* fe80:}"
> @@ -192,11 +193,18 @@ prepare_interface() {
>                                       $DEBUG ifconfig "$iface" 0.0.0.0
>                                       $DEBUG brctl addif "br-$config" "$iface"
>                                       $DEBUG brctl stp "br-$config" $stp
> +                                     initial=1
>                                       # Creating the bridge here will have 
> triggered a hotplug event, which will
>                                       # result in another setup_interface() 
> call, so we simply stop processing
>                                       # the current event at this point.
>                               }
>                               ifconfig "$iface" ${macaddr:+hw ether 
> "${macaddr}"} up 2>/dev/null >/dev/null
> +
> +                             # Make bridge MAC address sticky
> +                             [ "$initial" = "1" ] &&
> +                                     ifconfig "br-$config" ${macaddr:+hw 
> ether "${macaddr}"} 2>/dev/null >/dev/null
> +
> +
>                               return 1
>                       }
>               ;;
> 

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to