From fd5553ebbdb1df0d44ee4953206e785773cccdcd Mon Sep 17 00:00:00 2001 From: Vadim Kurland Date: Fri, 29 Oct 2010 15:23:37 -0700 Subject: [PATCH] * configlets/linux24/update_addresses: fixed SF bug 3091069: "Routing configuration failed". Iptables script generated by fwbuilder did not configure broadcast when it added ip addresses to interfaces. Using "ip addr add ADDR/NM boradcast + dev INTF" syntax to do this. --- doc/ChangeLog | 6 ++++++ src/res/configlets/linux24/update_addresses | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index c534cb605..0a9554691 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,5 +1,11 @@ 2010-10-29 Vadim Kurland + * configlets/linux24/update_addresses: fixed SF bug 3091069: + "Routing configuration failed". Iptables script generated by + fwbuilder did not configure broadcast when it added ip addresses + to interfaces. Using "ip addr add ADDR/NM boradcast + dev INTF" + syntax to do this. + * OSConfigurator_bsd.cpp (compare_names): fixed #1807 "wrong order of address assignment in the generated OpenBSD/PF/CARP cluster configuration". Need to assign ip addresses to regular interfaces diff --git a/src/res/configlets/linux24/update_addresses b/src/res/configlets/linux24/update_addresses index c82fd269f..b466846f6 100644 --- a/src/res/configlets/linux24/update_addresses +++ b/src/res/configlets/linux24/update_addresses @@ -50,13 +50,20 @@ missing_address() { test "$cmd" = "add" && { echo "# Adding ip address: $interface $addr" +## Use "broadcast +" syntax to make ip assign broadcast automatically, +## but only for ipv4 addresses + echo $addr | grep -q ':' && { + $FWBDEBUG $IP addr $cmd $addr dev $interface + } || { + $FWBDEBUG $IP addr $cmd $addr broadcast + dev $interface + } } test "$cmd" = "del" && { echo "# Removing ip address: $interface $addr" + $FWBDEBUG $IP addr $cmd $addr dev $interface } - $FWBDEBUG $IP addr $cmd $addr dev $interface $FWBDEBUG $IP link set $interface up }