diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2021-04-13 21:59:47 +0200 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2021-04-13 22:37:40 +0200 |
commit | 4aa8e54a303dfde9a53c47cd07c5af3c5fad4f01 (patch) | |
tree | 86557a9f4ec49b64e72379de5beff1248ba2404c /ndp.c | |
parent | 6b1a9f0d34069c218bdfa666a1f11dfcdf2b85cd (diff) | |
download | passt-4aa8e54a303dfde9a53c47cd07c5af3c5fad4f01.tar passt-4aa8e54a303dfde9a53c47cd07c5af3c5fad4f01.tar.gz passt-4aa8e54a303dfde9a53c47cd07c5af3c5fad4f01.tar.bz2 passt-4aa8e54a303dfde9a53c47cd07c5af3c5fad4f01.tar.lz passt-4aa8e54a303dfde9a53c47cd07c5af3c5fad4f01.tar.xz passt-4aa8e54a303dfde9a53c47cd07c5af3c5fad4f01.tar.zst passt-4aa8e54a303dfde9a53c47cd07c5af3c5fad4f01.zip |
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>
Diffstat (limited to 'ndp.c')
-rw-r--r-- | ndp.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -80,13 +80,14 @@ int ndp(struct ctx *c, struct ethhdr *eh, size_t len) ihr->icmp6_type = RA; ihr->icmp6_code = 0; ihr->icmp6_rt_lifetime = htons(3600); + ihr->icmp6_addrconf_managed = 1; p = (unsigned char *)(ihr + 1); p += 8; /* reachable, retrans time */ *p++ = 3; /* prefix */ *p++ = 4; /* length */ *p++ = 64; /* prefix length */ - *p++ = 0xc0; /* flags: L, A */ + *p++ = 0xc0; /* prefix flags: L, A */ *(uint32_t *)p = htonl(3600); /* lifetime */ p += 4; *(uint32_t *)p = htonl(3600); /* preferred lifetime */ |