All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Ruifeng Wang <Ruifeng.Wang@arm.com>
To: "Medvedkin, Vladimir" <vladimir.medvedkin@intel.com>,
	Bruce Richardson <bruce.richardson@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, nd <nd@arm.com>,
	"jerinj@marvell.com" <jerinj@marvell.com>,
	"drc@linux.vnet.ibm.com" <drc@linux.vnet.ibm.com>,
	Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,
	nd <nd@arm.com>
Subject: Re: [dpdk-dev] [PATCH 4/4] test/lpm: improve coverage on tbl8
Date: Thu, 14 Jan 2021 06:38:09 +0000	[thread overview]
Message-ID: <VI1PR0802MB23517D68FA983EA09F7F5E879EA80@VI1PR0802MB2351.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <450ae1fc-d6bf-7ce3-7531-49e44f25a684@intel.com>


> -----Original Message-----
> From: Medvedkin, Vladimir <vladimir.medvedkin@intel.com>
> Sent: Thursday, January 14, 2021 2:52 AM
> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
> <bruce.richardson@intel.com>
> Cc: dev@dpdk.org; nd <nd@arm.com>; jerinj@marvell.com;
> drc@linux.vnet.ibm.com; Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com>
> Subject: Re: [PATCH 4/4] test/lpm: improve coverage on tbl8
> 
> Hi Ruifeng,
> 
> Please find comment inlined. Apart from that looks good.
> 
> On 08/01/2021 08:21, Ruifeng Wang wrote:
> > Existing test cases create 256 tbl8 groups for testing. The number
> > covers only 8 bit next_hop/group field. Since the next_hop/group field
> > had been extended to 24-bits, creating more than 256 groups in tests
> > can improve the coverage.
> >
> > Coverage was not expanded to reach the max supported group number,
> > because it would take too much time to run for this fast-test.
> >
> > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
> > ---
> >   app/test/test_lpm.c | 22 ++++++++++++++--------
> >   1 file changed, 14 insertions(+), 8 deletions(-)
> >
> > diff --git a/app/test/test_lpm.c b/app/test/test_lpm.c index
> > 258b2f67c..ee6c4280b 100644
> > --- a/app/test/test_lpm.c
> > +++ b/app/test/test_lpm.c
> > @@ -993,7 +993,7 @@ test13(void)
> >   }
> >
> >   /*
> > - * Fore TBL8 extension exhaustion. Add 256 rules that require a tbl8
> extension.
> > + * For TBL8 extension exhaustion. Add 512 rules that require a tbl8
> extension.
> >    * No more tbl8 extensions will be allowed. Now add one more rule that
> required
> >    * a tbl8 extension and get fail.
> >    * */
> > @@ -1008,28 +1008,34 @@ test14(void)
> >   	struct rte_lpm_config config;
> >
> >   	config.max_rules = 256 * 32;
> > -	config.number_tbl8s = NUMBER_TBL8S;
> > +	config.number_tbl8s = 512;
> >   	config.flags = 0;
> > -	uint32_t ip, next_hop_add, next_hop_return;
> > +	uint32_t ip, next_hop_base, next_hop_return;
> >   	uint8_t depth;
> >   	int32_t status = 0;
> > +	xmm_t ipx4;
> > +	uint32_t hop[4];
> >
> >   	/* Add enough space for 256 rules for every depth */
> >   	lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
> >   	TEST_LPM_ASSERT(lpm != NULL);
> >
> >   	depth = 32;
> > -	next_hop_add = 100;
> > +	next_hop_base = 100;
> >   	ip = RTE_IPV4(0, 0, 0, 0);
> >
> >   	/* Add 256 rules that require a tbl8 extension */
> > -	for (; ip <= RTE_IPV4(0, 0, 255, 0); ip += 256) {
> > -		status = rte_lpm_add(lpm, ip, depth, next_hop_add);
> > +	for (; ip <= RTE_IPV4(0, 1, 255, 0); ip += 256) {
> > +		status = rte_lpm_add(lpm, ip, depth, next_hop_base + ip);
> >   		TEST_LPM_ASSERT(status == 0);
> >
> >   		status = rte_lpm_lookup(lpm, ip, &next_hop_return);
> >   		TEST_LPM_ASSERT((status == 0) &&
> > -				(next_hop_return == next_hop_add));
> > +				(next_hop_return == next_hop_base + ip));
> > +
> > +		ipx4 = vect_set_epi32(ip + 3, ip + 2, ip + 1, ip);
> > +		rte_lpm_lookupx4(lpm, ipx4, hop, UINT32_MAX);
> > +		TEST_LPM_ASSERT(hop[0] == next_hop_base + ip);
> 
> I think it is worth to check all 4 returned next hops here.

Agree. I will send out v2.

> 
> >   	}
> >
> >   	/* All tbl8 extensions have been used above. Try to add one more
> > and @@ -1037,7 +1043,7 @@ test14(void)
> >   	ip = RTE_IPV4(1, 0, 0, 0);
> >   	depth = 32;
> >
> > -	status = rte_lpm_add(lpm, ip, depth, next_hop_add);
> > +	status = rte_lpm_add(lpm, ip, depth, next_hop_base + ip);
> >   	TEST_LPM_ASSERT(status < 0);
> >
> >   	rte_lpm_free(lpm);
> >
> 
> 
> --
> Regards,
> Vladimir

  reply	other threads:[~2021-01-14  6:38 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-08  8:21 [dpdk-dev] [PATCH 0/4] lpm lookupx4 fixes Ruifeng Wang
2021-01-08  8:21 ` [dpdk-dev] [PATCH 1/4] lpm: fix vector lookup for Arm Ruifeng Wang
2021-01-08  8:21 ` [dpdk-dev] [PATCH 2/4] lpm: fix vector lookup for x86 Ruifeng Wang
2021-01-13 18:46   ` Medvedkin, Vladimir
2021-01-08  8:21 ` [dpdk-dev] [PATCH 3/4] lpm: fix vector lookup for ppc64 Ruifeng Wang
2021-01-11 21:29   ` David Christensen
2021-01-08  8:21 ` [dpdk-dev] [PATCH 4/4] test/lpm: improve coverage on tbl8 Ruifeng Wang
2021-01-11 21:29   ` David Christensen
2021-01-13 18:51   ` Medvedkin, Vladimir
2021-01-14  6:38     ` Ruifeng Wang [this message]
2021-01-13 14:52 ` [dpdk-dev] [PATCH 0/4] lpm lookupx4 fixes David Marchand
2021-01-14  6:54   ` Ruifeng Wang
2021-01-13 18:46 ` Medvedkin, Vladimir
2021-01-14  6:59 ` [dpdk-dev] [PATCH v2 " Ruifeng Wang
2021-01-14  6:59   ` [dpdk-dev] [PATCH v2 1/4] lpm: fix vector lookup for Arm Ruifeng Wang
2021-01-14  6:59   ` [dpdk-dev] [PATCH v2 2/4] lpm: fix vector lookup for x86 Ruifeng Wang
2021-01-14  6:59   ` [dpdk-dev] [PATCH v2 3/4] lpm: fix vector lookup for ppc64 Ruifeng Wang
2021-01-14  6:59   ` [dpdk-dev] [PATCH v2 4/4] test/lpm: improve coverage on tbl8 Ruifeng Wang
2021-01-14 11:14     ` Medvedkin, Vladimir
2021-01-14 15:25   ` [dpdk-dev] [PATCH v2 0/4] lpm lookupx4 fixes David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=VI1PR0802MB23517D68FA983EA09F7F5E879EA80@VI1PR0802MB2351.eurprd08.prod.outlook.com \
    --to=ruifeng.wang@arm.com \
    --cc=Honnappa.Nagarahalli@arm.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=drc@linux.vnet.ibm.com \
    --cc=jerinj@marvell.com \
    --cc=nd@arm.com \
    --cc=vladimir.medvedkin@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.