summaryrefslogtreecommitdiffstats
path: root/vnet/vnet/vxlan/vxlan.h
diff options
context:
space:
mode:
authorJohn Lo <loj@cisco.com>2016-11-30 12:51:39 -0500
committerJohn Lo <loj@cisco.com>2016-12-01 19:34:12 +0000
commit37682e1237f83f0f84cdc4f9f92aa74d8fe3c139 (patch)
tree0ca723a11ab786245df26895365521b3f2fae11f /vnet/vnet/vxlan/vxlan.h
parent436d06b1c7d00e8c30ab055560724285a017290b (diff)
Add vxlan-bypass feature to IP4 forwarding path
Added vxlan-bypass feature which can be enabled on the underlay interface which receive VXLAN packets to accelerate VXLAN decap processing. The CLI to enable it is: set interface ip vxlan-bypass <interface> [del] With this feature enabled on an interface, there is an overhead for non-VXLAN packets at about 13 clocks per packet. The API is created to support vxlan-bypass for both VXLANoIPv4 and VXLANoIPv6. With this change, vxlan-bypass is only implemented for IPv4 forwarding path. Change-Id: Ica7239f642010b231eade7fd5009aa4b42c119d3 Signed-off-by: John Lo <loj@cisco.com>
Diffstat (limited to 'vnet/vnet/vxlan/vxlan.h')
-rw-r--r--vnet/vnet/vxlan/vxlan.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/vnet/vnet/vxlan/vxlan.h b/vnet/vnet/vxlan/vxlan.h
index 28ce2a93f22..3041df27dcc 100644
--- a/vnet/vnet/vxlan/vxlan.h
+++ b/vnet/vnet/vxlan/vxlan.h
@@ -141,6 +141,11 @@ typedef struct {
uword * vxlan4_tunnel_by_key; /* keyed on ipv4.dst + vni */
uword * vxlan6_tunnel_by_key; /* keyed on ipv6.dst + vni */
+ /* local VTEP IPs used by vxlan-bypass node to check if received
+ VXLAN packet DIP matches any local VTEP address */
+ uword * vtep4; /* local ip4 VTEPs keyed on their ip4 addr */
+ uword * vtep6; /* local ip6 VTEPs keyed on their ip6 addr */
+
/* Free vlib hw_if_indices */
u32 * free_vxlan_tunnel_hw_if_indices;