[arch-projects] [netctl][patch] Remove DAD detection

Sébastien Luttringer seblu at seblu.net
Wed Feb 6 18:03:20 EST 2013


On Wed, Feb 6, 2013 at 11:48 PM, Sébastien Luttringer <seblu at seblu.net> wrote:
> DAD detection is detected via the presence of tentative flag in ip command.
> This flag can only be setted if interface is up (obviously).
>
> So, setting an IPv6 address will fail when you:
> - the cable is not plugged
> - any interface of a bridge is not set
>
> The code was (before rewriting of netctl) reference this bug report:
> https://bugs.archlinux.org/task/28887
>
> Signed-off-by: Sébastien Luttringer <seblu at seblu.net>
> ---
>  docs/netctl.profile.5.txt | 4 ----
>  src/lib/ip                | 6 ------
>  2 files changed, 10 deletions(-)
>
> diff --git a/docs/netctl.profile.5.txt b/docs/netctl.profile.5.txt
> index efd4fb4..621f624 100644
> --- a/docs/netctl.profile.5.txt
> +++ b/docs/netctl.profile.5.txt
> @@ -153,10 +153,6 @@ network. In particular, these connection types are +ethernet+,
>      Maximum time, in seconds, to wait for DHCP to be successful.
>      Defaults to ``10`'.
>
> -'TimeoutDAD='::
> -    Maximum time, in seconds, to wait for IPv6's Duplicate Address
> -    Detection to succeed. Defaults to ``3`'.
> -
>
>  OPTIONS FOR `ethernet' CONNECTIONS
>  ----------------------------------
> diff --git a/src/lib/ip b/src/lib/ip
> index 8723e5b..263305e 100644
> --- a/src/lib/ip
> +++ b/src/lib/ip
> @@ -130,12 +130,6 @@ ip_set() {
>      esac
>
>      if [[ $IP6 ]]; then
> -        # Wait for Duplicate Address Detection to finish
> -        if ! timeout_wait "${TimeoutDAD:-3}" '[[ -z "$(ip -6 addr show dev "$Interface" tentative)" ]]'; then
> -            report_error "Duplicate Address Detection is taking too long on interface '$Interface'"
> -            return 1
> -        fi
> -
>          # Add static IPv6 routes
>          if [[ $Routes6 ]]; then
>              for route in "${Routes6[@]}"; do
> --
> Sébastien "Seblu" Luttringer
>
I can provide 2 alternatives patch:
- Less aggressive, with a check of ip status but without "tentative"
in ip command
- Less smart, with a SkipDAD params. This will not avoid most failure
when cable is not plugged at boot.


-- 
Sébastien "Seblu" Luttringer
https://www.seblu.net
GPG: 0x2072D77A


More information about the arch-projects mailing list