[PATCH v2 15/15] gen: add VXLAN support

2022-01-21 Thread Ronan Randles
This commit adds VXLAN parsing and logging functionality. Unit test with additional test case to test_gen_packet_parse_string. Signed-off-by: Ronan Randles --- app/test/test_gen.c | 1 + lib/gen/rte_gen.c | 50 + 2 files changed, 51 insertions

[PATCH v2 14/15] net/vxlan: instance flag endianness refactored

2022-01-21 Thread Ronan Randles
continues to work as before, while allowing the improved more usable method to co-exist. A new #define is introduced to represent the instance bit, which must be set if a vxlan header contains a valid VNI field, see https://datatracker.ietf.org/doc/html/rfc7348 for details Signed-off-by: Ronan

[PATCH v2 13/15] gen: add UDP support

2022-01-21 Thread Ronan Randles
This commit adds UDP parsing and logging. Unit tested by the adition of "UDP()" string to 'test_gen_packet_parse_string()' Signed-off-by: Ronan Randles --- app/test/test_gen.c | 1 + lib/gen/rte_gen.c | 66 + 2 files changed, 67

[PATCH v2 12/15] examples/generator: line rate limiting

2022-01-21 Thread Ronan Randles
This commit introduces line rate limiting using a token passing method. The target traffic rate default is currently hard coded, this can be set using telemetry. Signed-off-by: Ronan Randles --- examples/generator/main.c | 79 +-- 1 file changed, 51

[PATCH v2 11/15] examples/generator: link status check added

2022-01-21 Thread Ronan Randles
This commit brings in a link status check so that the generator will only start sending packets once there is something on the other end of the link. Signed-off-by: Ronan Randles --- examples/generator/main.c | 68 ++- 1 file changed, 67 insertions(+), 1

[PATCH v2 10/15] examples/generator: telemetry support

2022-01-21 Thread Ronan Randles
This commit adds telemetry introducing the callback functions and returning measured values Signed-off-by: Ronan Randles --- examples/generator/main.c | 142 +++--- 1 file changed, 118 insertions(+), 24 deletions(-) diff --git a/examples/generator/main.c b

[PATCH v2 09/15] examples/generator: enable gen library for traffic gen

2022-01-21 Thread Ronan Randles
This commit shows the steps necessary to enable traffic generation using the gen library Signed-off-by: Ronan Randles --- examples/generator/main.c | 175 ++--- examples/generator/meson.build | 1 + examples/meson.build | 1 + 3 files changed, 120

[PATCH v2 08/15] examples/generator: import code from basicfwd.c

2022-01-21 Thread Ronan Randles
From: Harry van Haaren Import files from basicfwd.c to act as starting point for gen library sample app Signed-off-by: Harry van Haaren Signed-off-by: Ronan Randles --- examples/generator/main.c | 226 + examples/generator/meson.build | 12 ++ 2 files

[PATCH v2 07/15] gen: add gen IP parsing

2022-01-21 Thread Ronan Randles
From: Harry van Haaren This commit adds support for the parsing of "IP(src=...,dst=...)" strings. Parse string API improvement for app RCU. Appropriate unit tests also added. Signed-off-by: Harry van Haaren Signed-off-by: Ronan Randles --- app/test/test_gen.c | 29 +++-

[PATCH v2 06/15] gen: add parsing infrastructure and Ether protocol

2022-01-21 Thread Ronan Randles
From: Harry van Haaren This commit adds parsing infrastructure and support for Ether parsing. Appropriate unit tests are also added Signed-off-by: Harry van Haaren --- app/test/test_gen.c | 29 + lib/gen/meson.build | 2 +- lib/gen/rte_gen.c | 299 +

[PATCH v2 05/15] gen: add raw packet data API and tests

2022-01-21 Thread Ronan Randles
From: Harry van Haaren This commit adds a new API to gen, allowing the caller to set raw packet data with a size. Tests are added to test the new API with randomized packet data. Signed-off-by: Harry van Haaren --- app/test/test_gen.c | 33 lib/gen/rte_gen.c | 62 +++

[PATCH v2 04/15] gen: add basic Rx and Tx routines and tests

2022-01-21 Thread Ronan Randles
: Ronan Randles --- app/test/test_gen.c | 46 ++ lib/gen/meson.build | 1 + lib/gen/rte_gen.c | 43 +++ lib/gen/rte_gen.h | 49 + lib/gen/version.map | 2 ++ 5 files changed

[PATCH v2 03/15] gen: add files for initial traffic generation library

2022-01-21 Thread Ronan Randles
From: Harry van Haaren This commit adds empty files to the DPDK build for a traffic generation library, including the bare create and destroy functions. Unit testing infrastructure is added for the create function. Signed-off-by: Harry van Haaren Signed-off-by: Ronan Randles --- app/test

[PATCH v2 02/15] net: add function to pretty print IPv4

2022-01-21 Thread Ronan Randles
This function accepts an uint32_t representation of an IP address and produces a string representation stored in a char * buffer. Realavent unit tests also included. Signed-off-by: Ronan Randles --- app/test/test_net.c | 26 ++ lib/net/rte_ip.c| 15

[PATCH v2 01/15] net: add string to IPv4 parse function

