mirror of
https://passt.top/passt
synced 2025-06-28 16:25:35 +02:00
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>
This commit is contained in:
parent
f6d5a52392
commit
c16141eda5
3 changed files with 244 additions and 77 deletions
3
ndp.h
3
ndp.h
|
@ -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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue