[PATCH v5] app/testpmd: expand noisy neighbour forward mode support
Ferruh Yigit
ferruh.yigit at amd.com
Wed Jun 7 00:23:23 CEST 2023
On 6/6/2023 10:12 PM, Mike Pattrick wrote:
> Previously the noisy neighbour vnf simulation would only operate in io
> mode, forwarding packets as is. However, this limited the usefulness of
> noisy neighbour simulation.
>
> This feature has now been expanded to supporting mac, macswap, and
> 5tswap modes. To facilitate adding this support, some new header files
> were added.
>
> Signed-off-by: Mike Pattrick <mkp at redhat.com>
> ---
> v2: Reverted changes to random memory lookup
> v3: Refactored entire patch
> v4: Implemented recommended formatting changes
> v5: Corrected copyright statement and formatting changes
<...>
> @@ -226,6 +291,15 @@ noisy_fwd_begin(portid_t pi)
> "--noisy-lkup-memory-size must be > 0\n");
> }
>
> + if (noisy_fwd_mode == NOISY_FWD_MODE_IO)
> + noisy_vnf_engine.packet_fwd = pkt_burst_io;
> + else if (noisy_fwd_mode == NOISY_FWD_MODE_MAC)
> + noisy_vnf_engine.packet_fwd = pkt_burst_mac;
> + else if (noisy_fwd_mode == NOISY_FWD_MODE_MACSWAP)
> + noisy_vnf_engine.packet_fwd = pkt_burst_macswap;
> + else if (noisy_fwd_mode == NOISY_FWD_MODE_5TSWAP)
> + noisy_vnf_engine.packet_fwd = pkt_brust_5tswap;
> +
When noisy forward mode is set, it is not possbile to see what mode is
set, what about keeping '.fwd_mode_name' longer,
like "noisy - ", and update it based on selected mode?
This way "show config fwd" command displays selected noisy mode.
> return 0;
> }
>
> @@ -233,6 +307,6 @@ struct fwd_engine noisy_vnf_engine = {
> .fwd_mode_name = "noisy",
> .port_fwd_begin = noisy_fwd_begin,
> .port_fwd_end = noisy_fwd_end,
> - .stream_init = common_fwd_stream_init,
> - .packet_fwd = pkt_burst_noisy_vnf,
> + .stream_init = common_fwd_stream_init,
> + .packet_fwd = pkt_burst_io,
> };
> diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
> index 3b37809baf..d29c65fef4 100644
> --- a/app/test-pmd/parameters.c
> +++ b/app/test-pmd/parameters.c
> @@ -190,6 +190,7 @@ usage(char* progname)
> " anon: use regular DPDK memory to create and anonymous memory to populate mempool\n"
> " xmem: use anonymous memory to create and populate mempool\n"
> " xmemhuge: use anonymous hugepage memory to create and populate mempool\n");
> + printf(" --noisy-fwd-mode=<io|mac|macswap|5tswap>: set the sub-fwd mode, defaults to io\n");
Main forwarding parameter is '--forward-mode=N', and while testing I
searched for 'forward' in the testpmd help output but not able to find
this command, because of shortened 'fwd'.
What do you think to have full '--noisy-forward-mode' to be more
consistent with existing '--forward-mode=N'?
> printf(" --noisy-tx-sw-buffer-size=N: size of FIFO buffer\n");
> printf(" --noisy-tx-sw-buffer-flushtime=N: flush FIFO after N ms\n");
> printf(" --noisy-lkup-memory=N: allocate N MB of VNF memory\n");
> @@ -704,6 +705,7 @@ launch_args_parse(int argc, char** argv)
> { "noisy-lkup-num-writes", 1, 0, 0 },
> { "noisy-lkup-num-reads", 1, 0, 0 },
> { "noisy-lkup-num-reads-writes", 1, 0, 0 },
> + { "noisy-fwd-mode", 1, 0, 0 },
If there will be a new version can you please move it to the top of the
noisy-* block, as done in the help string?
And this is same for all new code, from 'extern' to global variable to
.rst documentation update.
More information about the dev
mailing list