aboutsummaryrefslogtreecommitdiffstats
path: root/examples
AgeCommit message (Collapse)AuthorFilesLines
2019-12-31v6: make TCP stream alloc/free to use memtank APIKonstantin Ananyev1-0/+1
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
2019-12-19l4p/tcp_ofo: fix killing l4fwd app in testsMariusz Drost1-1/+1
Between test cases l4fwd application is closed with kill command. Default kill signal is SIGTERM which is not supported in l4fwd. To close l4fwd cleanly, signal has been changed to SIGINT. Signed-off-by: Mariusz Drost <mariuszx.drost@intel.com> Change-Id: If083f18cab22766154cc80afa26d45d953277294
2019-12-12l4p/tcp_ofo: Tests for ofo and loss of pktsMariusz Drost4-0/+1098
Tests for packets that are out of order and lost. They validate data send over netcat (TCP) to TLDK/l4fwd app in echo mode. Data is set to be reordered or loss some percentage of packets. Signed-off-by: Mariusz Drost <mariuszx.drost@intel.com> Change-Id: I68f80d1fb75d5e9e5ed6d052ddcdc60588284f78
2019-06-14dpdk: move to v18.11 as default DPDK versionJianfeng Tan3-10/+6
DPDK v18.11 is the latest LTS verison. As of the API/ABI changes introduced in ether at v18.08, we cannot compile l4fwd and nginx with old DPDK versions. Change-Id: I225302d9a257e9bce4aa22ff84d76a57170e7eb7 Signed-off-by: Jianfeng Tan <henry.tjf@antfin.com> Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2018-02-08at DPDK queue setup take into account device descriptor limits.Konstantin Ananyev1-3/+7
Change-Id: Idf7c65a8499f41d2cd53342f91f2b87e902faf58 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2018-02-07tldk: make sure it builds/works with latest dpdk (17.11/18.02)Konstantin Ananyev5-118/+122
Change-Id: I460b88661656b64558b442c7800b4edc20ad4b56 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2017-11-24l4fwd: allow to specify TX payload contents for rxtx modeKonstantin Ananyev5-16/+104
Introduce a new command-line option that specifies the file with response payload. Change-Id: I1a208eeebe1d87970da23956fb08949abf601422 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2017-07-27- Introduce tle_tcp_stream_readv() and tle_tcp_stream_writev().Konstantin Ananyev2-6/+39
- 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-30Add l4fwd RXTX modeRemy Horton6-11/+140
This mode allows for transactions where the request and response are of different payload sizes Change-Id: I0744159f0618c9241e576a4af1c02765bbf1dd9f Signed-off-by: Remy Horton <remy.horton@intel.com>
2017-05-15Added rte_ring wrapper functions to support dpdk-17.05 and older versionMohammad Abdul Awal5-365/+298
Change-Id: I5cfcff8be275ab2a2fb4ad6a62777a8cb88f425b Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2017-05-09two fixes. - allow conditional jumbo frame based on rx_max_pkt_len - fix mss ↵Mohammad Abdul Awal3-3/+4
size for rx_synack Change-Id: I47b7775445bc4ba647f9da9edafc4b255082e926 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2017-04-14* Add siphash file for calculating the sequence number.Reshma Pattan3-3/+58
* l4fwd app changed to include new command line parameters hash and secret key for hash calculation. * Changed l4fwd library to integrate siphash support for calculating the sequence number. Change-Id: I29c60836c8b17a118d76b619fd79398fac200f67 Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
2017-03-23implement sw segmentation for tcpMohammad Abdul Awal1-3/+3
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 Ananyev3-86/+108
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 Ananyev23-2930/+4742
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>
2016-11-15fix dpdk version checkingMohammad Abdul Awal1-1/+1
Change-Id: Ic6fda3f3416a5a4ed6df29a3778ddea3ae87b40d Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-10-19example/udpfw: assign queue id after mac info in ports initializedMohammad Abdul Awal1-44/+19
fixes 8ae38dfb285a ("Initial working version of RSS"). Change-Id: I4c4e79c6f23a39b44f3a3f609d1bee540df6aa54 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-10-07makefiles: don't assume that output and target is always the sameKonstantin Ananyev1-2/+2
Change-Id: I7d313c74e2daf4d75c5c11460bdb87737cd46851 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-10-06Enable C++ files compilationKonstantin Ananyev1-1/+1
Change-Id: I28b180a6c91165049cd7cc58a64f1e5e1698da61 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-09-16allocated all port and all cpu momory together instead of reallocMohammad Abdul Awal4-7/+18
Change-Id: I3240e6afefb5d784e08e3a5a1b70ada7d5b4b223 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-09-15udpfw: dynamic allocation of netbe_* structuresMohammad Abdul Awal4-11/+43
This patch allows dynamic allocation of memory for the appliation. The solves the problem of allocating large amount of static memory which caused accessing the momory locations outside of 32-bit address-space duing compile-time. Change-Id: If8031ba846e4ed339d8ce8ebe4fd69325f098d17 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-09-13add list of blocked ports for IPv6Mohammad Abdul Awal1-6/+8
Change-Id: Iefc866e71e887fe23ff9473b23577b6e576f18b1 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-09-12Merge "added Python script to generate streams for fe.cfg file"Konstantin Ananyev1-0/+199
2016-09-09makefile: allow using DPDK from git and OS distributionsMohammad Abdul Awal5-246/+364
User can use DPDK_VERSION to download a specific DPDK version from git. If no DPDK_VERSION is given, the master branch will be downloaded. User can also provide RTE_SDK path for DPDK from OS disctibution or any other location. Change-Id: I7bbc30984cfc48c70d13b51d8fb6c1928d94a821 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-09-09added Python script to generate streams for fe.cfg fileMohammad Abdul Awal1-0/+199
This script allows to generate streams for frontend config file with different parameters, including, number of streams, ipv4/ipv6 port in decimal or hex, FE/BE on same lcore or separate lcore etc. Change-Id: I8a7e0137ef62363b272756ed4b8811804d4f9ec4 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-09-06Initial working version of RSSMohammad Abdul Awal7-309/+738
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-29Merge "udpfwd: allow BE and FE run over same core"Konstantin Ananyev2-78/+157
2016-07-29udpfwd: allow BE and FE run over same coreKonstantin Ananyev2-78/+157
Change-Id: Id0d3aa20bf10735dca00a1e16b0dcc0ba9642140 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-07-29udpfwd: avoid loads blocked by stores while updating mbuf tx_offloadKonstantin Ananyev1-3/+9
Change-Id: Id0b6e2cf176493188f6628f92700a3095ab6af85 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-07-19fix segfault on input packets with invalid checksumKonstantin Ananyev1-12/+35
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 Ananyev1-2/+15
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-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-21Fixed reallocated memory initialisation bugMohammad Abdul Awal1-0/+2
Change-Id: I8db6fe42303022c5ee3326892a4670f8445c27ed Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
2016-06-07Initial commit of tldk code.Konstantin Ananyev10-0/+3625
Change-Id: Ib96fdd2c57bae0a51ed420137c35eb8e2ee58473 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Ed Warnicke <eaw@cisco.com>