tldk.git
5 years agotest/gtest: fix issue with CI 62/19762/1
Konstantin Ananyev [Wed, 22 May 2019 16:56:09 +0000 (17:56 +0100)]
test/gtest: fix issue with CI

New googletest version changed default location of builded libraries.
Update gtest Makefile to work with both locations.

Change-Id: I4bddb257f1edef875c4675bb669b5d2308f6fe0f
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
5 years agoAdd INFO.yaml file 71/14271/1
Vanessa Rene Valderrama [Wed, 15 Aug 2018 20:34:16 +0000 (15:34 -0500)]
Add INFO.yaml file

Add INFO.yaml to list:
- Project description
- Properties
- Issue Tracking
- Contacts
- PTL information
- Meeting information
- Committer information

Change-Id: I0599a79858f2bea132182c6d85aa57631e6bcb8d
Signed-off-by: Vanessa Rene Valderrama <vvalderrama@linuxfoundation.org>
6 years agotldk: introduce versioning, follow DPDK notation 80/10480/1 v18.02
Konstantin Ananyev [Fri, 9 Feb 2018 13:12:27 +0000 (13:12 +0000)]
tldk: introduce versioning, follow DPDK notation

Change-Id: I9d83b254fa66ff72dd2faddf366f35ecda13a6ea
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
6 years agoMerge "at DPDK queue setup take into account device descriptor limits."
Konstantin Ananyev [Fri, 9 Feb 2018 10:33:29 +0000 (10:33 +0000)]
Merge "at DPDK queue setup take into account device descriptor limits."

6 years agoat DPDK queue setup take into account device descriptor limits. 66/10466/1
Konstantin Ananyev [Thu, 8 Feb 2018 15:44:20 +0000 (15:44 +0000)]
at DPDK queue setup take into account device descriptor limits.

Change-Id: Idf7c65a8499f41d2cd53342f91f2b87e902faf58
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
6 years agoMove to 17.11 as default DPDK version. 62/10462/1
Konstantin Ananyev [Thu, 8 Feb 2018 15:01:27 +0000 (15:01 +0000)]
Move to 17.11 as default DPDK version.

As 17.11 will be new LTS - made it our default DPDK version.
Updated README.

Change-Id: I955513045ee1c6869a344cb551b095d6971b526f
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
6 years agotldk: make sure it builds/works with latest dpdk (17.11/18.02) 48/10448/2
Konstantin Ananyev [Tue, 6 Feb 2018 22:17:36 +0000 (22:17 +0000)]
tldk: make sure it builds/works with latest dpdk (17.11/18.02)

Change-Id: I460b88661656b64558b442c7800b4edc20ad4b56
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
6 years agol4fwd: allow to specify TX payload contents for rxtx mode 61/9561/1
Konstantin Ananyev [Fri, 24 Nov 2017 15:54:01 +0000 (15:54 +0000)]
l4fwd: allow to specify TX payload contents for rxtx mode

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>
6 years agotle_tcp: return ENODATA for unprocessed/unused packets that belong to existing stream. 77/9177/1
Konstantin Ananyev [Wed, 1 Nov 2017 14:04:18 +0000 (14:04 +0000)]
tle_tcp: return ENODATA for unprocessed/unused packets that belong to existing stream.

Change-Id: I3109b843178cc8576ebaa6eae6c3f75081067feb
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
6 years agoIntegrate TLDK with NGINX 53/9153/1
Konstantin Ananyev [Tue, 31 Oct 2017 12:40:17 +0000 (12:40 +0000)]
Integrate TLDK with NGINX

