summaryrefslogtreecommitdiff
path: root/zebra/zebra_vxlan_if.h
diff options
context:
space:
mode:
authorsharathr <sharathr@cumulusnetworks.com>2021-10-19 04:01:50 -0700
committerStephen Worley <sworley@nvidia.com>2023-02-13 18:12:05 -0500
commite41db2405612b197714c67f83aea650efa88d53e (patch)
tree671d1b9ec474ff18e83cdd8296731f3247dfc84a /zebra/zebra_vxlan_if.h
parent00d30205eff94a0940e895ea0558355b48de0574 (diff)
zebra: Fix for mcast-group update and delete per vni for svd
Ticket: 2698649 Testing Done: precommit and evpn-min Problem: When the mcast-group is updated, the changes were being read from the netlink and populated by zebra, but when kernel sends the delete of fdb delete for the group, we are deleting the mcast-group that we newly updated. This is because, currently we blindly reset the mcast-group during fdb delete without checking for mcast-group associated to the vni. Fix is to separate add/update and delete mcast-group functions and to check for mcast-group before resetting during delete. Signed-off-by: sramamurthy <sramamurthy@nvidia.com>
Diffstat (limited to 'zebra/zebra_vxlan_if.h')
-rw-r--r--zebra/zebra_vxlan_if.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/zebra/zebra_vxlan_if.h b/zebra/zebra_vxlan_if.h
index 7d2ddb2d8d..8a03acbf1e 100644
--- a/zebra/zebra_vxlan_if.h
+++ b/zebra/zebra_vxlan_if.h
@@ -64,9 +64,12 @@ extern void zebra_vxlan_if_vni_walk(struct zebra_if *zif,
void *arg);
extern vni_t zebra_vxlan_if_access_vlan_vni_find(struct zebra_if *zif,
struct interface *br_if);
-extern int zebra_vxlan_if_vni_mcast_group_update(struct interface *ifp,
- vni_t vni_id,
- struct in_addr *mcast_group);
+extern int
+zebra_vxlan_if_vni_mcast_group_add_update(struct interface *ifp, vni_t vni_id,
+ struct in_addr *mcast_group);
+extern int zebra_vxlan_if_vni_mcast_group_del(struct interface *ifp,
+ vni_t vni_id,
+ struct in_addr *mcast_group);
extern int zebra_vxlan_if_vni_down(struct interface *ifp,
struct zebra_vxlan_vni *vni);
extern int zebra_vxlan_if_down(struct interface *ifp);