emmericp / MoonGen

MoonGen is a fully scriptable high-speed packet generator built on DPDK and LuaJIT. It can saturate a 10 Gbit/s connection with 64 byte packets on a single CPU core while executing user-provided Lua scripts for each packet. Multi-core support allows for even higher rates. It also features precise and accurate timestamping and rate control.
MIT License
1.04k stars 234 forks source link

Intel 82599 Rx counter not working with higher than 1514 bytes #165

Open hopoaat opened 7 years ago

hopoaat commented 7 years ago

Hi!

Did you observe absolute packet drop (all packets on Rx side) on Intel 82599ES NIC when receiving a higher frame than 1514 bytes with latest MoonGen version (commit eb3ee3222cfe7af1e940950ad5a905dc4f813962)?

    local txDev = device.config{ port = args.txDev, rxQueues = args.queues, txQueues = args.queues}
    local rxDev
    if args.rxDev == args.txDev then
        rxDev = txDev
    else
        rxDev = device.config{ port = args.rxDev, rxQueues = args.queues }
    end

Thanks for your help!

Br,

Peter

fernnf commented 7 years ago

Hi,

This happen because libmoon is configuring dpdk port without jumbo frame feature, I was a patch that enables this. You need apply this patch on device.c of libmoon sources.

--- device.c 2017-03-29 14:27:18.657159902 -0300 +++ device.c 2017-03-22 14:49:13.263529000 -0300 @@ -118,8 +118,9 @@ .header_split = 0, .hw_ip_checksum = !cfg->disable_offloads, .hw_vlan_filter = 0, - .jumbo_frame = 0, + .jumbo_frame = 1, .hw_strip_crc = 1, + .max_rx_pkt_len= 9218, .hw_vlan_strip = cfg->strip_vlan ? 1 : 0, }, .txmode = {

Try this !

hopoaat commented 7 years ago

Hi!

Thanks for the patch! Worked!

Br,

Peter

emmericp commented 7 years ago

thanks!

I'll add something in the port configuration to enable jumbo frames manually.

emmericp commented 7 years ago

(re-opening because I'd like to create a proper fix for this some time later)

hopoaat commented 7 years ago

Ok. I also suggest to extend your MoonGen/examples/benchmark/packet-sizes.lua script to handle Jumbo frames, so others may find example of the usage. (Or write another example for it.)

Br,

Peter

adolia commented 6 years ago

Hi! I have the same issue on 82599ES 10-Gigabit SFI/SFP+ Network Connection NIC. I've set .jumbo_frame = 1, .hw_strip_crc = 1, .max_rx_pkt_len = 15872, to port_conf, but all packets > 10K are being dropped. Any idea? Also, is it possible to set MTU value? Thanks in advance. Br, Alex

emmericp commented 5 years ago

I don't think the ixgbe driver supports frames > 10k? (while the hardware should technically support it)