aboutsummaryrefslogtreecommitdiffstats
path: root/lib/libtle_l4p/tle_ctx.h
diff options
context:
space:
mode:
authorKonstantin Ananyev <konstantin.ananyev@intel.com>2019-11-04 13:50:31 +0000
committerKonstantin Ananyev <konstantin.ananyev@intel.com>2019-12-31 11:51:05 +0000
commitb8f1ef2b02b8709c72408ee4803f442efc9f4576 (patch)
tree95a16adc465206d351cbf1b823f793c7592f00e7 /lib/libtle_l4p/tle_ctx.h
parent47eb00f25ab06a699dc27507814c7656940340af (diff)
v6: make TCP stream alloc/free to use memtank API
Introduce two extra parameters for TCP context creation: struct { uint32_t min; /**< min number of free streams (grow threshold). */ uint32_t max; /**< max number of free streams (shrink threshold). */ } free_streams; By default these params are equal to max_streams value (avoid dynamic allocation and preserve current beahviour). grow() is invoked from accept() FE call to refill streams tank for BE. shrink() is invoked from close() FE call. Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Change-Id: I7af6a76d64813ee4a535323e27ffbfd75037fc92
Diffstat (limited to 'lib/libtle_l4p/tle_ctx.h')
-rw-r--r--lib/libtle_l4p/tle_ctx.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/libtle_l4p/tle_ctx.h b/lib/libtle_l4p/tle_ctx.h
index de78a6b..391cfe3 100644
--- a/lib/libtle_l4p/tle_ctx.h
+++ b/lib/libtle_l4p/tle_ctx.h
@@ -112,6 +112,12 @@ struct tle_ctx_param {
int32_t socket_id; /**< socket ID to allocate memory for. */
uint32_t proto; /**< L4 proto to handle. */
uint32_t max_streams; /**< max number of streams in context. */
+ struct {
+ uint32_t min;
+ /**< min number of free streams (grow threshold). */
+ uint32_t max;
+ /**< max number of free streams (shrink threshold). */
+ } free_streams;
uint32_t max_stream_rbufs; /**< max recv mbufs per stream. */
uint32_t max_stream_sbufs; /**< max send mbufs per stream. */
uint32_t send_bulk_size; /**< expected # of packets per send call. */