GBP: learn from ARP and L2 packets
[vpp.git] / src / plugins / gbp / gbp_vxlan.h
index acf5f4b..908abc2 100644 (file)
@@ -82,6 +82,11 @@ typedef struct gbp_vxlan_tunnel_t_
    * list of child vxlan-gbp tunnels built from this template
    */
   index_t *gt_tuns;
+
+  /**
+   * The source address to use for child tunnels
+   */
+  ip46_address_t gt_src;
 } gbp_vxlan_tunnel_t;
 
 /**
@@ -103,7 +108,9 @@ typedef enum gbp_vxlan_tunnel_type_t_
 } gbp_vxlan_tunnel_type_t;
 
 extern int gbp_vxlan_tunnel_add (u32 vni, gbp_vxlan_tunnel_layer_t layer,
-                                u32 bd_rd_id, u32 * sw_if_indexp);
+                                u32 bd_rd_id,
+                                const ip4_address_t * src,
+                                u32 * sw_if_indexp);
 extern int gbp_vxlan_tunnel_del (u32 vni);
 
 extern gbp_vxlan_tunnel_type_t gbp_vxlan_tunnel_get_type (u32 sw_if_index);