diff --git a/etc/rc.d/rc.docker b/etc/rc.d/rc.docker index cced71675..4e261a576 100755 --- a/etc/rc.d/rc.docker +++ b/etc/rc.d/rc.docker @@ -147,10 +147,10 @@ min6() { wipe() { wet=($*) - # remove temporary (privacy extensions) ipv6 addresses + # remove temporary (privacy extensions) and host ipv6 addresses for tmp in $(ip -br -6 addr show scope global temporary dev $wet 2>/dev/null|awk '{$1=$2="";print}'); do for i in ${!wet[@]}; do - [[ ${wet[$i]} == $tmp ]] && unset 'wet[i]' + [[ ${wet[$i]} == $tmp || ${wet[$i]#*/} == 128 ]] && unset 'wet[i]' done done # return cleaned-up list without interface name diff --git a/etc/rc.d/rc.library.source b/etc/rc.d/rc.library.source index f27c1b65b..d293bc3f8 100644 --- a/etc/rc.d/rc.library.source +++ b/etc/rc.d/rc.library.source @@ -89,10 +89,10 @@ min6() { wipe() { wet=($*) - # remove temporary (privacy extensions) ipv6 addresses + # remove temporary (privacy extensions) and host ipv6 addresses for tmp in $(ip -br -6 addr show scope global temporary dev $wet 2>/dev/null|awk '{$1=$2="";print}'); do for i in ${!wet[@]}; do - [[ ${wet[$i]} == $tmp ]] && unset 'wet[i]' + [[ ${wet[$i]} == $tmp || ${wet[$i]#*/} == 128 ]] && unset 'wet[i]' done done # return cleaned-up list without interface name