summaryrefslogtreecommitdiffstats
path: root/src/vnet/sctp/sctp_input.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2019-01-10 12:42:47 -0800
committerJohn Lo <loj@cisco.com>2019-01-12 01:18:03 +0000
commitb5e55a27a46f166f466c7996675542de645eff66 (patch)
tree85e69972e3d716dd8937a23cc9e637e9ef38bfca /src/vnet/sctp/sctp_input.c
parenteab857fa32926d9a46bf65a4481c6ba0c61e33a3 (diff)
session: generate wrong thread errors instead of crashing
Change-Id: I7e59ae718d2722c49d42b22a0874e1645a191e89 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/sctp/sctp_input.c')
-rw-r--r--src/vnet/sctp/sctp_input.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/vnet/sctp/sctp_input.c b/src/vnet/sctp/sctp_input.c
index 4454f99e6bb..88e4eab754d 100644
--- a/src/vnet/sctp/sctp_input.c
+++ b/src/vnet/sctp/sctp_input.c
@@ -2114,7 +2114,7 @@ sctp46_input_dispatcher (vlib_main_t * vm, vlib_node_runtime_t * node,
{
u32 n_left_from, next_index, *from, *to_next;
u32 my_thread_index = vm->thread_index;
- u8 is_filtered;
+ u8 result;
sctp_main_t *tm = vnet_get_sctp_main ();
from = vlib_frame_vector_args (from_frame);
@@ -2175,7 +2175,7 @@ sctp46_input_dispatcher (vlib_main_t * vm, vlib_node_runtime_t * node,
sctp_hdr->src_port,
TRANSPORT_PROTO_SCTP,
my_thread_index,
- &is_filtered);
+ &result);
}
else
{
@@ -2198,7 +2198,7 @@ sctp46_input_dispatcher (vlib_main_t * vm, vlib_node_runtime_t * node,
sctp_hdr->src_port,
TRANSPORT_PROTO_SCTP,
my_thread_index,
- &is_filtered);
+ &result);
}
/* Length check */
@@ -2256,10 +2256,10 @@ sctp46_input_dispatcher (vlib_main_t * vm, vlib_node_runtime_t * node,
}
else
{
- if (is_filtered)
+ if (result)
{
next0 = SCTP_INPUT_NEXT_DROP;
- error0 = SCTP_ERROR_FILTERED;
+ error0 = SCTP_ERROR_NONE + result;
}
else if ((is_ip4 && tm->punt_unknown4) ||
(!is_ip4 && tm->punt_unknown6))