summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
0250090)
Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I9d25129fbf1ea880121b281f41750155286fb489
/* bi0 might have been updated by reass_finalize, reload */
b0 = vlib_get_buffer (vm, bi0);
/* bi0 might have been updated by reass_finalize, reload */
b0 = vlib_get_buffer (vm, bi0);
- b0->error = node->errors[error0];
+ if (IP4_ERROR_NONE != error0)
+ {
+ b0->error = node->errors[error0];
+ }
if (next0 == IP4_FULL_REASS_NEXT_HANDOFF)
{
if (next0 == IP4_FULL_REASS_NEXT_HANDOFF)
{
{
next0 = IP4_SV_REASSEMBLY_NEXT_DROP;
error0 = IP4_ERROR_REASS_MALFORMED_PACKET;
{
next0 = IP4_SV_REASSEMBLY_NEXT_DROP;
error0 = IP4_ERROR_REASS_MALFORMED_PACKET;
+ b0->error = node->errors[error0];
goto packet_enqueue;
}
ip4_sv_reass_kv_t kv;
goto packet_enqueue;
}
ip4_sv_reass_kv_t kv;
{
next0 = IP4_SV_REASSEMBLY_NEXT_DROP;
error0 = IP4_ERROR_REASS_LIMIT_REACHED;
{
next0 = IP4_SV_REASSEMBLY_NEXT_DROP;
error0 = IP4_ERROR_REASS_LIMIT_REACHED;
+ b0->error = node->errors[error0];
reass->tcp_seq_number;
vnet_buffer (b0)->ip.reass.l4_src_port = reass->l4_src_port;
vnet_buffer (b0)->ip.reass.l4_dst_port = reass->l4_dst_port;
reass->tcp_seq_number;
vnet_buffer (b0)->ip.reass.l4_src_port = reass->l4_src_port;
vnet_buffer (b0)->ip.reass.l4_dst_port = reass->l4_dst_port;
- error0 = IP4_ERROR_NONE;
if (PREDICT_FALSE (b0->flags & VLIB_BUFFER_IS_TRACED))
{
ip4_sv_reass_add_trace (vm, node, rm, reass, bi0,
if (PREDICT_FALSE (b0->flags & VLIB_BUFFER_IS_TRACED))
{
ip4_sv_reass_add_trace (vm, node, rm, reass, bi0,
goto next_packet;
packet_enqueue:
goto next_packet;
packet_enqueue:
- b0->error = node->errors[error0];
-
to_next[0] = bi0;
to_next += 1;
n_left_to_next -= 1;
to_next[0] = bi0;
to_next += 1;
n_left_to_next -= 1;
/* bi0 might have been updated by reass_finalize, reload */
b0 = vlib_get_buffer (vm, bi0);
/* bi0 might have been updated by reass_finalize, reload */
b0 = vlib_get_buffer (vm, bi0);
- b0->error = node->errors[error0];
+ if (IP6_ERROR_NONE != error0)
+ {
+ b0->error = node->errors[error0];
+ }
if (next0 == IP6_FULL_REASSEMBLY_NEXT_HANDOFF)
{
if (next0 == IP6_FULL_REASSEMBLY_NEXT_HANDOFF)
{
&(vnet_buffer (b0)->ip.reass.tcp_seq_number)))
{
error0 = IP6_ERROR_REASS_UNSUPP_IP_PROTO;
&(vnet_buffer (b0)->ip.reass.tcp_seq_number)))
{
error0 = IP6_ERROR_REASS_UNSUPP_IP_PROTO;
+ b0->error = node->errors[error0];
next0 = IP6_SV_REASSEMBLY_NEXT_DROP;
goto packet_enqueue;
}
next0 = IP6_SV_REASSEMBLY_NEXT_DROP;
goto packet_enqueue;
}
{
next0 = IP6_SV_REASSEMBLY_NEXT_DROP;
error0 = IP6_ERROR_REASS_LIMIT_REACHED;
{
next0 = IP6_SV_REASSEMBLY_NEXT_DROP;
error0 = IP6_ERROR_REASS_LIMIT_REACHED;
+ b0->error = node->errors[error0];
vnet_buffer (b0)->ip.reass.l4_src_port = reass->l4_src_port;
vnet_buffer (b0)->ip.reass.l4_dst_port = reass->l4_dst_port;
next0 = IP6_SV_REASSEMBLY_NEXT_INPUT;
vnet_buffer (b0)->ip.reass.l4_src_port = reass->l4_src_port;
vnet_buffer (b0)->ip.reass.l4_dst_port = reass->l4_dst_port;
next0 = IP6_SV_REASSEMBLY_NEXT_INPUT;
- error0 = IP6_ERROR_NONE;
if (PREDICT_FALSE (b0->flags & VLIB_BUFFER_IS_TRACED))
{
ip6_sv_reass_add_trace (vm, node, rm, reass, bi0,
if (PREDICT_FALSE (b0->flags & VLIB_BUFFER_IS_TRACED))
{
ip6_sv_reass_add_trace (vm, node, rm, reass, bi0,
- b0->error = node->errors[error0];
-
if (reass->is_complete)
{
u32 idx;
if (reass->is_complete)
{
u32 idx;