AFAIR Intel hardware should do the 10Gbit/s line rate (i.e. ~14,8 MPPS) with one flow and LPM quite easily. Sorry, I don't have numbers to share at hand.
Regarding the tool please see the pktgen-dpdk or TRex. Regarding the number of flows and overall benchmarking methodology - please see RFC2544. Andriy On Tue, Sep 20, 2016 at 12:47 PM, ?? <zhangwqh at 126.com> wrote: > Thanks so much for your reply! Usually how did you test lpm performance > with variety of destination addresses? use which tool send the traffic? how > many flows rules will you add? what's the performance you get? > > > > > > > At 2016-09-20 17:41:13, "Andriy Berestovskyy" <aber at semihalf.com> wrote: >>Hey, >>You are correct. The LPM might need just one (TBL24) or two memory >>reads (TBL24 + TBL8). The performance also drops once you have a >>variety of destination addresses instead of just one (cache misses). >> >>In your case for the dst IP 192.168.1.2 you will have two memory reads >>(TBL24 + TBL8), because 192.168.1/24 block has the more specific route >>192.168.1.1/32. >> >>Regards, >>Andriy >> >>On Tue, Sep 20, 2016 at 12:18 AM, ?? <zhangwqh at 126.com> wrote: >>> Hi all, >>> >>> >>> Does anyone test IPv4 performance? If so, what's the throughput? I can >>> get almost 10Gb with 64 byte packets. But before the test, I would expect >>> it will be less than 10G. I thought the performance will not be affected by >>> the number of rule entires. But the throughput will be related to whether >>> the flow needs to check the second layer table : TBL8. Is my understanding >>> correct? I added this flow entries following this link: >>> http://www.slideshare.net/garyachy/understanding-ddpd-algorithmics >>> slide 10, >>> >>> >>> >>> struct ipv4_lpm_route ipv4_lpm_route_array[] = { >>> >>> {IPv4(192, 168, 0, 0), 16, 0}, >>> >>> {IPv4(192, 168, 1, 0), 24, 1}, >>> >>> {IPv4(192, 168, 1, 1), 32, 2} >>> >>> }; >>> >>> send the flow with dst IP: >>> >>> 192.168.1.2 >>> >>> It should check the second layer table. But the performance is still 10G. >>> Does any part go wrong with my setup? Or it really can achieve 10G with 64 >>> byte packet size. >>> >>> Thanks, >>> >>> >> >> >> >>-- >>Andriy Berestovskyy > > > > -- Andriy Berestovskyy