summaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
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 Ananyev2-1/+13
Change-Id: I911fdeeb25bc1112cd38eaa96c34f47a7bf49060 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2017-03-23implement sw segmentation for tcpMohammad Abdul Awal2-35/+213
Change-Id: Ibe3ac4b401ea9c7680ab5d3e8c73557d95402ff2 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2017-03-06Rewrite accept() code-path and make l4fwd not to close() on FIN immediatelly.Konstantin Ananyev7-353/+361
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 Ananyev38-1525/+7868
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>
2017-01-19tldk: fix possibility of tle_event_active() from DOWN to UPKarol Latecki1-1/+1
Docstring in tle_event.h for tle_event_active() only describes possibility of activating event from IDLE state. Also re-added previously failing test case. Change-Id: Ib9e19b6b3e64cc2836337b6a86884f312df73858 Signed-off-by: Karol Latecki <karolx.latecki@intel.com> Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-10-21tldk: fix for positive errno return values in udp_ctl.cKarol Latecki2-3/+3
'Public' functions should return negative values. Change-Id: I88eaf76f882eee08a4198543d0c8531656530360 Signed-off-by: Karol Latecki <karolx.latecki@intel.com>
2016-10-21tldk: fix for wrong rte_errno value in event.cKarol Latecki1-1/+1
Change-Id: Ia4890e174fa5e19ccfaeb23c1ba3e3d69f841af7 Signed-off-by: Karol Latecki <karolx.latecki@intel.com>
2016-10-07libtle_udp: don't allow to open stream for unsupported familyKonstantin Ananyev1-4/+12
Change-Id: Ice9cc37ff538af185c8fcb18bedd007c175299e7 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-10-07libtle_udp: fix possible dereference of NULL ptr in tle_udp_del_dev()Konstantin Ananyev1-2/+1
Change-Id: I09661a97206e8714c05f4c4f31d23d250cd0933a Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-10-07libtle_udp: fix incorrect comparision in ymm_mask_cmp()Konstantin Ananyev1-5/+5
Change-Id: I804ab3bbbfe8c64adebfbf8ed2135d0aded509e3 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-10-06Enable C++ files compilationKonstantin Ananyev2-2/+2
Change-Id: I28b180a6c91165049cd7cc58a64f1e5e1698da61 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-09-13add list of blocked ports for IPv6Mohammad Abdul Awal2-19/+33
Change-Id: Iefc866e71e887fe23ff9473b23577b6e576f18b1 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-09-06Initial working version of RSSMohammad Abdul Awal2-7/+30
The patch enables RSS support for TLDK udpfwd application. The number of rx queues and tx queues are equal to the number of lcore enabled for backend operation. NICs calculate the RSS hash based on the UDP dest port only. The RSS hash key is calculated at runtime based on the number of queues enebaled. Change-Id: I06006a4606f8faad8f16241348b2ce19b70335e5 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-07-19fix segfault on input packets with invalid checksumKonstantin Ananyev1-3/+4
libtle_udp: prevent receive code-path to reference packets that were already freed. udpfwd: if input device doesn't support IPV4 checksum offload, we need to recalculate IPV4 header checksum of the reassembled packet. fixes 3395610ea65d ("Initial commit of tldk code"). fixes 8efc4c11464f ("Change libtle_udp to use dring"). Change-Id: I77523b1ba63b0f8d25d5f0b3bc777a338ad8acf5 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-07-07Change libtle_udp to use dring.Konstantin Ananyev9-505/+228
Right now didn't see any noticeable performance boost with these changes. Though it allowed to get rid of using locks at UDP TX code-path and simplify the code quite a lot. Change-Id: If865abd3db9127f510df670d9a8edb168b915770 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-07-07initial tle_dring implementationKonstantin Ananyev4-0/+613
The Dynamic Ring (dring) is a implementation of unbounded FIFO queue, that supports lockless bulk enqueue/dequeue for multiple producers/consumers. Internally it contains producer/consumer head/tail indexes (same as DPDK rte_ring), plus linked list of Dynamic Ring Blocks (drb)s. Each drb contains some metadata plus array of pointers to queued objects. It is a caller responsibility to provide sufficient number of drbs for enqueue operation, and manage unused drbs returned by dequeue operation. dring features: - FIFO (First In First Out) - Lockless implementation. - Multi- or single-consumer dequeue. - Multi- or single-producer enqueue. - Bulk dequeue. - Bulk enqueue. Change-Id: I3621c99c6b114a387036a397e79baa8d1588bdb5 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-07-07Introduce extra layer of hierarchy to the makefiles.Konstantin Ananyev1-0/+26
Now each subdir in the TLDK_ROOT has it's own Makefile. In preparation for further project expansion. Change-Id: I80560680a8538734986941e8df343c5393c621cc Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-06-28libtle_udp: add missing license header for udp_rxtx.cKonstantin Ananyev1-0/+14
Change-Id: If31a72e07ffe4947297c722ce5624ea8ed5f101f Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-06-07Initial commit of tldk code.Konstantin Ananyev12-0/+3211
Change-Id: Ib96fdd2c57bae0a51ed420137c35eb8e2ee58473 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Ed Warnicke <eaw@cisco.com>