Closed twood02 closed 2 years ago
One example of a pcap file that can be used for testing is: web.pcap.zip (Sorry, I had to compress it into a .zip as it won't accept .pcap)
Or, you can use this link: https://github.com/Lhahn01/openNetVM/blob/perf_mon/examples/speed_tester/pcap/web.pcap
To actually see what is in the pcap file, the following command will allow you to do so: tcpdump -r /local/onvm/openNetVM/examples/speed_tester/pcap/web.pcap
. You may have to put sudo
in front of tcpdump
. And you just have to be careful where you locate your pcap file as the command must match the path to reach that file.
When I ran the manager without the -j
( ./onvm/go.sh -k 1 -n 0xF8 -s stdout
), it causes a segmentation fault. However, if I run it as the following ./onvm/go.sh -k 1 -n 0xF8 -s stdout -j
, we no longer have a segmentation fault.
Note: To use the jumbo frame support, make sure your branch is up to date with the develop branch.
Bug Report
Current Behavior If you forget to start the manager with jumbo frame support (
-j
), then speed tester will crash if you tell it to load a PCAP trace that contains jumbo frames.Expected behavior/code Rather than segfault, we should report an error if the size of a packet is larger than the mbuf size.
Steps to reproduce Start the manager as normal, run speed tester with a pcap file with jumbo frames.
Possible Solution When going through the while loop that allocates packets and uses rte_memcpy to copy the data from the PCAP, we should check the size of objects in
pktmbuf_pool
. This is astruct rte_mempool
which has an elt_size field that we can check for the size of each object: https://doc.dpdk.org/api/structrte__mempool.html#ad61e210d2df01bf9c91230fee6a8cf21