From: Anuradha Karuppiah Date: Mon, 25 Mar 2019 00:15:39 +0000 (-0700) Subject: pimd: use VTEP-PIP as pim-register's ip header SIP X-Git-Tag: 7.1_pulled~55^2~10 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=d9e75668b64ae564fc4f16296e6dcbf1536c2c34;p=mirror%2Ffrr.git pimd: use VTEP-PIP as pim-register's ip header SIP The unique physical IP is used as the SIP in the ip header to ensure that pim-register-stop makes it back to the right MLAG switch. Signed-off-by: Anuradha Karuppiah --- diff --git a/pimd/pim_register.c b/pimd/pim_register.c index 372b7ba995..431236eebe 100644 --- a/pimd/pim_register.c +++ b/pimd/pim_register.c @@ -258,6 +258,15 @@ void pim_null_register_send(struct pim_upstream *up) /* checksum is broken */ src = pim_ifp->primary_address; + if (PIM_UPSTREAM_FLAG_TEST_SRC_VXLAN_ORIG(up->flags)) { + if (!pim_vxlan_get_register_src(pim_ifp->pim, up, &src)) { + if (PIM_DEBUG_TRACE) + zlog_debug( + "%s: Cannot send null-register for %s vxlan-aa PIP unavailable", + __PRETTY_FUNCTION__, up->sg_str); + return; + } + } pim_register_send((uint8_t *)&ip_hdr, sizeof(struct ip), src, rpg, 1, up); }