|
@@ -81,6 +81,23 @@ setup_interface () {
|
|
|
# RFC 7278
|
|
# RFC 7278
|
|
|
if [ "$mask" -eq 64 -a -z "$PREFIXES" -a -n "$EXTENDPREFIX" ]; then
|
|
if [ "$mask" -eq 64 -a -z "$PREFIXES" -a -n "$EXTENDPREFIX" ]; then
|
|
|
proto_add_ipv6_prefix "$addr/$mask,$preferred,$valid"
|
|
proto_add_ipv6_prefix "$addr/$mask,$preferred,$valid"
|
|
|
|
|
+
|
|
|
|
|
+ local raroutes=""
|
|
|
|
|
+ for route in $RA_ROUTES; do
|
|
|
|
|
+ local prefix="${route%%/*}"
|
|
|
|
|
+ local entry="${route#*/}"
|
|
|
|
|
+ local pmask="${entry%%,*}"
|
|
|
|
|
+ entry="${entry#*,}"
|
|
|
|
|
+ local gw="${entry%%,*}"
|
|
|
|
|
+
|
|
|
|
|
+ [ -z "$gw" -a "$mask" = "$pmask" ] && {
|
|
|
|
|
+ case "$addr" in
|
|
|
|
|
+ "${prefix%*::}"*) continue;;
|
|
|
|
|
+ esac
|
|
|
|
|
+ }
|
|
|
|
|
+ raroutes="$raroutes $route"
|
|
|
|
|
+ done
|
|
|
|
|
+ RA_ROUTES="$raroutes"
|
|
|
fi
|
|
fi
|
|
|
done
|
|
done
|
|
|
|
|
|