summaryrefslogtreecommitdiff
path: root/pimd/pim_igmp_mtrace.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2021-03-15 11:12:38 -0400
committerDonald Sharp <sharpd@nvidia.com>2021-03-15 11:46:44 -0400
commit531d4171c7c1cc3b490f78ce208267a32b5a8cbe (patch)
tree9b044ffbdafd5d1e9e83aec83968f68668ae5573 /pimd/pim_igmp_mtrace.c
parentd588b995f938a5c2b81e2763b8b0cfc4a8659e0f (diff)
pimd: Fix clang issue with -Waddress-of-packed-member
Recent change in commit: 6b73800ba27e7f69453a191dfb873c2e07194516 Caused this error to pop up in pim_igmp_mtrace.c: error: taking address of packed member 'rsp_addr' of class or structure 'igmp_mtrace' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member] Follow the pattern used in the code to solve this problem for clang Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'pimd/pim_igmp_mtrace.c')
-rw-r--r--pimd/pim_igmp_mtrace.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/pimd/pim_igmp_mtrace.c b/pimd/pim_igmp_mtrace.c
index 5223fcf311..d36a275f85 100644
--- a/pimd/pim_igmp_mtrace.c
+++ b/pimd/pim_igmp_mtrace.c
@@ -192,11 +192,14 @@ static void mtrace_rsp_init(struct igmp_mtrace_rsp *mtrace_rspp)
static void mtrace_rsp_debug(uint32_t qry_id, int rsp,
struct igmp_mtrace_rsp *mrspp)
{
+ struct in_addr incoming = mrspp->incoming;
+ struct in_addr outgoing = mrspp->outgoing;
+ struct in_addr prev_hop = mrspp->prev_hop;
+
zlog_debug(
"Rx mt(%d) qid=%ud arr=%x in=%pI4 out=%pI4 prev=%pI4 proto=%d fwd=%d",
- rsp, ntohl(qry_id), mrspp->arrival, &mrspp->incoming,
- &mrspp->outgoing, &mrspp->prev_hop, mrspp->rtg_proto,
- mrspp->fwd_code);
+ rsp, ntohl(qry_id), mrspp->arrival, &incoming, &outgoing,
+ &prev_hop, mrspp->rtg_proto, mrspp->fwd_code);
}
static void mtrace_debug(struct pim_interface *pim_ifp,
@@ -269,10 +272,11 @@ static int mtrace_send_packet(struct interface *ifp,
if (PIM_DEBUG_MTRACE) {
struct in_addr if_addr;
+ struct in_addr rsp_addr = mtracep->rsp_addr;
if_addr = mtrace_primary_address(ifp);
- zlog_debug("Sending mtrace packet to %pI4 on %pI4",
- &mtracep->rsp_addr, &if_addr);
+ zlog_debug("Sending mtrace packet to %pI4 on %pI4", &rsp_addr,
+ &if_addr);
}
fd = pim_socket_raw(IPPROTO_IGMP);
@@ -487,9 +491,11 @@ static int mtrace_send_mc_response(struct pim_instance *pim,
if (c_oil == NULL) {
if (PIM_DEBUG_MTRACE) {
+ struct in_addr rsp_addr = mtracep->rsp_addr;
+
zlog_debug(
"Dropping mtrace multicast response packet len=%u to %pI4",
- (unsigned int)mtrace_len, &mtracep->rsp_addr);
+ (unsigned int)mtrace_len, &rsp_addr);
}
return -1;
}
@@ -532,9 +538,11 @@ static int mtrace_send_response(struct pim_instance *pim,
p_rpf = pim_rp_g(pim, mtracep->rsp_addr);
if (p_rpf == NULL) {
- if (PIM_DEBUG_MTRACE)
- zlog_debug("mtrace no RP for %pI4",
- &mtracep->rsp_addr);
+ if (PIM_DEBUG_MTRACE) {
+ struct in_addr rsp_addr = mtracep->rsp_addr;
+
+ zlog_debug("mtrace no RP for %pI4", &rsp_addr);
+ }
return -1;
}
nexthop = p_rpf->source_nexthop;