diff options
Diffstat (limited to 'src/vnet')
-rw-r--r-- | src/vnet/buffer.h | 3 | ||||
-rw-r--r-- | src/vnet/feature/feature.h | 18 | ||||
-rw-r--r-- | src/vnet/interface_output.c | 10 | ||||
-rw-r--r-- | src/vnet/ip/ip4_input.h | 6 | ||||
-rw-r--r-- | src/vnet/ip/ip4_reassembly.c | 4 | ||||
-rw-r--r-- | src/vnet/ip/ip6_reassembly.c | 5 | ||||
-rw-r--r-- | src/vnet/pg/input.c | 2 |
7 files changed, 24 insertions, 24 deletions
diff --git a/src/vnet/buffer.h b/src/vnet/buffer.h index 86f75389d70..dfb05ac0b17 100644 --- a/src/vnet/buffer.h +++ b/src/vnet/buffer.h @@ -116,7 +116,8 @@ typedef struct i16 l2_hdr_offset; i16 l3_hdr_offset; i16 l4_hdr_offset; - u16 dont_waste_me; + u8 feature_arc_index; + u8 dont_waste_me; union { diff --git a/src/vnet/feature/feature.h b/src/vnet/feature/feature.h index f6b1d12b055..ce9e2ca3570 100644 --- a/src/vnet/feature/feature.h +++ b/src/vnet/feature/feature.h @@ -204,7 +204,7 @@ vnet_feature_arc_start_with_data (u8 arc, u32 sw_if_index, u32 * next, if (PREDICT_FALSE (vnet_have_features (arc, sw_if_index))) { - b->feature_arc_index = arc; + vnet_buffer (b)->feature_arc_index = arc; b->current_config_index = vec_elt (cm->config_index_by_sw_if_index, sw_if_index); return vnet_get_config_data (&cm->config_main, &b->current_config_index, @@ -225,7 +225,7 @@ vnet_feature_next_with_data (u32 sw_if_index, u32 * next0, vlib_buffer_t * b0, u32 n_data_bytes) { vnet_feature_main_t *fm = &feature_main; - u8 arc = b0->feature_arc_index; + u8 arc = vnet_buffer (b0)->feature_arc_index; vnet_feature_config_main_t *cm = &fm->feature_config_mains[arc]; return vnet_get_config_data (&cm->config_main, @@ -270,7 +270,7 @@ vnet_feature_start_device_input_x1 (u32 sw_if_index, u32 * next0, vnet_buffer (b0)->device_input_feat.buffer_advance = adv; vlib_buffer_advance (b0, -adv); - b0->feature_arc_index = feature_arc_index; + vnet_buffer (b0)->feature_arc_index = feature_arc_index; b0->current_config_index = vec_elt (cm->config_index_by_sw_if_index, sw_if_index); vnet_get_config_data (&cm->config_main, &b0->current_config_index, @@ -309,8 +309,8 @@ vnet_feature_start_device_input_x2 (u32 sw_if_index, vnet_buffer (b1)->device_input_feat.buffer_advance = adv; vlib_buffer_advance (b1, -adv); - b0->feature_arc_index = feature_arc_index; - b1->feature_arc_index = feature_arc_index; + vnet_buffer (b0)->feature_arc_index = feature_arc_index; + vnet_buffer (b1)->feature_arc_index = feature_arc_index; b0->current_config_index = vec_elt (cm->config_index_by_sw_if_index, sw_if_index); b1->current_config_index = b0->current_config_index; @@ -366,10 +366,10 @@ vnet_feature_start_device_input_x4 (u32 sw_if_index, vnet_buffer (b3)->device_input_feat.buffer_advance = adv; vlib_buffer_advance (b3, -adv); - b0->feature_arc_index = feature_arc_index; - b1->feature_arc_index = feature_arc_index; - b2->feature_arc_index = feature_arc_index; - b3->feature_arc_index = feature_arc_index; + vnet_buffer (b0)->feature_arc_index = feature_arc_index; + vnet_buffer (b1)->feature_arc_index = feature_arc_index; + vnet_buffer (b2)->feature_arc_index = feature_arc_index; + vnet_buffer (b3)->feature_arc_index = feature_arc_index; b0->current_config_index = vec_elt (cm->config_index_by_sw_if_index, sw_if_index); diff --git a/src/vnet/interface_output.c b/src/vnet/interface_output.c index fe029b865fa..7631a32092f 100644 --- a/src/vnet/interface_output.c +++ b/src/vnet/interface_output.c @@ -328,10 +328,10 @@ vnet_interface_output_node_inline (vlib_main_t * vm, if (PREDICT_FALSE (current_config_index != ~0)) { - b0->feature_arc_index = arc; - b1->feature_arc_index = arc; - b2->feature_arc_index = arc; - b3->feature_arc_index = arc; + vnet_buffer (b0)->feature_arc_index = arc; + vnet_buffer (b1)->feature_arc_index = arc; + vnet_buffer (b2)->feature_arc_index = arc; + vnet_buffer (b3)->feature_arc_index = arc; b0->current_config_index = current_config_index; b1->current_config_index = current_config_index; b2->current_config_index = current_config_index; @@ -415,7 +415,7 @@ vnet_interface_output_node_inline (vlib_main_t * vm, if (PREDICT_FALSE (current_config_index != ~0)) { - b0->feature_arc_index = arc; + vnet_buffer (b0)->feature_arc_index = arc; b0->current_config_index = current_config_index; } diff --git a/src/vnet/ip/ip4_input.h b/src/vnet/ip/ip4_input.h index 2692848f8ad..600d6937dd8 100644 --- a/src/vnet/ip/ip4_input.h +++ b/src/vnet/ip/ip4_input.h @@ -133,6 +133,7 @@ ip4_input_check_x2 (vlib_main_t * vm, else *next0 = error0 != IP4_ERROR_OPTIONS ? IP4_INPUT_NEXT_DROP : IP4_INPUT_NEXT_PUNT; + p0->error = error_node->errors[error0]; } if (PREDICT_FALSE (error1 != IP4_ERROR_NONE)) { @@ -146,10 +147,9 @@ ip4_input_check_x2 (vlib_main_t * vm, else *next1 = error1 != IP4_ERROR_OPTIONS ? IP4_INPUT_NEXT_DROP : IP4_INPUT_NEXT_PUNT; + p1->error = error_node->errors[error1]; } - p0->error = error_node->errors[error0]; - p1->error = error_node->errors[error1]; } always_inline void @@ -208,9 +208,9 @@ ip4_input_check_x1 (vlib_main_t * vm, else *next0 = error0 != IP4_ERROR_OPTIONS ? IP4_INPUT_NEXT_DROP : IP4_INPUT_NEXT_PUNT; + p0->error = error_node->errors[error0]; } - p0->error = error_node->errors[error0]; } /* diff --git a/src/vnet/ip/ip4_reassembly.c b/src/vnet/ip/ip4_reassembly.c index 33cdbd5e04d..d924f37a47b 100644 --- a/src/vnet/ip/ip4_reassembly.c +++ b/src/vnet/ip/ip4_reassembly.c @@ -402,7 +402,7 @@ always_inline void ip4_reass_finalize (vlib_main_t * vm, vlib_node_runtime_t * node, ip4_reass_main_t * rm, ip4_reass_per_thread_t * rt, ip4_reass_t * reass, u32 * bi0, u32 * next0, - vlib_error_t * error0, u32 ** vec_drop_compress, + u32 * error0, u32 ** vec_drop_compress, u32 ** vec_drop_overlap, bool is_feature) { ASSERT (~0 != reass->first_bi); @@ -651,7 +651,7 @@ always_inline void ip4_reass_update (vlib_main_t * vm, vlib_node_runtime_t * node, ip4_reass_main_t * rm, ip4_reass_per_thread_t * rt, ip4_reass_t * reass, u32 * bi0, u32 * next0, - vlib_error_t * error0, u32 ** vec_drop_overlap, + u32 * error0, u32 ** vec_drop_overlap, u32 ** vec_drop_compress, bool is_feature) { int consumed = 0; diff --git a/src/vnet/ip/ip6_reassembly.c b/src/vnet/ip/ip6_reassembly.c index 8b199f39ced..ce30d952acc 100644 --- a/src/vnet/ip/ip6_reassembly.c +++ b/src/vnet/ip/ip6_reassembly.c @@ -437,8 +437,7 @@ always_inline void ip6_reass_finalize (vlib_main_t * vm, vlib_node_runtime_t * node, ip6_reass_main_t * rm, ip6_reass_per_thread_t * rt, ip6_reass_t * reass, u32 * bi0, u32 * next0, - vlib_error_t * error0, u32 ** vec_drop_compress, - bool is_feature) + u32 * error0, u32 ** vec_drop_compress, bool is_feature) { ASSERT (~0 != reass->first_bi); *bi0 = reass->first_bi; @@ -660,7 +659,7 @@ always_inline void ip6_reass_update (vlib_main_t * vm, vlib_node_runtime_t * node, ip6_reass_main_t * rm, ip6_reass_per_thread_t * rt, ip6_reass_t * reass, u32 * bi0, u32 * next0, - vlib_error_t * error0, ip6_frag_hdr_t * frag_hdr, + u32 * error0, ip6_frag_hdr_t * frag_hdr, u32 ** vec_drop_overlap, u32 ** vec_drop_compress, bool is_feature) { diff --git a/src/vnet/pg/input.c b/src/vnet/pg/input.c index 1cbffedd480..a7430822c9b 100644 --- a/src/vnet/pg/input.c +++ b/src/vnet/pg/input.c @@ -1523,7 +1523,7 @@ pg_generate_packets (vlib_node_runtime_t * node, s->next_index; vnet_buffer (b)->device_input_feat.buffer_advance = 0; b->current_config_index = current_config_index; - b->feature_arc_index = feature_arc_index; + vnet_buffer (b)->feature_arc_index = feature_arc_index; } n_trace = vlib_get_trace_count (vm, node); |