aboutsummaryrefslogtreecommitdiffstats
path: root/lib/libtle_l4p/tcp_ctl.h
AgeCommit message (Collapse)AuthorFilesLines
2021-09-28l4p/tcp: Fix clearing rx queue w/ private streamsBen Magistro1-1/+3
When using private streams, any remaining data in the rx queue for the stream is not cleared when the stream is closed. When the stream is then reused, this remaining data is added to the new stream. Signed-off-by: Ben Magistro <koncept1@gmail.com> Change-Id: I8ed221ed886db0fc4858f10d4682c147cc3ad92c
2021-07-07l4p/tcp: introduce tle_tcp_stream_abort() APIKonstantin Ananyev1-1/+54
Introduce ability ot perform abnormal connection termination. Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Change-Id: I75b5153505348ceface903cd2c8e012707631168
2021-07-06l4p/tcp: introduce tle_tcp_stream_get_state() APIKonstantin Ananyev1-3/+6
tle_tcp_stream_get_state() allows user to query information regarding stream state, control ops and remote termination events. Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Change-Id: Ica22a5fe2e63fdece882935b76572142433a4ae1
2019-12-31v6: make TCP stream alloc/free to use memtank APIKonstantin Ananyev1-4/+33
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
2017-07-27- Introduce tle_tcp_stream_readv() and tle_tcp_stream_writev().Konstantin Ananyev1-21/+70
- Introduce flags for tle_ctx_param. - Introduce TLE_CTX_FLAG_ST - indicates that given ctx will be used by single thread only. - Introduce new parameters for tcp context: timewait - allows user to configure max timeout in TCP_TIMEWAIT state. icw - allows user to specify desired initial congestion window for new connections. -Few optimisations: cache tx.ol_flags inside tle destination. calcualte and cache inside ctx cycles_to_ms shift value. reorder restoring SYN opts and filling TCB a bit. Change-Id: Ie05087783b3b7f1e4ce99d3555bc5bd098f83fe0 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2017-06-11libtle_l4p: fix at termination tcp stream not always cleanup it's send queue.Konstantin Ananyev1-3/+11
Change-Id: I8ab713c98712fafe2550a6954224ebc741cf9029 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2017-05-15Added rte_ring wrapper functions to support dpdk-17.05 and older versionMohammad Abdul Awal1-3/+3
Change-Id: I5cfcff8be275ab2a2fb4ad6a62777a8cb88f425b Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2017-04-10tcp_stream_close issue fixed, added tcp_stream tests (FPP-350)Tomasz Kopec1-2/+2
Change-Id: I0332d1cc4ce3acc993da0037614f59102d059690 Signed-off-by: Tomasz Kopec <tomaszx.kopec@intel.com>
2017-03-27tcp: fix RCV.WND set incorreclty when peer doesn't support WSCALE optionKonstantin Ananyev1-1/+8
Change-Id: I911fdeeb25bc1112cd38eaa96c34f47a7bf49060 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2017-03-06Rewrite accept() code-path and make l4fwd not to close() on FIN immediatelly.Konstantin Ananyev1-0/+7
Changes in public API: - removes tle_tcp_stream_synreqs() and tle_tcp_reject() - adds tle_tcp_stream_update_cfg Allocates and fills new stream when final ACK for 3-way handshake is received. Changes in l4fwd sample application: prevents l4fwd to call close() on error event immediately: first try to recv/send remaining data. Change-Id: I8c5b9d365353084083731a4ce582197a8268688f Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2017-02-24Introduce first version of TCP code.Konstantin Ananyev1-0/+120
Supported functionality: - open/close - listen/accept/connect - send/recv In order to achieve that libtle_udp library was reworked into libtle_l4p library that supports both TCP and UDP protocols. New libtle_timer library was introduced (thanks to Cisco guys and Dave Barach <dbarach@cisco.com> for sharing their timer code with us). Sample application was also reworked significantly to support both TCP and UDP traffic handling. New UT were introduced. Change-Id: I806b05011f521e89b58db403cfdd484a37beb775 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com> Signed-off-by: Karol Latecki <karolx.latecki@intel.com> Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com> Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>