From: Anuradha Karuppiah Date: Mon, 18 Mar 2019 19:35:45 +0000 (-0700) Subject: zebra: header changes for l2 vni bum-mcast-grp handling X-Git-Tag: 7.1_pulled~55^2~48 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=3d434f5c3f511c55cd16b7e120521353673013bd;p=matthieu%2Ffrr.git zebra: header changes for l2 vni bum-mcast-grp handling The multicast group ip address for BUM traffic is configurable per-l2-vni. One way to configure that is to setup a vxlan device that per-l2-vni and specify the address against that vxlan device - root@TORS1:~# vtysh -c "show interface vx-1000" |grep -i vxlan Interface Type Vxlan VxLAN Id 1000 VTEP IP: 27.0.0.15 Access VLAN Id 1000 Mcast 239.1.1.100 root@TORS1:~# vtysh -c "show evpn vni 1000" |grep Mcast Mcast group: 239.1.1.100 root@TORS1:~# Signed-off-by: Anuradha Karuppiah --- diff --git a/zebra/zebra_l2.h b/zebra/zebra_l2.h index 2e3e5b4a85..33aa2e3746 100644 --- a/zebra/zebra_l2.h +++ b/zebra/zebra_l2.h @@ -54,6 +54,7 @@ struct zebra_l2info_vxlan { vni_t vni; /* VNI */ struct in_addr vtep_ip; /* Local tunnel IP */ vlanid_t access_vlan; /* Access VLAN - for VLAN-aware bridge. */ + struct in_addr mcast_grp; }; struct zebra_l2info_bondslave { diff --git a/zebra/zebra_vxlan.h b/zebra/zebra_vxlan.h index 2ff92970d7..f752bdd690 100644 --- a/zebra/zebra_vxlan.h +++ b/zebra/zebra_vxlan.h @@ -60,9 +60,11 @@ is_vxlan_flooding_head_end(void) } /* VxLAN interface change flags of interest. */ -#define ZEBRA_VXLIF_LOCAL_IP_CHANGE 0x1 -#define ZEBRA_VXLIF_MASTER_CHANGE 0x2 -#define ZEBRA_VXLIF_VLAN_CHANGE 0x4 +#define ZEBRA_VXLIF_LOCAL_IP_CHANGE (1 << 0) +#define ZEBRA_VXLIF_MASTER_CHANGE (1 << 1) +#define ZEBRA_VXLIF_VLAN_CHANGE (1 << 2) +#define ZEBRA_VXLIF_MCAST_GRP_CHANGE (1 << 3) + #define VNI_STR_LEN 32 diff --git a/zebra/zebra_vxlan_private.h b/zebra/zebra_vxlan_private.h index 5081c08d19..96e135c188 100644 --- a/zebra/zebra_vxlan_private.h +++ b/zebra/zebra_vxlan_private.h @@ -87,6 +87,9 @@ struct zebra_vni_t_ { /* Local IP */ struct in_addr local_vtep_ip; + /* PIM-SM MDT group for BUM flooding */ + struct in_addr mcast_grp; + /* tenant VRF, if any */ vrf_id_t vrf_id;