Package: ifupdown
Version: 0.8.11
Severity: normal
Tags: ipv6

Hi,

I'm trying to configure a tap-device using a inet6 static stanza, but it ends
up unusable:

/etc/network/interfaces:
---------------8<---------------------
iface tap1 inet6 static
        dad-attempts    0
        privext         2
        pre-up          tunctl -t $IFACE; ip addr flush dev $IFACE
        address         fd00:1::/128
        post-down       tunctl -d $IFACE
-------------->8----------------------



Turns out, after an `ifup tap1`, the v6 address shows up as tentative, even
though dad-attempts is set to 0:

---------------8<---------------------
# ifup --verbose tap1

Configuring interface tap1=tap1 (inet6)
tunctl -t $IFACE; ip addr flush dev $IFACE
Set 'tap1' persistent and owned by uid 0
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/bridge
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/uml-utilities
/sbin/modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.
/sbin/sysctl -q -e -w net.ipv6.conf.tap1.use_tempaddr=2

/sbin/sysctl -q -e -w net.ipv6.conf.tap1.autoconf=0

/bin/ip link set dev tap1  up
/bin/ip -6 addr add fd00:1::/128  dev tap1

/bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/addresses
run-parts: executing /etc/network/if-up.d/ethtool
run-parts: executing /etc/network/if-up.d/mountnfs
run-parts: executing /etc/network/if-up.d/nslcd
Sending network state change signal to nslcd...done.
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/proxy-setup
run-parts: executing /etc/network/if-up.d/uml-utilities
run-parts: executing /etc/network/if-up.d/upstart

# ip addr list dev tap1
15: tap1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state
DOWN group default qlen 1000
    link/ether 3a:de:89:d6:47:15 brd ff:ff:ff:ff:ff:ff
    inet6 fd00:1::/128 scope global tentative          <--------------------
       valid_lft forever preferred_lft forever

# ping6 -c1 fd00:1::
PING fd00:1::(fd00:1::) 56 data bytes
>From fd00:4818::216:3eff:fe00:36 icmp_seq=1 Destination unreachable: Address
unreachable

--- fd00:1:: ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
-------------->8----------------------




Doing the same thing in a "manual" stanza and calling `ip -6 addr add` with the
nodad confflag set, another tap device ends up in a usable state:

/etc/network/interfaces:
---------------8<---------------------
iface tap3 inet6 manual
        dad-attempts    0
        privext         2
        pre-up          tunctl -t $IFACE; ip addr flush dev $IFACE
        post-up         ip -6 addr add dev $IFACE fd00:3::/128 nodad
        post-down       tunctl -d $IFACE
-------------->8----------------------



---------------8<---------------------
# ifup --verbose tap3

Configuring interface tap3=tap3 (inet6)
tunctl -t $IFACE; ip addr flush dev $IFACE
Set 'tap3' persistent and owned by uid 0
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/bridge
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/uml-utilities


/bin/ip link set dev tap3 up 2>/dev/null || true
ip -6 addr add dev $IFACE fd00:3::/128 nodad
/bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/addresses
run-parts: executing /etc/network/if-up.d/ethtool
run-parts: executing /etc/network/if-up.d/mountnfs
run-parts: executing /etc/network/if-up.d/nslcd
Sending network state change signal to nslcd...done.
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/proxy-setup
run-parts: executing /etc/network/if-up.d/uml-utilities
run-parts: executing /etc/network/if-up.d/upstart

# ip addr list dev tap3
16: tap3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state
DOWN group default qlen 1000
    link/ether ea:90:c4:b2:12:a4 brd ff:ff:ff:ff:ff:ff
    inet6 fd00:3::/128 scope global nodad 
       valid_lft forever preferred_lft forever

/# ping6 -c1 fd00:3::
PING fd00:3::(fd00:3::) 56 data bytes
64 bytes from fd00:3::: icmp_seq=1 ttl=64 time=0.028 ms

--- fd00:3:: ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.028/0.028/0.028/0.000 ms
-------------->8----------------------



Thanks

Dnaiel




-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.5.0-2-amd64 (SMP w/6 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: sysvinit (via /sbin/init)

Versions of packages ifupdown depends on:
ii  adduser              3.114
ii  init-system-helpers  1.33
ii  iproute2             4.3.0-1+b1
ii  libc6                2.22-9
ii  lsb-base             9.20160110

Versions of packages ifupdown recommends:
ii  isc-dhcp-client [dhcp-client]  4.3.4-1

Versions of packages ifupdown suggests:
ii  ppp     2.4.7-1+2
pn  rdnssd  <none>

-- no debconf information

Reply via email to