diff options
Diffstat (limited to 'zebra/zebra_l2.h')
-rw-r--r-- | zebra/zebra_l2.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/zebra/zebra_l2.h b/zebra/zebra_l2.h index 183443028..6572f344c 100644 --- a/zebra/zebra_l2.h +++ b/zebra/zebra_l2.h @@ -54,6 +54,18 @@ struct zebra_l2info_vlan { vlanid_t vid; /* VLAN id */ }; +/* zebra L2 interface information - GRE interface */ +struct zebra_l2info_gre { + struct in_addr vtep_ip; /* IFLA_GRE_LOCAL */ + struct in_addr vtep_ip_remote; /* IFLA_GRE_REMOTE */ + uint32_t ikey; + uint32_t okey; + ifindex_t ifindex_link; /* Interface index of interface + * linked with GRE + */ + ns_id_t link_nsid; +}; + /* zebra L2 interface information - VXLAN interface */ struct zebra_l2info_vxlan { vni_t vni; /* VNI */ @@ -75,6 +87,7 @@ union zebra_l2if_info { struct zebra_l2info_bridge br; struct zebra_l2info_vlan vl; struct zebra_l2info_vxlan vxl; + struct zebra_l2info_gre gre; }; /* NOTE: These macros are to be invoked only in the "correct" context. @@ -96,11 +109,15 @@ extern void zebra_l2_bridge_add_update(struct interface *ifp, extern void zebra_l2_bridge_del(struct interface *ifp); extern void zebra_l2_vlanif_update(struct interface *ifp, struct zebra_l2info_vlan *vlan_info); +extern void zebra_l2_greif_add_update(struct interface *ifp, + struct zebra_l2info_gre *vxlan_info, + int add); extern void zebra_l2_vxlanif_add_update(struct interface *ifp, struct zebra_l2info_vxlan *vxlan_info, int add); extern void zebra_l2_vxlanif_update_access_vlan(struct interface *ifp, vlanid_t access_vlan); +extern void zebra_l2_greif_del(struct interface *ifp); extern void zebra_l2_vxlanif_del(struct interface *ifp); extern void zebra_l2if_update_bridge_slave(struct interface *ifp, ifindex_t bridge_ifindex, |