* [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide @ 2021-03-09 13:18 Jiawei Wang 2021-03-25 17:10 ` Ferruh Yigit ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Jiawei Wang @ 2021-03-09 13:18 UTC (permalink / raw) To: viacheslavo, xiaoyun.li, ferruh.yigit; +Cc: dev Update documentation for sample action usage in testpmd and show the command line example. Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 60 +++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index f59eb8a..3a31cc6 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -2003,6 +2003,24 @@ Set fec mode for a specific port:: testpmd> set port (port_id) fec_mode auto|off|rs|baser +Config Sample actions list +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Configure the sample actions list to be used when sampling a packet by +rte_flow_action_sample:: + + set sample_actions {index} {action} [/ {action} [...]] / end + +There are multiple global buffers for ``sample_actions``, this command will set +one internal buffer index by ``{index}``. + +In order to use different sample actions list, ``index`` must be specified +during the flow rule creation:: + + testpmd> flow create 0 ingress pattern eth / ipv4 / end actions + sample ratio 2 index 2 / end + +Otherwise the default index ``0`` is used. Port Functions -------------- @@ -4841,6 +4859,48 @@ if seid is set):: testpmd> flow create 0 ingress pattern eth / ipv6 / pfcp s_field is 1 seid is 1 / end actions queue index 3 / end +Sample Sampling/Mirroring rules +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sample/Mirroring rules can be set by the following commands + +NIC-RX Sampling rule, the matched ingress packets are duplicated and sent to +the queue 1, and each second packets are marked with 0x1234 and sent to +queue 0. + +:: + + testpmd> set sample_actions 0 mark id 0x1234 / queue index 0 / end + testpmd> flow create 0 ingress group 1 pattern eth / end actions + sample ratio 2 index 0 / queue index 1 / end + +E-Switch Sampling rule, the matched ingress packets are duplicated and sent +to port id 2, and each second packets are sent to eswitch manager. + +:: + + testpmd> set sample_actions 0 / end + testpmd> flow create 0 ingress transfer pattern eth / end actions + sample ratio 2 index 0 / port_id id 2 / end + +E-Switch Mirroring rule, the matched ingress packets with encapsulation header +are sent to port id 0, and also mirrored the packets and sent to port id 2. + +:: + + testpmd> set sample_actions 0 port_id id 2 / end + testpmd> flow create 1 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / raw_encap / port_id id 0 / end + +E-Switch Mirroring rule, the matched ingress packets are sent to port id 2, +and also mirrored the packets with encapsulation header and sent to port id 0. + +:: + + testpmd> set sample_actions 0 raw_encap / port_id id 0 / end + testpmd> flow create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + BPF Functions -------------- -- 1.8.3.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide 2021-03-09 13:18 [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide Jiawei Wang @ 2021-03-25 17:10 ` Ferruh Yigit 2021-03-25 17:15 ` Thomas Monjalon 2021-03-31 6:38 ` Jiawei(Jonny) Wang 2021-03-31 8:51 ` [dpdk-dev] [PATCH v2] " Jiawei Wang 2021-04-01 2:39 ` [dpdk-dev] [PATCH v3] " Jiawei Wang 2 siblings, 2 replies; 11+ messages in thread From: Ferruh Yigit @ 2021-03-25 17:10 UTC (permalink / raw) To: Jiawei Wang, viacheslavo, xiaoyun.li, Ori Kam Cc: dev, Andrew Rybchenko, Thomas Monjalon On 3/9/2021 1:18 PM, Jiawei Wang wrote: > Update documentation for sample action usage in testpmd and > show the command line example. > +1 to document this. Indeed for all testpmd flow update, it must be mandatory to update "Flow rules management" section for it, Ori what do you think? > Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> > Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> <...> > +Sample Sampling/Mirroring rules > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > + > +Sample/Mirroring rules can be set by the following commands > + > +NIC-RX Sampling rule, the matched ingress packets are duplicated and sent to > +the queue 1, and each second packets are marked with 0x1234 and sent to > +queue 0. > + Also each second packets duplicated to queue 1, isn't it, because of 'ratio 2'? > +:: > + > + testpmd> set sample_actions 0 mark id 0x1234 / queue index 0 / end > + testpmd> flow create 0 ingress group 1 pattern eth / end actions > + sample ratio 2 index 0 / queue index 1 / end > + > +E-Switch Sampling rule, the matched ingress packets are duplicated and sent > +to port id 2, and each second packets are sent to eswitch manager. > + what is 'E-Switch', or "eswitch manager", isn't the mirror rule generic? ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide 2021-03-25 17:10 ` Ferruh Yigit @ 2021-03-25 17:15 ` Thomas Monjalon 2021-03-31 6:58 ` Jiawei(Jonny) Wang 2021-03-31 6:38 ` Jiawei(Jonny) Wang 1 sibling, 1 reply; 11+ messages in thread From: Thomas Monjalon @ 2021-03-25 17:15 UTC (permalink / raw) To: Jiawei Wang, viacheslavo, Ori Kam, Ferruh Yigit Cc: xiaoyun.li, dev, Andrew Rybchenko 25/03/2021 18:10, Ferruh Yigit: > On 3/9/2021 1:18 PM, Jiawei Wang wrote: > > Update documentation for sample action usage in testpmd and > > show the command line example. > > > > +1 to document this. > > Indeed for all testpmd flow update, it must be mandatory to update "Flow rules > management" section for it, Ori what do you think? > > > Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> > > Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> > > <...> > > > +Sample Sampling/Mirroring rules > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +Sample/Mirroring rules can be set by the following commands > > + > > +NIC-RX Sampling rule, the matched ingress packets are duplicated and sent to > > +the queue 1, and each second packets are marked with 0x1234 and sent to > > +queue 0. > > + > > Also each second packets duplicated to queue 1, isn't it, because of 'ratio 2'? > > > +:: > > + > > + testpmd> set sample_actions 0 mark id 0x1234 / queue index 0 / end > > + testpmd> flow create 0 ingress group 1 pattern eth / end actions > > + sample ratio 2 index 0 / queue index 1 / end > > + > > +E-Switch Sampling rule, the matched ingress packets are duplicated and sent > > +to port id 2, and each second packets are sent to eswitch manager. > > + > > what is 'E-Switch', or "eswitch manager", isn't the mirror rule generic? This is the HW switch in Mellanox devices. It should not be mentioned in this generic doc. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide 2021-03-25 17:15 ` Thomas Monjalon @ 2021-03-31 6:58 ` Jiawei(Jonny) Wang 0 siblings, 0 replies; 11+ messages in thread From: Jiawei(Jonny) Wang @ 2021-03-31 6:58 UTC (permalink / raw) To: NBU-Contact-Thomas Monjalon, Slava Ovsiienko, Ori Kam, Ferruh Yigit Cc: xiaoyun.li, dev, Andrew Rybchenko Hi Thomas, > -----Original Message----- > From: Thomas Monjalon <thomas@monjalon.net> > Sent: Friday, March 26, 2021 1:16 AM > To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Slava Ovsiienko > <viacheslavo@nvidia.com>; Ori Kam <orika@nvidia.com>; Ferruh Yigit > <ferruh.yigit@intel.com> > Cc: xiaoyun.li@intel.com; dev@dpdk.org; Andrew Rybchenko > <arybchenko@solarflare.com> > Subject: Re: [PATCH] doc: add sampling and mirroring in testpmd guide > > 25/03/2021 18:10, Ferruh Yigit: > > On 3/9/2021 1:18 PM, Jiawei Wang wrote: > > > Update documentation for sample action usage in testpmd and show the > > > command line example. > > > > > > > +1 to document this. > > > > Indeed for all testpmd flow update, it must be mandatory to update > > "Flow rules management" section for it, Ori what do you think? > > > > > Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> > > > Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> > > > > <...> > > > > > +Sample Sampling/Mirroring rules > > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > + > > > +Sample/Mirroring rules can be set by the following commands > > > + > > > +NIC-RX Sampling rule, the matched ingress packets are duplicated > > > +and sent to the queue 1, and each second packets are marked with > > > +0x1234 and sent to queue 0. > > > + > > > > Also each second packets duplicated to queue 1, isn't it, because of 'ratio 2'? > > > > > +:: > > > + > > > + testpmd> set sample_actions 0 mark id 0x1234 / queue index 0 / > > > + testpmd> end flow create 0 ingress group 1 pattern eth / end > > > + testpmd> actions > > > + sample ratio 2 index 0 / queue index 1 / end > > > + > > > +E-Switch Sampling rule, the matched ingress packets are duplicated > > > +and sent to port id 2, and each second packets are sent to eswitch > manager. > > > + > > > > what is 'E-Switch', or "eswitch manager", isn't the mirror rule generic? > > This is the HW switch in Mellanox devices. > It should not be mentioned in this generic doc. > Yes, I will remove it and send v2 patch. Thanks. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide 2021-03-25 17:10 ` Ferruh Yigit 2021-03-25 17:15 ` Thomas Monjalon @ 2021-03-31 6:38 ` Jiawei(Jonny) Wang 2021-03-31 9:44 ` Ferruh Yigit 1 sibling, 1 reply; 11+ messages in thread From: Jiawei(Jonny) Wang @ 2021-03-31 6:38 UTC (permalink / raw) To: Ferruh Yigit, Slava Ovsiienko, xiaoyun.li, Ori Kam Cc: dev, Andrew Rybchenko, NBU-Contact-Thomas Monjalon Hi Ferruh, > -----Original Message----- > From: Ferruh Yigit <ferruh.yigit@intel.com> > Sent: Friday, March 26, 2021 1:11 AM > To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Slava Ovsiienko > <viacheslavo@nvidia.com>; xiaoyun.li@intel.com; Ori Kam > <orika@nvidia.com> > Cc: dev@dpdk.org; Andrew Rybchenko <arybchenko@solarflare.com>; NBU- > Contact-Thomas Monjalon <thomas@monjalon.net> > Subject: Re: [PATCH] doc: add sampling and mirroring in testpmd guide > > On 3/9/2021 1:18 PM, Jiawei Wang wrote: > > Update documentation for sample action usage in testpmd and show the > > command line example. > > > > +1 to document this. > > Indeed for all testpmd flow update, it must be mandatory to update "Flow > rules management" section for it, Ori what do you think? > > > Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> > > Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> > > <...> > > > +Sample Sampling/Mirroring rules > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +Sample/Mirroring rules can be set by the following commands > > + > > +NIC-RX Sampling rule, the matched ingress packets are duplicated and > > +sent to the queue 1, and each second packets are marked with 0x1234 > > +and sent to queue 0. > > + > > Also each second packets duplicated to queue 1, isn't it, because of 'ratio 2'? > Yes, 'ratio=2' means that 50% packet will be sampled. > > +:: > > + > > + testpmd> set sample_actions 0 mark id 0x1234 / queue index 0 / end > > + testpmd> flow create 0 ingress group 1 pattern eth / end actions > > + sample ratio 2 index 0 / queue index 1 / end > > + > > +E-Switch Sampling rule, the matched ingress packets are duplicated > > +and sent to port id 2, and each second packets are sent to eswitch > manager. > > + > > what is 'E-Switch', or "eswitch manager", isn't the mirror rule generic? Here E-Switch means 'transfer=1' in flow attribute, I will remove it since the concept is for Mellanox HW. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide 2021-03-31 6:38 ` Jiawei(Jonny) Wang @ 2021-03-31 9:44 ` Ferruh Yigit 2021-03-31 14:38 ` Jiawei(Jonny) Wang 0 siblings, 1 reply; 11+ messages in thread From: Ferruh Yigit @ 2021-03-31 9:44 UTC (permalink / raw) To: Jiawei(Jonny) Wang, Slava Ovsiienko, xiaoyun.li, Ori Kam Cc: dev, Andrew Rybchenko, NBU-Contact-Thomas Monjalon On 3/31/2021 7:38 AM, Jiawei(Jonny) Wang wrote: > Hi Ferruh, > >> -----Original Message----- >> From: Ferruh Yigit <ferruh.yigit@intel.com> >> Sent: Friday, March 26, 2021 1:11 AM >> To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Slava Ovsiienko >> <viacheslavo@nvidia.com>; xiaoyun.li@intel.com; Ori Kam >> <orika@nvidia.com> >> Cc: dev@dpdk.org; Andrew Rybchenko <arybchenko@solarflare.com>; NBU- >> Contact-Thomas Monjalon <thomas@monjalon.net> >> Subject: Re: [PATCH] doc: add sampling and mirroring in testpmd guide >> >> On 3/9/2021 1:18 PM, Jiawei Wang wrote: >>> Update documentation for sample action usage in testpmd and show the >>> command line example. >>> >> >> +1 to document this. >> >> Indeed for all testpmd flow update, it must be mandatory to update "Flow >> rules management" section for it, Ori what do you think? >> >>> Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> >>> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> >> >> <...> >> >>> +Sample Sampling/Mirroring rules >>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> + >>> +Sample/Mirroring rules can be set by the following commands >>> + >>> +NIC-RX Sampling rule, the matched ingress packets are duplicated and >>> +sent to the queue 1, and each second packets are marked with 0x1234 >>> +and sent to queue 0. >>> + >> >> Also each second packets duplicated to queue 1, isn't it, because of 'ratio 2'? >> > > Yes, 'ratio=2' means that 50% packet will be sampled. > I thought 'sample' action also applies to the "queue index 1" but most probably it only applies to 'sample_actions', so original paragraph is correct, perhaps except the 'duplicated' detail, and my comment "each second packets duplicated to queue 1" is wrong. Can you please confirm if below is correct: Assume 10 packets are received, from 1 to 10, after below rule queue status will be: Queue0: 2, 4, 6, 8, 10 [All marked with 0x1234, duplicated packets] Queue1: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 [Original packets] >>> +:: >>> + >>> + testpmd> set sample_actions 0 mark id 0x1234 / queue index 0 / end >>> + testpmd> flow create 0 ingress group 1 pattern eth / end actions >>> + sample ratio 2 index 0 / queue index 1 / end >>> + >>> +E-Switch Sampling rule, the matched ingress packets are duplicated >>> +and sent to port id 2, and each second packets are sent to eswitch >> manager. >>> + >> >> what is 'E-Switch', or "eswitch manager", isn't the mirror rule generic? > > Here E-Switch means 'transfer=1' in flow attribute, I will remove it since the concept is for Mellanox HW. > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide 2021-03-31 9:44 ` Ferruh Yigit @ 2021-03-31 14:38 ` Jiawei(Jonny) Wang 2021-03-31 15:26 ` Ferruh Yigit 0 siblings, 1 reply; 11+ messages in thread From: Jiawei(Jonny) Wang @ 2021-03-31 14:38 UTC (permalink / raw) To: Ferruh Yigit, Slava Ovsiienko, xiaoyun.li, Ori Kam Cc: dev, Andrew Rybchenko, NBU-Contact-Thomas Monjalon Hi Ferruh, > -----Original Message----- > From: Ferruh Yigit <ferruh.yigit@intel.com> > Sent: Wednesday, March 31, 2021 5:45 PM > To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Slava Ovsiienko > <viacheslavo@nvidia.com>; xiaoyun.li@intel.com; Ori Kam > <orika@nvidia.com> > Cc: dev@dpdk.org; Andrew Rybchenko <arybchenko@solarflare.com>; NBU- > Contact-Thomas Monjalon <thomas@monjalon.net> > Subject: Re: [PATCH] doc: add sampling and mirroring in testpmd guide > > On 3/31/2021 7:38 AM, Jiawei(Jonny) Wang wrote: > > Hi Ferruh, > > > >> -----Original Message----- > >> From: Ferruh Yigit <ferruh.yigit@intel.com> > >> Sent: Friday, March 26, 2021 1:11 AM > >> To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Slava Ovsiienko > >> <viacheslavo@nvidia.com>; xiaoyun.li@intel.com; Ori Kam > >> <orika@nvidia.com> > >> Cc: dev@dpdk.org; Andrew Rybchenko <arybchenko@solarflare.com>; > NBU- > >> Contact-Thomas Monjalon <thomas@monjalon.net> > >> Subject: Re: [PATCH] doc: add sampling and mirroring in testpmd guide > >> > >> On 3/9/2021 1:18 PM, Jiawei Wang wrote: > >>> Update documentation for sample action usage in testpmd and show the > >>> command line example. > >>> > >> > >> +1 to document this. > >> > >> Indeed for all testpmd flow update, it must be mandatory to update > >> "Flow rules management" section for it, Ori what do you think? > >> > >>> Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> > >>> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> > >> > >> <...> > >> > >>> +Sample Sampling/Mirroring rules > >>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >>> + > >>> +Sample/Mirroring rules can be set by the following commands > >>> + > >>> +NIC-RX Sampling rule, the matched ingress packets are duplicated > >>> +and sent to the queue 1, and each second packets are marked with > >>> +0x1234 and sent to queue 0. > >>> + > >> > >> Also each second packets duplicated to queue 1, isn't it, because of 'ratio > 2'? > >> > > > > Yes, 'ratio=2' means that 50% packet will be sampled. > > > > I thought 'sample' action also applies to the "queue index 1" but most > probably it only applies to 'sample_actions', so original paragraph is correct, > perhaps except the 'duplicated' detail, and my comment "each second > packets duplicated to queue 1" is wrong. > Here sample action is 'Queue index 0" and original action is 'Queue index 1", sample action only impact on duplicated packets, so 50% duplicated to queue 0. > Can you please confirm if below is correct: > Assume 10 packets are received, from 1 to 10, after below rule queue status > will be: > Queue0: 2, 4, 6, 8, 10 [All marked with 0x1234, duplicated packets] > Queue1: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 [Original packets] > > My description is not correct here. The Marked 0x1234 and 5 duplicated packet will be sent to queue 0; But the duplicated packet order not strict 'each second packet'. All of the 10 packet will be sent to Queue 1 without mark. I will update as below: " NIC-RX Sampling rule, the matched ingress packets are sent to the queue 1, and 50% packets are duplicated and marked with 0x1234 and sent to queue 0. " > >>> +:: > >>> + > >>> + testpmd> set sample_actions 0 mark id 0x1234 / queue index 0 / > >>> + testpmd> end flow create 0 ingress group 1 pattern eth / end > >>> + testpmd> actions > >>> + sample ratio 2 index 0 / queue index 1 / end > >>> + > >>> +E-Switch Sampling rule, the matched ingress packets are duplicated > >>> +and sent to port id 2, and each second packets are sent to eswitch > >> manager. > >>> + > >> > >> what is 'E-Switch', or "eswitch manager", isn't the mirror rule generic? > > > > Here E-Switch means 'transfer=1' in flow attribute, I will remove it since > the concept is for Mellanox HW. > > Thanks. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide 2021-03-31 14:38 ` Jiawei(Jonny) Wang @ 2021-03-31 15:26 ` Ferruh Yigit 0 siblings, 0 replies; 11+ messages in thread From: Ferruh Yigit @ 2021-03-31 15:26 UTC (permalink / raw) To: Jiawei(Jonny) Wang, Slava Ovsiienko, xiaoyun.li, Ori Kam Cc: dev, Andrew Rybchenko, NBU-Contact-Thomas Monjalon On 3/31/2021 3:38 PM, Jiawei(Jonny) Wang wrote: > Hi Ferruh, > >> -----Original Message----- >> From: Ferruh Yigit <ferruh.yigit@intel.com> >> Sent: Wednesday, March 31, 2021 5:45 PM >> To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Slava Ovsiienko >> <viacheslavo@nvidia.com>; xiaoyun.li@intel.com; Ori Kam >> <orika@nvidia.com> >> Cc: dev@dpdk.org; Andrew Rybchenko <arybchenko@solarflare.com>; NBU- >> Contact-Thomas Monjalon <thomas@monjalon.net> >> Subject: Re: [PATCH] doc: add sampling and mirroring in testpmd guide >> >> On 3/31/2021 7:38 AM, Jiawei(Jonny) Wang wrote: >>> Hi Ferruh, >>> >>>> -----Original Message----- >>>> From: Ferruh Yigit <ferruh.yigit@intel.com> >>>> Sent: Friday, March 26, 2021 1:11 AM >>>> To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Slava Ovsiienko >>>> <viacheslavo@nvidia.com>; xiaoyun.li@intel.com; Ori Kam >>>> <orika@nvidia.com> >>>> Cc: dev@dpdk.org; Andrew Rybchenko <arybchenko@solarflare.com>; >> NBU- >>>> Contact-Thomas Monjalon <thomas@monjalon.net> >>>> Subject: Re: [PATCH] doc: add sampling and mirroring in testpmd guide >>>> >>>> On 3/9/2021 1:18 PM, Jiawei Wang wrote: >>>>> Update documentation for sample action usage in testpmd and show the >>>>> command line example. >>>>> >>>> >>>> +1 to document this. >>>> >>>> Indeed for all testpmd flow update, it must be mandatory to update >>>> "Flow rules management" section for it, Ori what do you think? >>>> >>>>> Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> >>>>> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> >>>> >>>> <...> >>>> >>>>> +Sample Sampling/Mirroring rules >>>>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>> + >>>>> +Sample/Mirroring rules can be set by the following commands >>>>> + >>>>> +NIC-RX Sampling rule, the matched ingress packets are duplicated >>>>> +and sent to the queue 1, and each second packets are marked with >>>>> +0x1234 and sent to queue 0. >>>>> + >>>> >>>> Also each second packets duplicated to queue 1, isn't it, because of 'ratio >> 2'? >>>> >>> >>> Yes, 'ratio=2' means that 50% packet will be sampled. >>> >> >> I thought 'sample' action also applies to the "queue index 1" but most >> probably it only applies to 'sample_actions', so original paragraph is correct, >> perhaps except the 'duplicated' detail, and my comment "each second >> packets duplicated to queue 1" is wrong. >> > > Here sample action is 'Queue index 0" and original action is 'Queue index 1", > sample action only impact on duplicated packets, so 50% duplicated to queue 0. > >> Can you please confirm if below is correct: >> Assume 10 packets are received, from 1 to 10, after below rule queue status >> will be: >> Queue0: 2, 4, 6, 8, 10 [All marked with 0x1234, duplicated packets] >> Queue1: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 [Original packets] >> >> > > My description is not correct here. > The Marked 0x1234 and 5 duplicated packet will be sent to queue 0; > But the duplicated packet order not strict 'each second packet'. > All of the 10 packet will be sent to Queue 1 without mark. > > I will update as below: > " > NIC-RX Sampling rule, the matched ingress packets are sent to the queue 1, > and 50% packets are duplicated and marked with 0x1234 and sent to queue 0. > " > Above looks good, thanks. >>>>> +:: >>>>> + >>>>> + testpmd> set sample_actions 0 mark id 0x1234 / queue index 0 / >>>>> + testpmd> end flow create 0 ingress group 1 pattern eth / end >>>>> + testpmd> actions >>>>> + sample ratio 2 index 0 / queue index 1 / end >>>>> + >>>>> +E-Switch Sampling rule, the matched ingress packets are duplicated >>>>> +and sent to port id 2, and each second packets are sent to eswitch >>>> manager. >>>>> + >>>> >>>> what is 'E-Switch', or "eswitch manager", isn't the mirror rule generic? >>> >>> Here E-Switch means 'transfer=1' in flow attribute, I will remove it since >> the concept is for Mellanox HW. >>> > > Thanks. > ^ permalink raw reply [flat|nested] 11+ messages in thread
* [dpdk-dev] [PATCH v2] doc: add sampling and mirroring in testpmd guide 2021-03-09 13:18 [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide Jiawei Wang 2021-03-25 17:10 ` Ferruh Yigit @ 2021-03-31 8:51 ` Jiawei Wang 2021-04-01 2:39 ` [dpdk-dev] [PATCH v3] " Jiawei Wang 2 siblings, 0 replies; 11+ messages in thread From: Jiawei Wang @ 2021-03-31 8:51 UTC (permalink / raw) To: viacheslavo, xiaoyun.li, ferruh.yigit, thomas; +Cc: dev Update documentation for sample action usage in testpmd and show the command line example. Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- v2: * Update the description. --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index f59eb8a..6606433 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -2003,6 +2003,24 @@ Set fec mode for a specific port:: testpmd> set port (port_id) fec_mode auto|off|rs|baser +Config Sample actions list +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Configure the sample actions list to be used when sampling a packet by +rte_flow_action_sample:: + + set sample_actions {index} {action} [/ {action} [...]] / end + +There are multiple global buffers for ``sample_actions``, this command will set +one internal buffer index by ``{index}``. + +In order to use different sample actions list, ``index`` must be specified +during the flow rule creation:: + + testpmd> flow create 0 ingress pattern eth / ipv4 / end actions + sample ratio 2 index 2 / end + +Otherwise the default index ``0`` is used. Port Functions -------------- @@ -4841,6 +4859,51 @@ if seid is set):: testpmd> flow create 0 ingress pattern eth / ipv6 / pfcp s_field is 1 seid is 1 / end actions queue index 3 / end +Sample Sampling/Mirroring rules +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sample/Mirroring rules can be set by the following commands + +NIC-RX Sampling rule, the matched ingress packets and sent to the queue 1, +also each second packets are duplicated and marked with 0x1234 and sent to +queue 0. + +:: + + testpmd> set sample_actions 0 mark id 0x1234 / queue index 0 / end + testpmd> flow create 0 ingress group 1 pattern eth / end actions + sample ratio 2 index 0 / queue index 1 / end + +Sampling rule with port representors (with "transfer" attribute), the matched +ingress packets are sent to port id 2, also each second packets are sent to +PF port. + +:: + + testpmd> set sample_actions 0 / end + testpmd> flow create 0 ingress transfer pattern eth / end actions + sample ratio 2 index 0 / port_id id 2 / end + +Mirroring rule with port representors (with "transfer" attribute), the matched +ingress packets with encapsulation header are sent to port id 0, and also +mirrored the packets and sent to port id 2. + +:: + + testpmd> set sample_actions 0 port_id id 2 / end + testpmd> flow create 1 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / raw_encap / port_id id 0 / end + +Mirroring rule with port representors (with "transfer" attribute), the matched +ingress packets are sent to port id 2, and also mirrored the packets with +encapsulation header and sent to port id 0. + +:: + + testpmd> set sample_actions 0 raw_encap / port_id id 0 / end + testpmd> flow create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + BPF Functions -------------- -- 1.8.3.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [dpdk-dev] [PATCH v3] doc: add sampling and mirroring in testpmd guide 2021-03-09 13:18 [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide Jiawei Wang 2021-03-25 17:10 ` Ferruh Yigit 2021-03-31 8:51 ` [dpdk-dev] [PATCH v2] " Jiawei Wang @ 2021-04-01 2:39 ` Jiawei Wang 2021-04-01 11:52 ` Ferruh Yigit 2 siblings, 1 reply; 11+ messages in thread From: Jiawei Wang @ 2021-04-01 2:39 UTC (permalink / raw) To: viacheslavo, xiaoyun.li, ferruh.yigit, thomas; +Cc: dev Update documentation for sample action usage in testpmd and show the command line example. Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- v3: * Update the description for sampling. v2: * Update the description. --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 52 +++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index f59eb8a..2b407a3 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -2003,6 +2003,24 @@ Set fec mode for a specific port:: testpmd> set port (port_id) fec_mode auto|off|rs|baser +Config Sample actions list +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Configure the sample actions list to be used when sampling a packet by +rte_flow_action_sample:: + + set sample_actions {index} {action} [/ {action} [...]] / end + +There are multiple global buffers for ``sample_actions``, this command will set +one internal buffer index by ``{index}``. + +In order to use different sample actions list, ``index`` must be specified +during the flow rule creation:: + + testpmd> flow create 0 ingress pattern eth / ipv4 / end actions + sample ratio 2 index 2 / end + +Otherwise the default index ``0`` is used. Port Functions -------------- @@ -4841,6 +4859,40 @@ if seid is set):: testpmd> flow create 0 ingress pattern eth / ipv6 / pfcp s_field is 1 seid is 1 / end actions queue index 3 / end +Sample Sampling/Mirroring rules +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sample/Mirroring rules can be set by the following commands + +NIC-RX Sampling rule, the matched ingress packets and sent to the queue 1, +and 50% packets are duplicated and marked with 0x1234 and sent to queue 0. + +:: + + testpmd> set sample_actions 0 mark id 0x1234 / queue index 0 / end + testpmd> flow create 0 ingress group 1 pattern eth / end actions + sample ratio 2 index 0 / queue index 1 / end + +Mirroring rule with port representors (with "transfer" attribute), the matched +ingress packets with encapsulation header are sent to port id 0, and also +mirrored the packets and sent to port id 2. + +:: + + testpmd> set sample_actions 0 port_id id 2 / end + testpmd> flow create 1 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / raw_encap / port_id id 0 / end + +Mirroring rule with port representors (with "transfer" attribute), the matched +ingress packets are sent to port id 2, and also mirrored the packets with +encapsulation header and sent to port id 0. + +:: + + testpmd> set sample_actions 0 raw_encap / port_id id 0 / end + testpmd> flow create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + BPF Functions -------------- -- 1.8.3.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-dev] [PATCH v3] doc: add sampling and mirroring in testpmd guide 2021-04-01 2:39 ` [dpdk-dev] [PATCH v3] " Jiawei Wang @ 2021-04-01 11:52 ` Ferruh Yigit 0 siblings, 0 replies; 11+ messages in thread From: Ferruh Yigit @ 2021-04-01 11:52 UTC (permalink / raw) To: Jiawei Wang, viacheslavo, xiaoyun.li, thomas; +Cc: dev, Salem Sol On 4/1/2021 3:39 AM, Jiawei Wang wrote: > Update documentation for sample action usage in testpmd and > show the command line example. > > Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> > Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Applied to dpdk-next-net/main, thanks. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-04-01 11:52 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-03-09 13:18 [dpdk-dev] [PATCH] doc: add sampling and mirroring in testpmd guide Jiawei Wang 2021-03-25 17:10 ` Ferruh Yigit 2021-03-25 17:15 ` Thomas Monjalon 2021-03-31 6:58 ` Jiawei(Jonny) Wang 2021-03-31 6:38 ` Jiawei(Jonny) Wang 2021-03-31 9:44 ` Ferruh Yigit 2021-03-31 14:38 ` Jiawei(Jonny) Wang 2021-03-31 15:26 ` Ferruh Yigit 2021-03-31 8:51 ` [dpdk-dev] [PATCH v2] " Jiawei Wang 2021-04-01 2:39 ` [dpdk-dev] [PATCH v3] " Jiawei Wang 2021-04-01 11:52 ` Ferruh Yigit
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).