diff options
author | Konstantin Ananyev <konstantin.ananyev@intel.com> | 2019-11-04 13:50:31 +0000 |
---|---|---|
committer | Konstantin Ananyev <konstantin.ananyev@intel.com> | 2019-12-31 11:51:05 +0000 |
commit | b8f1ef2b02b8709c72408ee4803f442efc9f4576 (patch) | |
tree | 95a16adc465206d351cbf1b823f793c7592f00e7 /lib/libtle_l4p/tle_ctx.h | |
parent | 47eb00f25ab06a699dc27507814c7656940340af (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.h | 6 |
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. */ |