done
for entry in $RA_ROUTES; do
+ local duplicate=0
local addr="${entry%%/*}"
entry="${entry#*/}"
local mask="${entry%%,*}"
entry="${entry#*,}"
local metric="${entry%%,*}"
- if [ -z "$SOURCE_ROUTING" -o -z "$gw" ]; then
+ for xentry in $RA_ROUTES; do
+ local xprefix="${xentry%%,*}"
+ xentry="${xentry#*,}"
+ local xgw="${xentry%%,*}"
+
+ [ -n "$gw" -a -z "$xgw" -a "$addr/$mask" = "$xprefix" ] && duplicate=1
+ done
+
+ if [ -z "$gw" -o "$duplicate" = 1 ]; then
proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid"
else
- proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "::/128"
for prefix in $PREFIXES $ADDRESSES; do
local paddr="${prefix%%,*}"
proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "$paddr"
MAPRULE="$LW4O6"
fi
- [ -n "$ZONE" ] || ZONE=$(fw3 -q network $INTERFACE)
+ [ -n "$ZONE" ] || ZONE=$(fw3 -q network $INTERFACE 2>/dev/null)
if [ "$IFACE_MAP" != 0 -a -n "$MAPTYPE" -a -n "$MAPRULE" ]; then
[ -z "$IFACE_MAP" -o "$IFACE_MAP" = 1 ] && IFACE_MAP=${INTERFACE}_4