Hello. I’m using VyOS 1.3:
$ show version
Version: VyOS 1.3-rolling-202011110217
Release Train: equuleus
Built by: autobuild@vyos.net
Built on: Wed 11 Nov 2020 02:17 UTC
Build UUID: a42ec888-2112-4b27-9dc9-25e74bb52c57
Build Commit ID: 9e6e486d529291
Architecture: x86_64
Boot via: installed image
System type: KVM guest
Hardware vendor: Hetzner
Hardware model: vServer
Hardware S/N: Unknown
Hardware UUID: Unknown
Copyright: VyOS maintainers and contributors
DHCPv4 works fine but v6 doesn’t. Here is interface configuration:
# show interfaces ethernet
ethernet eth0 {
address dhcp
address dhcpv6
description EXTERNAL-WAN
firewall {
local {
name LOCAL-IPV4
}
}
}
log seems to be clear:
$ show log | grep dhcp6 | tail -6
Nov 16 15:05:54 rtr1-hel1 dhcp6c[10659]: copy_option: set client ID (len 14)
Nov 16 15:05:54 rtr1-hel1 dhcp6c[10659]: copyout_option: set identity association
Nov 16 15:05:54 rtr1-hel1 dhcp6c[10659]: copy_option: set elapsed time (len 2)
Nov 16 15:05:54 rtr1-hel1 dhcp6c[10659]: copy_option: set option request (len 4)
Nov 16 15:05:54 rtr1-hel1 dhcp6c[10659]: client6_send: send solicit to ff02::1:2%eth0
Nov 16 15:05:54 rtr1-hel1 dhcp6c[10659]: dhcp6_reset_timer: reset a timer on eth0, state=SOLICIT, timeo=3393, retrans=119520
These six rows are only entries for dhcp6c. tcpdump shows bad checksums what is confusing me:
$ sudo tcpdump -ntvi eth0 port 546
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
IP6 (flowlabel 0xefb15, hlim 1, next-header UDP (17) payload length: 60) fe80::9400:ff:fe66:fcf8.546 > ff02::1:2.547: [bad udp cksum 0x8e33 -> 0xeea3!] dhcp6 solicit (xid=1fcfaa (client-ID hwaddr/time type 1 time 658436828 96000066fcf8) (IA_NA IAID:0 T1:0 T2:0) (elapsed-time 65535) (option-request DNS-server DNS-search-list))
IP6 (flowlabel 0xefb15, hlim 1, next-header UDP (17) payload length: 60) fe80::9400:ff:fe66:fcf8.546 > ff02::1:2.547: [bad udp cksum 0x8e33 -> 0xeea3!] dhcp6 solicit (xid=1fcfaa (client-ID hwaddr/time type 1 time 658436828 96000066fcf8) (IA_NA IAID:0 T1:0 T2:0) (elapsed-time 65535) (option-request DNS-server DNS-search-list))
IP6 (flowlabel 0xefb15, hlim 1, next-header UDP (17) payload length: 60) fe80::9400:ff:fe66:fcf8.546 > ff02::1:2.547: [bad udp cksum 0x8e33 -> 0xeea3!] dhcp6 solicit (xid=1fcfaa (client-ID hwaddr/time type 1 time 658436828 96000066fcf8) (IA_NA IAID:0 T1:0 T2:0) (elapsed-time 65535) (option-request DNS-server DNS-search-list))
IP6 (flowlabel 0xefb15, hlim 1, next-header UDP (17) payload length: 60) fe80::9400:ff:fe66:fcf8.546 > ff02::1:2.547: [bad udp cksum 0x8e33 -> 0xeea3!] dhcp6 solicit (xid=1fcfaa (client-ID hwaddr/time type 1 time 658436828 96000066fcf8) (IA_NA IAID:0 T1:0 T2:0) (elapsed-time 65535) (option-request DNS-server DNS-search-list))
IP6 (flowlabel 0xefb15, hlim 1, next-header UDP (17) payload length: 60) fe80::9400:ff:fe66:fcf8.546 > ff02::1:2.547: [bad udp cksum 0x8e33 -> 0xeea3!] dhcp6 solicit (xid=1fcfaa (client-ID hwaddr/time type 1 time 658436828 96000066fcf8) (IA_NA IAID:0 T1:0 T2:0) (elapsed-time 65535) (option-request DNS-server DNS-search-list))
IP6 (flowlabel 0xefb15, hlim 1, next-header UDP (17) payload length: 60) fe80::9400:ff:fe66:fcf8.546 > ff02::1:2.547: [bad udp cksum 0x8e33 -> 0xeea3!] dhcp6 solicit (xid=1fcfaa (client-ID hwaddr/time type 1 time 658436828 96000066fcf8) (IA_NA IAID:0 T1:0 T2:0) (elapsed-time 65535) (option-request DNS-server DNS-search-list))
IP6 (flowlabel 0xefb15, hlim 1, next-header UDP (17) payload length: 60) fe80::9400:ff:fe66:fcf8.546 > ff02::1:2.547: [bad udp cksum 0x8e33 -> 0xeea3!] dhcp6 solicit (xid=1fcfaa (client-ID hwaddr/time type 1 time 658436828 96000066fcf8) (IA_NA IAID:0 T1:0 T2:0) (elapsed-time 65535) (option-request DNS-server DNS-search-list))
IP6 (flowlabel 0xefb15, hlim 1, next-header UDP (17) payload length: 60) fe80::9400:ff:fe66:fcf8.546 > ff02::1:2.547: [bad udp cksum 0x8e33 -> 0xeea3!] dhcp6 solicit (xid=1fcfaa (client-ID hwaddr/time type 1 time 658436828 96000066fcf8) (IA_NA IAID:0 T1:0 T2:0) (elapsed-time 65535) (option-request DNS-server DNS-search-list))
As you can see solicit events are sent, but due to broken UDP datagram I don’t receive advertise event. Interface stats look also good:
$ show interfaces ethernet eth0
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 96:00:00:66:fc:f8 brd ff:ff:ff:ff:ff:ff
inet XX.XXX.XXX.XXX/XX brd XX.XXX.XXX.XXX scope global dynamic eth0
valid_lft 60434sec preferred_lft 60434sec
inet6 fe80::9400:ff:fe66:fcf8/64 scope link
valid_lft forever preferred_lft forever
Description: EXTERNAL-WAN
RX: bytes packets errors dropped overrun mcast
131843673 331596 0 0 0 0
TX: bytes packets errors dropped carrier collisions
25290060 149878 0 0 0 0
No RX/TX errors as you can see. Google says such error can be introduced by kernel offloading optimization (https://github.com/projectcalico/felix/issues/40).