#include <vnet/vxlan/vxlan_packet.h>
#include <vnet/ip/ip4_packet.h>
#include <vnet/ip/ip6_packet.h>
-#include <vnet/ip/udp.h>
+#include <vnet/udp/udp.h>
#include <vnet/dpo/dpo.h>
#include <vnet/adj/adj_types.h>
/* FIB DPO for IP forwarding of VXLAN encap packet */
dpo_id_t next_dpo;
- /* storage for the hash key */
- union {
- vxlan4_tunnel_key_t *key4; /* unused for now */
- vxlan6_tunnel_key_t *key6;
- };
-
/* vxlan VNI in HOST byte order */
u32 vni;
VXLAN_N_ERROR,
} vxlan_input_error_t;
-typedef struct {
- ip46_address_t * ip;
- fib_node_index_t fib_entry_index;
- adj_index_t mcast_adj_index;
-} mcast_remote_t;
-
typedef struct {
/* vector of encap tunnel instances */
vxlan_tunnel_t * tunnels;
uword * vtep4; /* local ip4 VTEPs keyed on their ip4 addr */
uword * vtep6; /* local ip6 VTEPs keyed on their ip6 addr */
- /* set of active remote mcast VTEP */
- mcast_remote_t * mcast_eps;
- uword * mcast_ep_by_ip; /* mcast VTEPs keyed on their ip46 addr */
+ /* mcast shared info */
+ uword * mcast_shared; /* keyed on mcast ip46 addr */
/* Free vlib hw_if_indices */
u32 * free_vxlan_tunnel_hw_if_indices;
vnet_main_t * vnet_main;
} vxlan_main_t;
-vxlan_main_t vxlan_main;
+extern vxlan_main_t vxlan_main;
extern vlib_node_registration_t vxlan4_input_node;
extern vlib_node_registration_t vxlan6_input_node;
int vnet_vxlan_add_del_tunnel
(vnet_vxlan_add_del_tunnel_args_t *a, u32 * sw_if_indexp);
+void vnet_int_vxlan_bypass_mode
+(u32 sw_if_index, u8 is_ip6, u8 is_enable);
#endif /* included_vnet_vxlan_h */