Commit graph

4 commits

Author SHA1 Message Date
Stefano Brivio
6fe3dca78a dhcpv6: Don't pass DNS option, it already comes from SLAAC
It looks like some versions of ISC's IPv6 dhclient not only discard
the DNS Recursive Name Server option if other options (Domain Search
List? FQDN?) are absent, but they also drop existing entries
configured via SLAAC from /etc/resolv.conf.

Don't pass option 23 until I figure this out, it's anyway redundant
as we pass DNS information via SLAAC (RFC 8106).

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2021-04-22 17:16:05 +02:00
Stefano Brivio
49c766398d dhcpv6: Subtract option length before returning one option
dhcpv6_opt() needs to subtract option length _before_ returning,
so that callers can conveniently pass the remaining length on
subsequent calls.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2021-04-22 02:30:20 +02:00
Stefano Brivio
faff133629 dhcpv6: Fix REPLY messages with NotOnLink status code
The NotOnLink status code needs to be appended to the existing IA
content, because if we omit the requested addresses in the reply,
ISC's dhclient handles it as a NoAddrsAvail response.

Also fix length accounting (we would send a bunch of zeroes after
the IA otherwise), and print an informational message with the
requested address, if it's not appropriate for the link.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2021-04-21 17:15:23 +02:00
Stefano Brivio
4aa8e54a30 passt: Introduce a DHCPv6 server
This implementation, similarly to the IPv4 DHCP one, hands out a
single address, which is the same as the upstream address for the
host.

This avoids the need for address translation as long as the client
runs a DHCPv6 client. The NDP "Managed" flag is now set in Router
Advertisements.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2021-04-13 22:37:40 +02:00