[PATCH v5] app/testpmd: expand noisy neighbour forward mode support

Mike Pattrick mkp at redhat.com
Wed Jun 7 17:42:18 CEST 2023


On Tue, Jun 6, 2023 at 6:23 PM Ferruh Yigit <ferruh.yigit at amd.com> wrote:
>
> 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.

You've made some good suggestions here, I'll send you a new version.


Thanks for the review,
M

>



More information about the dev mailing list