Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vxlan:offload RX flow
[vpp.git]
/
src
/
vnet
/
vxlan
/
vxlan.h
diff --git
a/src/vnet/vxlan/vxlan.h
b/src/vnet/vxlan/vxlan.h
index
e50ff6b
..
0f226aa
100644
(file)
--- a/
src/vnet/vxlan/vxlan.h
+++ b/
src/vnet/vxlan/vxlan.h
@@
-66,8
+66,8
@@
typedef CLIB_PACKED(struct {
}) vxlan6_tunnel_key_t;
typedef struct {
}) vxlan6_tunnel_key_t;
typedef struct {
- /* Re
write string. $$$$ embed vnet_rewrite header
*/
-
u8 * rewrite
;
+ /* Re
quired for pool_get_aligned
*/
+
CLIB_CACHE_LINE_ALIGN_MARK(cacheline0)
;
/* FIB DPO for IP forwarding of VXLAN encap packet */
dpo_id_t next_dpo;
/* FIB DPO for IP forwarding of VXLAN encap packet */
dpo_id_t next_dpo;
@@
-112,8
+112,11
@@
typedef struct {
*/
u32 sibling_index;
*/
u32 sibling_index;
+ u32 flow_index; /* infra flow index */
u32 dev_instance; /* Real device instance in tunnel vector */
u32 user_instance; /* Instance name being shown to user */
u32 dev_instance; /* Real device instance in tunnel vector */
u32 user_instance; /* Instance name being shown to user */
+
+ vnet_declare_rewrite (VLIB_BUFFER_PRE_DATA_SIZE);
} vxlan_tunnel_t;
#define foreach_vxlan_input_next \
} vxlan_tunnel_t;
#define foreach_vxlan_input_next \
@@
-150,9
+153,6
@@
typedef struct {
/* mcast shared info */
uword * mcast_shared; /* keyed on mcast 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;
-
/* Mapping from sw_if_index to tunnel index */
u32 * tunnel_index_by_sw_if_index;
/* Mapping from sw_if_index to tunnel index */
u32 * tunnel_index_by_sw_if_index;
@@
-162,6
+162,7
@@
typedef struct {
/* Record used instances */
uword *instance_used;
/* Record used instances */
uword *instance_used;
+ u32 flow_id_start;
} vxlan_main_t;
extern vxlan_main_t vxlan_main;
} vxlan_main_t;
extern vxlan_main_t vxlan_main;
@@
-170,6
+171,7
@@
extern vlib_node_registration_t vxlan4_input_node;
extern vlib_node_registration_t vxlan6_input_node;
extern vlib_node_registration_t vxlan4_encap_node;
extern vlib_node_registration_t vxlan6_encap_node;
extern vlib_node_registration_t vxlan6_input_node;
extern vlib_node_registration_t vxlan4_encap_node;
extern vlib_node_registration_t vxlan6_encap_node;
+extern vlib_node_registration_t vxlan4_flow_input_node;
u8 * format_vxlan_encap_trace (u8 * s, va_list * args);
u8 * format_vxlan_encap_trace (u8 * s, va_list * args);
@@
-192,6
+194,11
@@
int vnet_vxlan_add_del_tunnel
void vnet_int_vxlan_bypass_mode
(u32 sw_if_index, u8 is_ip6, u8 is_enable);
void vnet_int_vxlan_bypass_mode
(u32 sw_if_index, u8 is_ip6, u8 is_enable);
+
+int vnet_vxlan_add_del_rx_flow
+(u32 hw_if_index, u32 t_imdex, int is_add);
+
+u32 vnet_vxlan_get_tunnel_index (u32 sw_if_index);
#endif /* included_vnet_vxlan_h */
/*
#endif /* included_vnet_vxlan_h */
/*