[dpdk-dev] [PATCH v2] [pktgen] Fix IPv6 addressing for set/sequence/save commands, packet headers, UI printing

Wiles, Keith keith.wiles at intel.com
Tue Dec 3 00:43:32 CET 2019



> On Dec 2, 2019, at 3:20 PM, Frank Li <frank.li.65 at gmail.com> wrote:
> 
> Hi Keith,
> 
> Thanks for fixing my macros from ETHER_TYPE_IPv6 to PG_ETHER_TYPE_IPv6 in your latest commit.
> 
> I tested the 'dev' branch with tap interfaces running the command:
> `pktgen l 1-5 -n 4 --proc-type auto --log-level debug --file-prefix pg --vdev=net_tap0 --vdev=net_tap1 -- -T -P -m [2:3].0 -m [4:5].1`
> 
> When I use the latest commit, pktgen crashes. When I go back 1 commit to my changes (manually fixing the ether type macros), my IPv6 changes do work as expected running the same command.
> 
> Here is the error I saw:
> 
> Initialize Port 0 -- TxQ 1, RxQ 1
> Src MAC 5a:d7:d5:38:f8:a7
>  <Promiscuous mode Enabled>
> Initialize Port 1 -- TxQ 1, RxQ 1
> !PANIC!: Cannot create mbuf pool (Default TX  1:0) port 1, queue 0, nb_mbufs 16384, socket_id 0: Cannot allocate memory
> PANIC in pktgen_mbuf_pool_create():
> Cannot create mbuf pool (Default TX  1:0) port 1, queue 0, nb_mbufs 16384, socket_id 0: Cannot allocate memory
> 6: [/home/frankli1/pktgen-dpdk/app/x86_64-native-linuxapp-gcc/app/pktgen() [0x53b853]]
> 5: [/lib64/libc.so.6(__libc_start_main+0xf5) [0x7fc787ed73d5]]
> 4: [/home/frankli1/pktgen-dpdk/app/x86_64-native-linuxapp-gcc/app/pktgen(main+0xf03) [0x4977f3]]
> 3: [/home/frankli1/pktgen-dpdk/app/x86_64-native-linuxapp-gcc/app/pktgen(pktgen_config_ports+0x1d02) [0x567832]]
> 2: [/home/frankli1/pktgen-dpdk/app/x86_64-native-linuxapp-gcc/app/pktgen(__rte_panic+0xb8) [0x488bf2]]
> 1: [/home/frankli1/pktgen-dpdk/app/x86_64-native-linuxapp-gcc/app/pktgen(rte_dump_stack+0x16) [0x667ca6]] 
> 
> I haven't tried running pktgen with any other options, and I do believe my changes are incorporated properly, just wanted to bring this error to your attention in case it may be helpful for you.

The error is normally centered around the issue that no memory was allocated for socket 0 or all of the memory was consumed by previous allocations. To support jumbo frames I did need to increase the packet info structure to hold the largest frame. Please check to see if you can increase the amount of memory for socket 0 and socket 1 if you have two to see if that fixes the problem. I may have to rework this make jumbo frame support more dynamic.
> 
> Best,
> Frank
> 
> 
> On Fri, Nov 29, 2019 at 4:03 PM Wiles, Keith <keith.wiles at intel.com> wrote:
> 
> 
> > On Nov 19, 2019, at 6:47 PM, Frank Li <frank.li.65 at gmail.com> wrote:
> > 
> > Current IPv6 functionality in pktgen is broken. This fix makes it so that
> > IPv6 addresses are properly set when using the set, sequence, and save
> > commands and that the IP header and UDP/TCP psuedo-header IPV6 addresses
> > are properly set.
> > 
> > To preserve the runtime commands, the `_atoip` function no longer takes
> > in flags to specify converting IPv4/6 addresses, and will try both,
> > returning, 4, 6, or -1 for a valid IPv4/6, invalid address, respectively.
> > 
> > Also print IPv6 addresses in UI properly.
> > 
> > Co-authored-by Valentin Andrei <vandrei at fb.com>
> > 
> > Signed-off-by: Frank Li <frank.li.65 at gmail.com>
> > ---
> 
> I applied this patch and if you have time do a pull on the pktgen repo and switch over to the ‘dev’ branch and see if this version works for you.
> 
> Regards,
> Keith
> 

Regards,
Keith



More information about the dev mailing list