Created a clone of nginx (from https://github.com/nginx/nginx)
to demonstrate and benchmark TLDK library integrated with real
world application.
A new nginx module is created and and BSD socket-like API is implemented
on top of native TLDK API.
Note, that right now only minimalistic subset of socket-like API is provided:
- accept
- close
- readv
- recv
- writev
so only limited nginx functionality is available for a moment.

Change-Id: Ie1efe9349a0538da4348a48fb8306cbf636b5a92
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Signed-off-by: Remy Horton <remy.horton@intel.com>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
6 years ago- Introduce tle_tcp_stream_readv() and tle_tcp_stream_writev(). 13/7813/2
Konstantin Ananyev [Thu, 27 Jul 2017 11:00:57 +0000 (12:00 +0100)]
- Introduce tle_tcp_stream_readv() and tle_tcp_stream_writev().
- 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>
6 years agoAdd l4fwd RXTX mode 25/6925/6
Remy Horton [Tue, 30 May 2017 09:53:25 +0000 (10:53 +0100)]
Add l4fwd RXTX mode

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>
6 years agolibtle_l4p: fix both wl1 and wl2 should coexist inside union wui. 33/7233/1
Konstantin Ananyev [Tue, 20 Jun 2017 22:30:47 +0000 (23:30 +0100)]
libtle_l4p: fix both wl1 and wl2 should coexist inside union wui.

Change-Id: Ied0e976aa26f71dc4ccbf62deae9cd756ee4b82d
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
6 years agolibtle_l4p: fix at termination tcp stream not always cleanup it's send queue. 95/7095/1
Konstantin Ananyev [Sun, 11 Jun 2017 12:22:41 +0000 (13:22 +0100)]
libtle_l4p: fix at termination tcp stream not always cleanup it's send queue.

Change-Id: I8ab713c98712fafe2550a6954224ebc741cf9029
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
6 years agotle_tcp_proces: fix the issue when strem can sit in the txs queue forever. 78/7078/1
Konstantin Ananyev [Mon, 5 Jun 2017 17:05:01 +0000 (18:05 +0100)]
tle_tcp_proces: fix the issue when strem can sit in the txs queue forever.

Change-Id: I313f048fc0888d661f8b0e34af6256afc516670a
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoAdded rte_ring wrapper functions to support dpdk-17.05 and older version 05/6705/1
Mohammad Abdul Awal [Thu, 11 May 2017 12:36:12 +0000 (13:36 +0100)]
Added rte_ring wrapper functions to support dpdk-17.05 and older version

Change-Id: I5cfcff8be275ab2a2fb4ad6a62777a8cb88f425b
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agoMerge "tldk_test: added copy command to makefile to make test_scapy_gen.py visible"
Konstantin Ananyev [Tue, 9 May 2017 18:09:18 +0000 (18:09 +0000)]
Merge "tldk_test: added copy command to makefile to make test_scapy_gen.py visible"

7 years agotldk_test: added copy command to makefile to make test_scapy_gen.py visible 38/5838/4
Kopec, TomaszX [Mon, 6 Mar 2017 13:42:26 +0000 (14:42 +0100)]
tldk_test: added copy command to makefile to make test_scapy_gen.py visible

Change-Id: Iedad6db1808a20d0bd00b9d23f489dffd3ef0a4b
Signed-off-by: Kopec, TomaszX <tomaszx.kopec@intel.com>
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agotwo fixes. - allow conditional jumbo frame based on rx_max_pkt_len - fix mss size... 26/6626/1
Mohammad Abdul Awal [Wed, 3 May 2017 07:47:00 +0000 (08:47 +0100)]
two fixes. - allow conditional jumbo frame based on rx_max_pkt_len - fix mss size for rx_synack

Change-Id: I47b7775445bc4ba647f9da9edafc4b255082e926
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years ago* Add siphash file for calculating the sequence number. 07/6207/1
Reshma Pattan [Fri, 7 Apr 2017 15:51:27 +0000 (16:51 +0100)]
* Add siphash file for calculating the sequence number.
* 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>
7 years agotcp_stream_close issue fixed, added tcp_stream tests (FPP-350) 13/6113/1
Tomasz Kopec [Mon, 10 Apr 2017 08:19:05 +0000 (10:19 +0200)]
tcp_stream_close issue fixed, added tcp_stream tests (FPP-350)

Change-Id: I0332d1cc4ce3acc993da0037614f59102d059690
Signed-off-by: Tomasz Kopec <tomaszx.kopec@intel.com>
7 years agotcp: fix RCV.WND set incorreclty when peer doesn't support WSCALE option 77/5877/1
Konstantin Ananyev [Mon, 27 Mar 2017 17:56:04 +0000 (18:56 +0100)]
tcp: fix RCV.WND set incorreclty when peer doesn't support WSCALE option

Change-Id: I911fdeeb25bc1112cd38eaa96c34f47a7bf49060
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoimplement sw segmentation for tcp 30/5830/2
Mohammad Abdul Awal [Fri, 3 Mar 2017 17:38:14 +0000 (17:38 +0000)]
implement sw segmentation for tcp

Change-Id: Ibe3ac4b401ea9c7680ab5d3e8c73557d95402ff2
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agoRewrite accept() code-path and make l4fwd not to close() on FIN immediatelly. 17/5617/3
Konstantin Ananyev [Fri, 3 Mar 2017 18:40:23 +0000 (18:40 +0000)]
Rewrite accept() code-path and make l4fwd not to close() on FIN immediatelly.

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>
7 years agotest/gtest: enable unit test with scapy 46/5546/1
Mohammad Abdul Awal [Tue, 28 Feb 2017 08:45:07 +0000 (08:45 +0000)]
test/gtest: enable unit test with scapy

Change-Id: I658b68c4a4cd5a28e3dd6c37bba6e8d96475a948
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agoIntroduce first version of TCP code. 12/5512/2
Konstantin Ananyev [Tue, 21 Feb 2017 18:12:20 +0000 (18:12 +0000)]
Introduce first version of TCP code.

    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>
7 years agodpdk/makefile: add librte_pmd_pcap support for unit tests 57/5457/2
Mohammad Abdul Awal [Tue, 21 Feb 2017 18:12:20 +0000 (18:12 +0000)]
dpdk/makefile: add librte_pmd_pcap support for unit tests

Change-Id: I4bd6276e473112cbb84c48f01a5690d6eda2baf5
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agogtest: disable test_tle_udp_dev 76/5476/1
Mohammad Abdul Awal [Wed, 22 Feb 2017 15:56:36 +0000 (15:56 +0000)]
gtest: disable test_tle_udp_dev

Change-Id: I2433b70e380583bd112248a62b25894efc36dfa6
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agoBump default dpdk version to 16.11 30/5130/2
Konstantin Ananyev [Wed, 15 Feb 2017 00:11:50 +0000 (00:11 +0000)]
Bump default dpdk version to 16.11
16.04 is pretty old these days, plus on fd.io
validation jobs we constantly hit a bug in virtio PMD
that was fixed in latest versions.

Change-Id: Id5066eee8f48220e66e512bf55386c4d1325a238
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoMerge "tldk test: Update tle_dev unit tests"
Konstantin Ananyev [Tue, 24 Jan 2017 13:57:59 +0000 (13:57 +0000)]
Merge "tldk test: Update tle_dev unit tests"

7 years agotldk_test: fix add define for older gcc 34/4834/1
Daniel Mrzyglod [Tue, 6 Dec 2016 14:13:18 +0000 (15:13 +0100)]
tldk_test: fix add define for older gcc

In CentOS 7 __STDC_FORMAT_MACROS define was missing.

Change-Id: I4d2a6d4984edb8be3c15b6ae9d6db7a5b578d1a4
Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
7 years agotldk test: Update tle_dev unit tests 27/3827/2
Karol Latecki [Thu, 27 Oct 2016 16:07:33 +0000 (12:07 -0400)]
tldk test: Update tle_dev unit tests

Added new unit tests for add_dev and del_dev.
Also updated previous tests which were missing cleaning up of devices
in cases where they were actually created.

Change-Id: I6d91cac54b34d4419147c125b7a13b780e1cc001
Signed-off-by: Karol Latecki <karolx.latecki@intel.com>
7 years agoMerge "tldk: fix possibility of tle_event_active() from DOWN to UP"
Konstantin Ananyev [Thu, 19 Jan 2017 13:42:36 +0000 (13:42 +0000)]
Merge "tldk: fix possibility of tle_event_active() from DOWN to UP"

7 years agotldk: fix possibility of tle_event_active() from DOWN to UP 26/3826/4
Karol Latecki [Fri, 21 Oct 2016 16:21:38 +0000 (12:21 -0400)]
tldk: fix possibility of tle_event_active() from DOWN to UP

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>
7 years agotldk/gtest: Modify makefile to allow compiling with DPDK 16.04 07/4707/1
Karol Latecki [Mon, 16 Jan 2017 17:48:05 +0000 (18:48 +0100)]
tldk/gtest: Modify makefile to allow compiling with DPDK 16.04

Change-Id: I1cfcbd3a62fae0964ef7f239cfdcdf5abe2f024d
Signed-off-by: Karol Latecki <karolx.latecki@intel.com>
7 years agofix dpdk version checking 25/3825/1
Mohammad Abdul Awal [Tue, 15 Nov 2016 08:52:32 +0000 (08:52 +0000)]
fix dpdk version checking

Change-Id: Ic6fda3f3416a5a4ed6df29a3778ddea3ae87b40d
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agoMerge "example/udpfw: assign queue id after mac info in ports initialized"
Konstantin Ananyev [Fri, 21 Oct 2016 13:16:10 +0000 (13:16 +0000)]
Merge "example/udpfw: assign queue id after mac info in ports initialized"

7 years agotldk: fix for positive errno return values in udp_ctl.c 26/3526/1
Karol Latecki [Wed, 19 Oct 2016 22:54:18 +0000 (18:54 -0400)]
tldk: fix for positive errno return values in udp_ctl.c

'Public' functions should return negative values.

Change-Id: I88eaf76f882eee08a4198543d0c8531656530360
Signed-off-by: Karol Latecki <karolx.latecki@intel.com>
7 years agotldk: fix for wrong rte_errno value in event.c 25/3525/1
Karol Latecki [Wed, 19 Oct 2016 22:18:16 +0000 (18:18 -0400)]
tldk: fix for wrong rte_errno value in event.c

Change-Id: Ia4890e174fa5e19ccfaeb23c1ba3e3d69f841af7
Signed-off-by: Karol Latecki <karolx.latecki@intel.com>
7 years agoexample/udpfw: assign queue id after mac info in ports initialized 89/3489/2
Mohammad Abdul Awal [Wed, 19 Oct 2016 13:24:31 +0000 (14:24 +0100)]
example/udpfw: assign queue id after mac info in ports initialized

fixes 8ae38dfb285a ("Initial working version of RSS").

Change-Id: I4c4e79c6f23a39b44f3a3f609d1bee540df6aa54
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agotest/gtest: fix stream open test-cases fail 42/3442/1
Konstantin Ananyev [Mon, 17 Oct 2016 12:26:09 +0000 (13:26 +0100)]
test/gtest: fix stream open test-cases fail

Update gtest code to spify lookup callback routinies
at context creation.

fixes 2fea8d3d522d31cb ("don't allow to open stream for unsupported family").

Change-Id: Idf89be22d60ee7e2707efab5f4c6abb0220f47a9
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agomakefiles: don't assume that output and target is always the same 15/3315/1
Konstantin Ananyev [Fri, 7 Oct 2016 13:11:27 +0000 (14:11 +0100)]
makefiles: don't assume that output and target is always the same

Change-Id: I7d313c74e2daf4d75c5c11460bdb87737cd46851
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agolibtle_udp: don't allow to open stream for unsupported family 14/3314/1
Konstantin Ananyev [Fri, 7 Oct 2016 12:46:11 +0000 (13:46 +0100)]
libtle_udp: don't allow to open stream for unsupported family

Change-Id: Ice9cc37ff538af185c8fcb18bedd007c175299e7
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agolibtle_udp: fix possible dereference of NULL ptr in tle_udp_del_dev() 13/3313/1
Konstantin Ananyev [Fri, 7 Oct 2016 10:58:00 +0000 (11:58 +0100)]
libtle_udp: fix possible dereference of NULL ptr in tle_udp_del_dev()

Change-Id: I09661a97206e8714c05f4c4f31d23d250cd0933a
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agolibtle_udp: fix incorrect comparision in ymm_mask_cmp() 12/3312/1
Konstantin Ananyev [Fri, 7 Oct 2016 10:54:01 +0000 (11:54 +0100)]
libtle_udp: fix incorrect comparision in ymm_mask_cmp()

Change-Id: I804ab3bbbfe8c64adebfbf8ed2135d0aded509e3
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agotldk_test: Add TLDK unit tests 98/3298/3
Daniel Mrzyglod [Sat, 6 Aug 2016 19:38:27 +0000 (20:38 +0100)]
tldk_test: Add TLDK unit tests

Unit tests for TLDK libtle_udp & libtle_dring libraries

Change-Id: I6818c72ca0260f1af784e758bfe21118c395afcf
Signed-off-by: Karol Latecki <karolx.latecki@intel.com>
Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
7 years agoEnable C++ files compilation 97/3297/1
Konstantin Ananyev [Sat, 6 Aug 2016 19:43:20 +0000 (20:43 +0100)]
Enable C++ files compilation

Change-Id: I28b180a6c91165049cd7cc58a64f1e5e1698da61
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoRFC: L4 (TCP, UDP) library public API. 20/2920/1
Konstantin Ananyev [Fri, 16 Sep 2016 14:39:12 +0000 (15:39 +0100)]
RFC: L4 (TCP, UDP) library public API.

Change-Id: Iead30e37ce8696bbba6d4ba03e1c335b65c76b37
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoallocated all port and all cpu momory together instead of realloc 19/2919/1
Mohammad Abdul Awal [Thu, 15 Sep 2016 08:03:08 +0000 (09:03 +0100)]
allocated all port and all cpu momory together instead of realloc

Change-Id: I3240e6afefb5d784e08e3a5a1b70ada7d5b4b223
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agoudpfw: dynamic allocation of netbe_* structures 99/2899/1
Mohammad Abdul Awal [Sat, 10 Sep 2016 10:24:16 +0000 (11:24 +0100)]
udpfw: dynamic allocation of netbe_* structures

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>
7 years agoadd list of blocked ports for IPv6 57/2857/1
Mohammad Abdul Awal [Fri, 9 Sep 2016 13:35:00 +0000 (14:35 +0100)]
add list of blocked ports for IPv6

Change-Id: Iefc866e71e887fe23ff9473b23577b6e576f18b1
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agoMerge "added Python script to generate streams for fe.cfg file"
Konstantin Ananyev [Mon, 12 Sep 2016 22:50:01 +0000 (22:50 +0000)]
Merge "added Python script to generate streams for fe.cfg file"

7 years agomakefile: allow using DPDK from git and OS distributions 66/2766/1
Mohammad Abdul Awal [Tue, 6 Sep 2016 15:58:57 +0000 (16:58 +0100)]
makefile: allow using DPDK from git and OS distributions

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>
7 years agoadded Python script to generate streams for fe.cfg file 65/2765/1
Mohammad Abdul Awal [Tue, 6 Sep 2016 13:42:17 +0000 (14:42 +0100)]
added Python script to generate streams for fe.cfg file

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>
7 years agoInitial working version of RSS 20/2620/3
Mohammad Abdul Awal [Wed, 15 Jun 2016 08:21:55 +0000 (09:21 +0100)]
Initial working version of RSS

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>
7 years agoMerge "udpfwd: allow BE and FE run over same core"
Konstantin Ananyev [Fri, 29 Jul 2016 15:50:50 +0000 (15:50 +0000)]
Merge "udpfwd: allow BE and FE run over same core"

7 years agoudpfwd: allow BE and FE run over same core 35/2135/1
Konstantin Ananyev [Fri, 29 Jul 2016 13:19:59 +0000 (14:19 +0100)]
udpfwd: allow BE and FE run over same core

Change-Id: Id0d3aa20bf10735dca00a1e16b0dcc0ba9642140
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoudpfwd: avoid loads blocked by stores while updating mbuf tx_offload 34/2134/1
Konstantin Ananyev [Fri, 29 Jul 2016 12:52:58 +0000 (13:52 +0100)]
udpfwd: avoid loads blocked by stores while updating mbuf tx_offload

Change-Id: Id0b6e2cf176493188f6628f92700a3095ab6af85
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agofix segfault on input packets with invalid checksum 92/1992/1
Konstantin Ananyev [Mon, 18 Jul 2016 23:02:30 +0000 (00:02 +0100)]
fix segfault on input packets with invalid checksum

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>
7 years agoUpdate README to sync with latest changes 11/1911/2
Konstantin Ananyev [Thu, 7 Jul 2016 19:33:48 +0000 (20:33 +0100)]
Update README to sync with latest changes

Change-Id: Ib9238612706f963b9581f98c4b2592e3c0d55cd0
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoChange libtle_udp to use dring. 10/1910/2
Konstantin Ananyev [Thu, 7 Jul 2016 19:24:24 +0000 (20:24 +0100)]
Change libtle_udp to use dring.

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>
7 years agoinitial tle_dring implementation 09/1909/2
Konstantin Ananyev [Thu, 7 Jul 2016 18:22:38 +0000 (19:22 +0100)]
initial tle_dring implementation

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>
7 years agoIntroduce extra layer of hierarchy to the makefiles. 08/1908/1
Konstantin Ananyev [Thu, 7 Jul 2016 18:13:25 +0000 (19:13 +0100)]
Introduce extra layer of hierarchy to the makefiles.

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>
7 years agolibtle_udp: add missing license header for udp_rxtx.c 92/1792/1
Konstantin Ananyev [Tue, 28 Jun 2016 16:53:53 +0000 (17:53 +0100)]
libtle_udp: add missing license header for udp_rxtx.c

Change-Id: If31a72e07ffe4947297c722ce5624ea8ed5f101f
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoMerge "Adding a .gitignore"
Konstantin Ananyev [Mon, 27 Jun 2016 13:52:34 +0000 (13:52 +0000)]
Merge "Adding a .gitignore"

7 years agoFixed reallocated memory initialisation bug 84/1684/2
Mohammad Abdul Awal [Tue, 21 Jun 2016 09:56:55 +0000 (10:56 +0100)]
Fixed reallocated memory initialisation bug

Change-Id: I8db6fe42303022c5ee3326892a4670f8445c27ed
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
7 years agoAdding a .gitignore 96/1396/5
Ed Warnicke [Fri, 3 Jun 2016 21:38:26 +0000 (14:38 -0700)]
Adding a .gitignore

Change-Id: Iee1d670f0132d1cce7369377c7b2e2f808c8a9df
Signed-off-by: Ed Warnicke <eaw@cisco.com>
7 years agoMerge "Add vagrant/ support"
Konstantin Ananyev [Tue, 7 Jun 2016 15:26:40 +0000 (15:26 +0000)]
Merge "Add vagrant/ support"

7 years agoAdding .gitreview file 90/1390/2
Ed Warnicke [Fri, 3 Jun 2016 16:49:43 +0000 (11:49 -0500)]
Adding .gitreview file

Change-Id: I5f2cc522d781bbc1ae9a74d16eaf194d05721247
Signed-off-by: Ed Warnicke <eaw@cisco.com>
7 years agoAdd vagrant/ support 97/1397/3
Ed Warnicke [Fri, 3 Jun 2016 21:40:05 +0000 (14:40 -0700)]
Add vagrant/ support

Change-Id: I1ca9900d487b96e86a64a817abea7bec1154feff
Signed-off-by: Ed Warnicke <eaw@cisco.com>
7 years agoInitial commit of tldk code. 89/1389/3
Konstantin Ananyev [Fri, 3 Jun 2016 15:43:13 +0000 (16:43 +0100)]
Initial commit of tldk code.

Change-Id: Ib96fdd2c57bae0a51ed420137c35eb8e2ee58473
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Ed Warnicke <eaw@cisco.com>
8 years agoInitial empty repository
C.J. Collier [Thu, 19 May 2016 07:49:37 +0000 (07:49 +0000)]
Initial empty repository