[dpdk-users] Pktgen with bonding port

Wiles, Keith keith.wiles at intel.com
Thu Dec 29 22:52:06 CET 2016


> On Dec 29, 2016, at 3:11 PM, Vincent Li <vincent.mc.li at gmail.com> wrote:
> 
> forgot to CC users, for sake of user reference
> 
> On Thu, Dec 29, 2016 at 12:49 PM, Wiles, Keith <keith.wiles at intel.com> wrote:
> 
> > On Dec 29, 2016, at 2:39 PM, Vincent Li <vincent.mc.li at gmail.com> wrote:
> >
> >
> >
> >
> > >
> > > Here is a command line I used to for 8 port/ 2 bonds of 4 ports each.
> > >
> > > ./app/app/x86_64-native-linuxapp-gcc/app/pktgen -l 1-3,18-19 -n 4 --proc-type auto --log-level 8 --socket-mem 4096,4096 --file-prefix pg --vdev=net_bonding0,mode=4,xmit_policy=l23,slave=0000:04:00.0,slave=0000:04:00.1,slave=0000:04:00.2,slave=0000:04:00.3 --vdev=net_bonding1,mode=4,xmit_policy=l23,slave=0000:81:00.0,slave=0000:81:00.1,slave=0000:81:00.2,slave=0000:81:00.3 -b 05:00.0 -b 05:00.1 -b 82:00.0 -b 83:00.0 -- -T -P --crc-strip -m [2:3].0 -m [18:19].1 -f themes/black-yellow.theme
> > >
> >
> > just for clarification, the -m[2:3].0 -m [18:19].1, here the .0 means port id for the vdev net_bonding0 and .1 means for vdev net_bonding1, correct? so in my case, I run it like
> >
> > #./app/app/x86_64-native-linuxapp-gcc/pktgen -c 0xff  --vdev=net_bonding0,mode=4,xmit_policy=l34,slave=0000:04:00.1,slave=0000:04:00.0 -- -P -m [0:1-7].0,
> >
> > I am confused should it be -m[0:1-7].0 or -m[0:107].2 since Pktgen has  "port  2" I colored in red as output  :
> >
> >
> > EAL: Initializing pmd_bond for net_bonding0
> > PMD: Using mode 4, it is necessary to do TX burst and RX burst at least every 100ms.
> > EAL: Create bonded device net_bonding0 on port 2 in mode 4 on socket 0.
> 
> When you add bonding ports to DPDK the bounding ports appear first meaning if you have 2 bond points and 4 real ports, which you assign 2 to each bond.
> 
> If you type ‘page cpu’ I think I display the know ports also the ‘page stats’ displays the bond ports and physical port stats.
> 
> In DPDK the ports are numbered 0 - N starting with the bonding ports:
> 0 - net_bond0
> 1 - net_bond1
> 2 - port 0 on the PCI bus using lspci excluding blacklisted ports
> 3 - port 1
> 4 - port 2
> 5 - port 3

On my machine the ports show up as above, but on your machine they show differently :-)

If that is the case then use port 2 as you want to use the net_bond0 port.

> 
> Interesting, but somehow does not agree with my running example:
> 
> this time I run -m[0:1-7].2 as
> 
> ./app/app/x86_64-native-linuxapp-gcc/pktgen -c 0xff  --vdev=net_bonding0,mode=0,xmit_policy=l34,slave=0000:04:00.1,slave=0000:04:00.0 -- -P -m [0:1-7].2
> 
> Pktgen > load bond2
> Pktgen > page stats
> 
> /                  <Real Port Stats Page>  Copyright (c) <2010-2016>, Intel Corporation
> 
> Port Name                   Pkts Rx/Tx      Rx Errors/Missed            Rate Rx/Tx           MAC Address
>  0-0000:04:00.0:                   0/0                   0/0                   0/0     E8:EA:6A:06:1B:1B
>  1-0000:04:00.1:                  15/0                   0/0                   0/0     E8:EA:6A:06:1B:1B
>  2-net_bonding0:                  15/0                   0/0                   0/0     E8:EA:6A:06:1B:1B
> -- Pktgen Ver: 3.1.0 (DPDK 17.02.0-rc0)  Powered by Intel® DPDK ---------------
> 
> Pktgen> start 2
> 
> Pktgen>page stats
> 
> /                  <Real Port Stats Page>  Copyright (c) <2010-2016>, Intel Corporation
> 
> Port Name                   Pkts Rx/Tx      Rx Errors/Missed            Rate Rx/Tx           MAC Address
>  0-0000:04:00.0:        511/1572001177              0/190420             0/8104641     E8:EA:6A:06:1B:1B
>  1-0000:04:00.1:        511/1572001819              0/245007             0/8104667     E8:EA:6A:06:1B:1B
>  2-net_bonding0:       1022/3144007979              0/435427            0/16209311     E8:EA:6A:06:1B:1B
> -- Pktgen Ver: 3.1.0 (DPDK 17.02.0-rc0)  Powered by Intel® DPDK ---------------
> 
> 
> it looks to me DPDK think net_bonding0 as port 2
> 
> this time I can see packet pass through both link
> 
> though the throughput is still under 10Gbit when viewing from BIGIP side:
> 
> # tmsh show sys performance throughput
> 
> 
> Sys::Performance Throughput
> -----------------------------------------------------------------------------
> Throughput(bits)(bits/sec)     Current  Average  Max(since 12/29/16 10:11:46)
> -----------------------------------------------------------------------------
> Service                         817.1K   116.9K                        866.6K
> In                                7.9G     1.2G                          8.7G
> Out                               1.1M   162.7K                          1.2M
> 
> 
>  
> Pktgen uses the above numbering scheme so port 0 is net_bond0 and port 1 is net_bond1. The other four ports are bonded to net_bond0-1 and can not be used directly any more from Pktgen.
> 
> >
> 
> Regards,
> Keith

Regards,
Keith



More information about the users mailing list