summaryrefslogtreecommitdiff
path: root/pimd/pim_vty.c
diff options
context:
space:
mode:
authoranuradhak <anuradhak@cumulusnetworks.com>2016-11-18 16:19:26 -0800
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-12-21 20:26:16 -0500
commit4763cd0ed51565db9bc32eeadee8b91c12eb3623 (patch)
treed856f00b82fa030ff839a6811e2e8ea9c496ccfd /pimd/pim_vty.c
parent18e565fd96f69d7dd445d1c5c07dd7a0dfafd6f9 (diff)
pim-anycast-rp: Support in BGP unnumbered networks.
Anycast rp requires multiple ip addresses on the lo. If PIM is used in an unnumbered BGP network it picks one of the lo addresses as the pim-primary for the swp interfaces. But if the anycast IP is picked up by both sides pim nbr will never converge. So a static "use-source" config is provided to allow the administrator to force the the hello source to the unique IP address. Sample output: ============= dell-s6000-04(config-if)# do show running-config pimd >>>>>> SNIPPED >>>>>>>>>>>>>>>>> interface lo ip pim sm ip pim use-source 100.1.1.5 ! >>>>>> SNIPPED >>>>>>>>>>>>>>>>> dell-s6000-04(config-if)# do show ip pim interface lo Interface : lo State : up Use Source : 100.1.1.5 Address : 100.1.1.5 (primary) 100.1.1.100 >>>>>> SNIPPED >>>>>>>>>>>>>>>>> dell-s6000-04(config-if)# do show ip pim interface lo json { "lo":{ "name":"lo", "state":"up", "address":"100.1.1.5", "index":1, "lanDelayEnabled":true, "useSource":"100.1.1.5", "secondaryAddressList":[ "100.1.1.100" ], >>>>>> SNIPPED >>>>>>>>>>>>>>>>> Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_vty.c')
-rw-r--r--pimd/pim_vty.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/pimd/pim_vty.c b/pimd/pim_vty.c
index 527ca5a507..38cefe7619 100644
--- a/pimd/pim_vty.c
+++ b/pimd/pim_vty.c
@@ -230,6 +230,15 @@ int pim_interface_config_write(struct vty *vty)
vty_out(vty, "%s", VTY_NEWLINE);
}
+ /* update source */
+ if (PIM_INADDR_ISNOT_ANY(pim_ifp->update_source)) {
+ char src_str[INET_ADDRSTRLEN];
+ pim_inet4_dump("<src?>", pim_ifp->update_source, src_str,
+ sizeof(src_str));
+ vty_out(vty, " ip pim use-source %s%s", src_str, VTY_NEWLINE);
+ ++writes;
+ }
+
/* IF ip igmp */
if (PIM_IF_TEST_IGMP(pim_ifp->options)) {
vty_out(vty, " ip igmp%s", VTY_NEWLINE);