aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-11-02 19:00:10 -0800
committerDave Barach <openvpp@barachs.net>2020-11-03 17:40:05 +0000
commit89235c7ac70dd02848de14c697c3b3bf3895d4b2 (patch)
tree27c9503ca7b3e4bf91f71a36976faf07eafd052b
parentc358d78c4126c3bd660d16583842ac41afc77a3e (diff)
session: reduce max session node frame size
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9e6b5e245533c9ea7bb8dc4f784a31fcb0da88bd
-rw-r--r--src/vnet/session/session_node.c8
-rw-r--r--src/vnet/session/session_types.h1
2 files changed, 5 insertions, 4 deletions
diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c
index 482f8b019ff..ec2f936ba60 100644
--- a/src/vnet/session/session_node.c
+++ b/src/vnet/session/session_node.c
@@ -946,7 +946,7 @@ session_tx_fifo_read_and_snd_i (session_worker_t * wrk,
}
next_index = smm->session_type_to_next[ctx->s->session_type];
- max_burst = VLIB_FRAME_SIZE - *n_tx_packets;
+ max_burst = SESSION_NODE_FRAME_SIZE - *n_tx_packets;
tp = session_get_transport_proto (ctx->s);
ctx->transport_vft = transport_protocol_get_vft (tp);
@@ -1160,7 +1160,7 @@ session_tx_fifo_dequeue_internal (session_worker_t * wrk,
/* Clear custom-tx flag used to request reschedule for tx */
s->flags &= ~SESSION_F_CUSTOM_TX;
- sp->max_burst_size = clib_min (VLIB_FRAME_SIZE - *n_tx_packets,
+ sp->max_burst_size = clib_min (SESSION_NODE_FRAME_SIZE - *n_tx_packets,
TRANSPORT_PACER_MAX_BURST_PKTS);
n_packets = transport_custom_tx (session_get_transport_proto (s), s, sp);
@@ -1455,7 +1455,7 @@ session_queue_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
old_ti = clib_llist_prev_index (old_he, evt_list);
ei = clib_llist_next_index (new_he, evt_list);
- while (ei != wrk->new_head && n_tx_packets < VLIB_FRAME_SIZE)
+ while (ei != wrk->new_head && n_tx_packets < SESSION_NODE_FRAME_SIZE)
{
elt = pool_elt_at_index (wrk->event_elts, ei);
ei = clib_llist_next_index (elt, evt_list);
@@ -1474,7 +1474,7 @@ session_queue_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
old_he = pool_elt_at_index (wrk->event_elts, wrk->old_head);
ei = clib_llist_next_index (old_he, evt_list);
- while (n_tx_packets < VLIB_FRAME_SIZE)
+ while (n_tx_packets < SESSION_NODE_FRAME_SIZE)
{
elt = pool_elt_at_index (wrk->event_elts, ei);
next_ei = clib_llist_next_index (elt, evt_list);
diff --git a/src/vnet/session/session_types.h b/src/vnet/session/session_types.h
index 950066a958d..7a9f687e4ab 100644
--- a/src/vnet/session/session_types.h
+++ b/src/vnet/session/session_types.h
@@ -22,6 +22,7 @@
#define SESSION_INVALID_INDEX ((u32)~0)
#define SESSION_INVALID_HANDLE ((u64)~0)
#define SESSION_CTRL_MSG_MAX_SIZE 86
+#define SESSION_NODE_FRAME_SIZE 128
#define foreach_session_endpoint_fields \
foreach_transport_endpoint_cfg_fields \