summaryrefslogtreecommitdiffstats
path: root/pimd/pim_vxlan.c
diff options
context:
space:
mode:
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2019-04-06 16:52:11 +0200
committerAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2019-04-20 17:33:23 +0200
commit5121278ecc8cda567c7b3b10f28f98fe016441e4 (patch)
treeb0795102792ba70ba5722f356e45195022c4260d /pimd/pim_vxlan.c
parentpimd: hidden command to set MLAG parameters (diff)
downloadfrr-5121278ecc8cda567c7b3b10f28f98fe016441e4.tar.xz
frr-5121278ecc8cda567c7b3b10f28f98fe016441e4.zip
pimd: create pimreg implicity if ipmr-lo is the first pim device
On the first pim interface creation pimreg needs to be implicitly created. Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_vxlan.c')
-rw-r--r--pimd/pim_vxlan.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pimd/pim_vxlan.c b/pimd/pim_vxlan.c
index fbc9adaf2..a4a6ce692 100644
--- a/pimd/pim_vxlan.c
+++ b/pimd/pim_vxlan.c
@@ -960,11 +960,16 @@ void pim_vxlan_add_term_dev(struct pim_instance *pim,
/* enable pim on the term ifp */
pim_ifp = (struct pim_interface *)ifp->info;
- if (pim_ifp)
+ if (pim_ifp) {
PIM_IF_DO_PIM(pim_ifp->options);
- else
+ } else {
pim_ifp = pim_if_new(ifp, false /*igmp*/, true /*pim*/,
false /*pimreg*/, true /*vxlan_term*/);
+ /* ensure that pimreg existss before using the newly created
+ * vxlan termination device
+ */
+ pim_if_create_pimreg(pim);
+ }
pim->vxlan.term_if = ifp;
hash_iterate(pim_ifp->pim->vxlan.sg_hash,