Commit a3b7d72b93 for frr
commit a3b7d72b938d4bb270d6cae55b29f744ccfc7b19
Author: Martin Winter <mwinter@opensourcerouting.org>
Date: Wed Sep 30 20:43:30 2026 +0200
pimd: fix FreeBSD 15 build with packed struct ip members
FreeBSD fix which ships with a newer clang compiler.
It declares struct ip as packed, so clang rejects taking the
address of ip_src/ip_dst (-Waddress-of-packed-member, fatal with
--enable-werror). Copy the addresses into locals before logging them,
as is already done for the Router Alert debug message above.
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
diff --git a/pimd/pim_igmp.c b/pimd/pim_igmp.c
index e8c1f7e1fe..90ab4d7bf9 100644
--- a/pimd/pim_igmp.c
+++ b/pimd/pim_igmp.c
@@ -783,9 +783,12 @@ int pim_igmp_packet(struct gm_sock *igmp, char *buf, size_t len)
msg_type = *igmp_msg;
if (PIM_DEBUG_GM_PACKETS) {
+ struct in_addr srcaddr = ip_hdr->ip_src;
+ struct in_addr dstaddr = ip_hdr->ip_dst;
+
zlog_debug("Recv IGMP packet from %pI4s to %pI4s on %s: size=%zu ttl=%d msg_type=%d msg_size=%d",
- &ip_hdr->ip_src, &ip_hdr->ip_dst, igmp->interface->name, len,
- ip_hdr->ip_ttl, msg_type, igmp_msg_len);
+ &srcaddr, &dstaddr, igmp->interface->name, len, ip_hdr->ip_ttl,
+ msg_type, igmp_msg_len);
}
switch (msg_type) {