From dc0d4ec817e9f243518898206dbf4fb06d5ce60c Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 12 Jan 2021 16:53:22 +0100 Subject: [PATCH] ndisc: add comment and static assert for struct sizes for ndisc packet layout Obviously, there is no change in behavior. It's just an assertion. (cherry picked from commit 96d7ddc8652074d2e8a86042a90e10f127a0748a) --- src/ndisc/nm-lndp-ndisc.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/ndisc/nm-lndp-ndisc.c b/src/ndisc/nm-lndp-ndisc.c index 22695c32db..c302f3b2c1 100644 --- a/src/ndisc/nm-lndp-ndisc.c +++ b/src/ndisc/nm-lndp-ndisc.c @@ -333,7 +333,12 @@ _ndp_msg_add_option(struct ndp_msg *msg, int len) return ret; } +/*****************************************************************************/ + +/* "Recursive DNS Server Option" at https://tools.ietf.org/html/rfc8106#section-5.1 */ + #define NM_ND_OPT_RDNSS 25 + typedef struct { struct nd_opt_hdr header; uint16_t reserved; @@ -341,7 +346,14 @@ typedef struct { struct in6_addr addrs[0]; } NMLndpRdnssOption; +G_STATIC_ASSERT(sizeof(NMLndpRdnssOption) == 8u); + +/*****************************************************************************/ + +/* "DNS Search List Option" at https://tools.ietf.org/html/rfc8106#section-5.2 */ + #define NM_ND_OPT_DNSSL 31 + typedef struct { struct nd_opt_hdr header; uint16_t reserved; @@ -349,6 +361,10 @@ typedef struct { char search_list[0]; } NMLndpDnsslOption; +G_STATIC_ASSERT(sizeof(NMLndpDnsslOption) == 8u); + +/*****************************************************************************/ + static gboolean send_ra(NMNDisc *ndisc, GError **error) {