diff options
author | Damjan Marion <damarion@cisco.com> | 2017-11-21 13:12:41 +0100 |
---|---|---|
committer | Damjan Marion <damarion@cisco.com> | 2017-11-21 13:44:22 +0100 |
commit | bd846cdc5d99260274a02e9bb474211ef32d031c (patch) | |
tree | 2c43a561a4c80ed332d571d61f6abc47990b2aad /src/vnet/devices | |
parent | dff48db0782444125f68cab14d91e7bb4109286a (diff) |
dpdk: add l2_hdr_offset and l3_hdr_offset in vlib_buffer_t
Change-Id: I0a6d1257e391c3b6f7da6498bd5f7d4c545d17e9
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/vnet/devices')
-rw-r--r-- | src/vnet/devices/devices.c | 10 | ||||
-rw-r--r-- | src/vnet/devices/devices.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/vnet/devices/devices.c b/src/vnet/devices/devices.c index a38ecd2d1bb..99011dabc7a 100644 --- a/src/vnet/devices/devices.c +++ b/src/vnet/devices/devices.c @@ -52,6 +52,16 @@ device_input_next_node_advance[((VNET_DEVICE_INPUT_N_NEXT_NODES / [VNET_DEVICE_INPUT_NEXT_MPLS_INPUT] = sizeof (ethernet_header_t), }; +const u32 __attribute__((aligned (CLIB_CACHE_LINE_BYTES))) +device_input_next_node_flags[((VNET_DEVICE_INPUT_N_NEXT_NODES / + CLIB_CACHE_LINE_BYTES) +1) * CLIB_CACHE_LINE_BYTES] = +{ + [VNET_DEVICE_INPUT_NEXT_IP4_INPUT] = VNET_BUFFER_F_L3_HDR_OFFSET_VALID, + [VNET_DEVICE_INPUT_NEXT_IP4_NCS_INPUT] = VNET_BUFFER_F_L3_HDR_OFFSET_VALID, + [VNET_DEVICE_INPUT_NEXT_IP6_INPUT] = VNET_BUFFER_F_L3_HDR_OFFSET_VALID, + [VNET_DEVICE_INPUT_NEXT_MPLS_INPUT] = VNET_BUFFER_F_L3_HDR_OFFSET_VALID, +}; + VNET_FEATURE_ARC_INIT (device_input, static) = { .arc_name = "device-input", diff --git a/src/vnet/devices/devices.h b/src/vnet/devices/devices.h index b74e3713dfc..c303cb67b40 100644 --- a/src/vnet/devices/devices.h +++ b/src/vnet/devices/devices.h @@ -73,6 +73,7 @@ typedef struct extern vnet_device_main_t vnet_device_main; extern vlib_node_registration_t device_input_node; extern const u32 device_input_next_node_advance[]; +extern const u32 device_input_next_node_flags[]; static inline void vnet_hw_interface_set_input_node (vnet_main_t * vnm, u32 hw_if_index, |