]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: header changes to cache MLAG information needed for pim-vxlan
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>
Fri, 22 Mar 2019 17:22:42 +0000 (10:22 -0700)
committerAnuradha Karuppiah <anuradhak@cumulusnetworks.com>
Sat, 20 Apr 2019 15:33:22 +0000 (08:33 -0700)
This information will come in from a MLAG component. Hidden commands
will also be provided for testing the interface independent of the
separate MLAG component.

PS: It is possible that this cache will be merged with the base
pim-mlag datastructures once they are available.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
pimd/pim_vxlan.h

index 4725d962644dabf41e4c6edd4c639e7e7c94ab9f..383adb6d9800ed0242a13678703cfc8490efa9f2 100644 (file)
@@ -54,6 +54,29 @@ struct pim_vxlan_sg {
        struct interface *orig_oif;
 };
 
+enum pim_vxlan_mlag_flags {
+       PIM_VXLAN_MLAGF_NONE = 0,
+       PIM_VXLAN_MLAGF_ENABLED = (1 << 0)
+};
+
+enum pim_vxlan_mlag_role {
+       PIM_VXLAN_MLAG_ROLE_SECONDARY = 0,
+       PIM_VXLAN_MLAG_ROLE_PRIMARY
+};
+
+struct pim_vxlan_mlag {
+       enum pim_vxlan_mlag_flags flags;
+       enum pim_vxlan_mlag_role role;
+       bool peer_state;
+       /* routed interface setup on top of MLAG peerlink */
+       struct interface *peerlink_rif;
+       struct in_addr reg_addr;
+};
+
+struct pim_vxlan {
+       struct pim_vxlan_mlag mlag;
+};
+
 extern struct pim_vxlan_sg *pim_vxlan_sg_find(struct pim_instance *pim,
                                            struct prefix_sg *sg);
 extern struct pim_vxlan_sg *pim_vxlan_sg_add(struct pim_instance *pim,