X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=lib%2Ffunctions.network;h=b4ea5d03533d48230516331bc0adba181ef08087;hb=7e0a5a475aed51976d99f13f350894a4e50bb76f;hp=a68ed7621fa11b0f9cedd0e13c21d3666c4b4061;hpb=12e7a5b1a4ca9c8f03ee66db198426770cc84300;p=rc-scripts.git diff --git a/lib/functions.network b/lib/functions.network index a68ed76..b4ea5d0 100644 --- a/lib/functions.network +++ b/lib/functions.network @@ -226,17 +226,17 @@ setup_ip_param () # set handling for bridge case "$DEVICETYPE" in - br|atm|lec|irda|vlan) + bond|br|atm|lec|irda|vlan) HANDLING=1 ;; esac # Multicast ready devices - if is_yes "$MULTICAST"; then - MULTICAST="on" + if [ -n "$MULTICAST" ]; then + MULTICAST="$MULTICAST" else case "$DEVICETYPE" in - eth|br) + eth|br|vlan) MULTICAST="on" ;; *) @@ -299,6 +299,7 @@ setup_ip_gw_ro () if [ -z "${IPV6_GLOBALROUTEDEV}" -o "${IPV6_GLOBALROUTEDEV}" = "${DEVICE}" ]; then # set up default route if [ "${IPV6_GLOBALROUTEGW}" ]; then + ip -6 route add ${IPV6_GLOBALROUTEGW} dev ${DEVICE} ${IP6SRCADDR} onlink ip -6 route add 2000::/3 via ${IPV6_GLOBALROUTEGW} dev ${DEVICE} ${IP6SRCADDR} onlink elif [ "${IPV6_GLOBALROUTEDEV}" = "${DEVICE}" ]; then ip -6 route add 2000::/3 dev ${DEVICE} ${IP6SRCADDR} @@ -483,7 +484,7 @@ setup_ip_rules () /sbin/ip rule add $args $prio done elif is_no "$1"; then - LC_ALL=C /sbin/ip rule show | grep -vE -e "from all lookup (main|default|local|253|254|255) \$" -e " map-to " | while read prio from src args; do + LC_ALL=C /sbin/ip rule show | grep -vE -e "from all lookup (main|default|local|253|254|255)[[:space:]]*\$" -e " map-to " | while read prio from src args; do [ "$src" = "all" ] && /sbin/ip rule delete $args || /sbin/ip rule delete $from $src $args done fi @@ -502,7 +503,7 @@ setup_ip_rules () /sbin/ip -6 rule add $args $prio done elif is_no "$1"; then - LC_ALL=C /sbin/ip -6 rule show | grep -vE -e "from all lookup (main|default|local|253|254|255) \$" -e " map-to " | while read prio from src args; do + LC_ALL=C /sbin/ip -6 rule show | grep -vE -e "from all lookup (main|default|local|253|254|255)[[:space:]]*\$" -e " map-to " | while read prio from src args; do [ "$src" = "all" ] && /sbin/ip -6 rule delete $args || /sbin/ip -6 rule delete $from $src $args done fi