[dpdk-users] pktgen: sending / capturing more packets than configured?
peterkeereweer at hotmail.com
Thu Feb 2 07:22:16 CET 2017
I'am still running some tests with the Load Balancer Sample Application by sending packets with pktgen. I have a setup of 2 servers (Machine A and B in the example below) with each server containing a Intel 10Gbe 82599 NIC (connected to each other). The Load Balancer application has been configured to use 1 core for RX, 1 worker core and 1 TX core. The TX core sends all packets back to the pktgen application. The packets, send back to pktgen by the Load Balancer application, will be captured (by pktgen) and written to a pcap-file.
So I'm using 2 servers in my test:
Machine A: pktgen
Machine B: load_balancer
This is how I started the pktgen application on Machine A and all commands that I executed:
> sudo ./pktgen -c 0x1f -n 3 -- -P -T -m "[2:4].0"
Pktgen> user.pattern 0 "TIC"
Pktgen> proto udp 0
Pktgen> set 0 count 1024
Pktgen> capture 0 on
Pktgen> start 0
Pktgen> user.pattern 0 "TOC"
Pktgen> start 0
Pktgen> capture 0 off
In pktgen I get all packets (2 x 1024 = 2048 packets) that I have send to the Load Balancer application. These packets are captured and written to disk. I expect to see 1024 'TIC' packets and 1024 'TOC' packets in the pcapfile. But during exploring the pcap file with wireshark, I encountered some weird behavior. This are all packets that I can see in the pcap file (captured by pktgen):
- [1-1024] TIC upd packets (1024)
- [1025-1088] TOC udp packets (64)
- [1089-1504] TIC udp packets (416) !! (why?)
- [1505-1568] TOC udp packets (64)
- [1569-1984] TIC udp packets (416) !! (why?)
- [1985-2048] TOC udp packets (64)
How is it possible that I send 1024 'TIC' packets with pktgen, but if I count all 'TIC' packets in the pcap-file I can see more than 1024 'TIC' packets (and a way less then 1024 'TOC' packets)?
To give you as much details as possible, this is how I started the Load Balancer application on Machine B:
> sudo build/app/load_balancer -c 0xfff -n 4 -- --rx "(0,0,0)" --tx "(0,2)" --w "4" --bsz "(32,32),(64,64),(32,32)"
Another thing that strikes me is that the data, send in the UDP packets above (containing the message 'TIC' or 'TOC'), is padded with zeros (6 bytes) at the beginning of the message. Are all packets, with user defined messages, padded with zeros?
I hope someone can help me with this questions!
More information about the users