2022-01-21 Thread Ronan Randles
Added function that accepts ip string as a parameter and returns an ip address represented by a uint32_t. Relevant unit test for this function is also included. Signed-off-by: Harry van Haaren Signed-off-by: Ronan Randles --- app/test/meson.build | 2 ++ app/test/test_net.c | 61

[PATCH v2 00/15] add packet generator library and example app

2022-01-21 Thread Ronan Randles
c generation library gen: add basic Rx and Tx routines and tests gen: add raw packet data API and tests gen: add parsing infrastructure and Ether protocol gen: add gen IP parsing examples/generator: import code from basicfwd.c Ronan Randles (9): net: add string to IPv4 parse function

[PATCH 09/12] examples/generator: enable gen library for traffic gen

2021-12-14 Thread Ronan Randles
This commit shows the steps necessary to enable traffic generation using the gen library Signed-off-by: Ronan Randles --- examples/generator/main.c | 175 ++--- examples/generator/meson.build | 1 + examples/meson.build | 1 + 3 files changed, 120

[PATCH 12/12] examples/generator: line rate limiting

2021-12-14 Thread Ronan Randles
This commit introduces line rate limiting using a token passing method. The target traffic rate default is currently hard coded, this can be set using telemetry. Signed-off-by: Ronan Randles --- examples/generator/main.c | 77 +-- 1 file changed, 49

[PATCH 11/12] examples/generator: link status check added

2021-12-14 Thread Ronan Randles
This commit brings in a link status check so that the generator will only start sending packets once there is something on the other end of the link. Signed-off-by: Ronan Randles --- examples/generator/main.c | 70 +-- 1 file changed, 67 insertions(+), 3

[PATCH 10/12] examples/generator: telemetry support

2021-12-14 Thread Ronan Randles
This commit adds telemetry introducing the callback functions and returning measured values Signed-off-by: Ronan Randles --- examples/generator/main.c | 159 -- 1 file changed, 135 insertions(+), 24 deletions(-) diff --git a/examples/generator/main.c b

[PATCH 08/12] examples/generator: import code from basicfwd.c

2021-12-14 Thread Ronan Randles
From: Harry van Haaren Import files from basicfwd.c to act as starting point for gen library sample app Signed-off-by: Harry van Haaren Signed-off-by: Ronan Randles --- examples/generator/main.c | 226 + examples/generator/meson.build | 12 ++ 2 files

[PATCH 07/12] gen: add gen IP parsing

2021-12-14 Thread Ronan Randles
From: Harry van Haaren This commit adds support for the parsing of "IP(src=...,dst=...)" strings. Parse string API improvement for app RCU. Appropriate unit tests also added. Signed-off-by: Harry van Haaren Signed-off-by: Ronan Randles --- app/test/test_gen.c | 29 +++-

[PATCH 06/12] gen: add parsing infrastructure and Ether protocol

2021-12-14 Thread Ronan Randles
From: Harry van Haaren This commit adds parsing infrastructure and support for Ether parsing. Appropriate unit tests are also added Signed-off-by: Harry van Haaren --- app/test/test_gen.c | 29 + lib/gen/meson.build | 2 +- lib/gen/rte_gen.c | 281 +

[PATCH 05/12] gen: add raw packet data API and tests

2021-12-14 Thread Ronan Randles
From: Harry van Haaren This commit adds a new API to gen, allowing the caller to set raw packet data with a size. Tests are added to test the new API with randomized packet data. Signed-off-by: Harry van Haaren --- app/test/test_gen.c | 33 lib/gen/rte_gen.c | 62 +++

[PATCH 04/12] gen: add basic Rx and Tx routines and tests

2021-12-14 Thread Ronan Randles
: Ronan Randles --- app/test/test_gen.c | 46 ++ lib/gen/meson.build | 1 + lib/gen/rte_gen.c | 43 +++ lib/gen/rte_gen.h | 49 + lib/gen/version.map | 2 ++ 5 files changed

[PATCH 03/12] gen: add files for initial traffic generation library

2021-12-14 Thread Ronan Randles
From: Harry van Haaren This commit adds empty files to the DPDK build for a traffic generation library, including the bare create and destroy functions. Unit testing infrastructure is added for the create function. Signed-off-by: Harry van Haaren --- app/test/meson.build | 2 ++ app/test

[PATCH 02/12] net: add function to pretty print IPv4

2021-12-14 Thread Ronan Randles
This function accepts an uint32_t representation of an IP address and produces a string representation stored in a char * buffer. Realavent unit tests also included. Signed-off-by: Ronan Randles --- app/test/test_net.c | 26 ++ lib/net/rte_ip.c| 15

[PATCH 01/12] net: add string to IPv4 parse function

2021-12-14 Thread Ronan Randles
Added function that accepts ip string as a parameter and returns an ip address represented by a uint32_t. Relevant unit test for this function is also included. Signed-off-by: Harry van Haaren Signed-off-by: Ronan Randles --- app/test/meson.build | 2 ++ app/test/test_net.c | 61

[PATCH 00/12] add packet generator library and example app

2021-12-14 Thread Ronan Randles
rry van Haaren (6): gen: add files for initial traffic generation library gen: add basic Rx and Tx routines and tests gen: add raw packet data API and tests gen: add parsing infrastructure and Ether protocol gen: add gen IP parsing examples/generator: import code from basicfwd.c Rona