diff options
author | AbdAlRahman Gad <abdobngad@gmail.com> | 2024-08-12 22:33:38 +0300 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-08-13 19:46:16 +0200 |
commit | c16141eda5e8473a11ffbca82e1d6142d463300c (patch) | |
tree | 182a5a3d1851b6368e666d8a1186c55ec75c1676 /ndp.h | |
parent | f6d5a52392645f9b52c1b969ea2e85762626c5ba (diff) | |
download | passt-c16141eda5e8473a11ffbca82e1d6142d463300c.tar passt-c16141eda5e8473a11ffbca82e1d6142d463300c.tar.gz passt-c16141eda5e8473a11ffbca82e1d6142d463300c.tar.bz2 passt-c16141eda5e8473a11ffbca82e1d6142d463300c.tar.lz passt-c16141eda5e8473a11ffbca82e1d6142d463300c.tar.xz passt-c16141eda5e8473a11ffbca82e1d6142d463300c.tar.zst passt-c16141eda5e8473a11ffbca82e1d6142d463300c.zip |
ndp.c: Turn NDP responder into more declarative implementation
- Add structs for NA, RA, NS, MTU, prefix info, option header,
link-layer address, RDNSS, DNSSL and link-layer for RA message.
- Turn NA message from purely imperative, going byte by byte,
to declarative by filling it's struct.
- Turn part of RA message into declarative.
- Move packet_add() to be before the call of ndp() in tap6_handler()
if the protocol of the packet is ICMPv6.
- Add a pool of packets as an additional parameter to ndp().
- Check the size of NS packet with packet_get() before sending an NA
packet.
- Add documentation for the structs.
- Add an enum for NDP option types.
Link: https://bugs.passt.top/show_bug.cgi?id=21
Signed-off-by: AbdAlRahman Gad <abdobngad@gmail.com>
[sbrivio: Minor coding style fixes]
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'ndp.h')
-rw-r--r-- | ndp.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -6,6 +6,7 @@ #ifndef NDP_H #define NDP_H -int ndp(struct ctx *c, const struct icmp6hdr *ih, const struct in6_addr *saddr); +int ndp(struct ctx *c, const struct icmp6hdr *ih, const struct in6_addr *saddr, + const struct pool *p); #endif /* NDP_H */ |