gatekeeper icon indicating copy to clipboard operation
gatekeeper copied to clipboard

Intel 810 NIC hashing issue

Open theaxeman206 opened this issue 2 years ago • 7 comments

I'm currently working on a proof of concept for a 100G capable Gatekeeper instance. It has a quartet of these Intel 810 based NICs installed. I've managed to work through a number of hangups, most notably with the ddp firmware, but seem to be getting stuck on this particular hashing related issue. See copypasta from the logs. Let me know if you need more info.

root@grantor01:/home/test/gatekeeper# cat ./gatekeeper_2023_03_09_18_23.log | grep "Main"
Main/0: cycles/second = 1995312622, cycles/millisecond = 1995312, picosec/cycle = 501
Main/0: init_kni: /lib/modules/5.4.0-42-generic/extra/dpdk/rte_kni.ko already inserted
Main/0: check_port_rss(front): port 0 (0000:17:00.0) only supports RSS hash functions 0x7ffc, but Gatekeeper asks for 0xa38c
Main/0: check_port_rss(back): port 2 (0000:4b:00.0) only supports RSS hash functions 0x7ffc, but Gatekeeper asks for 0xa38c
Main/0: lls: calculate_mempool_config_para: total_pkt_burst = 2144 packets, total_rx_desc = 640 descriptors, total_tx_desc = 256 descriptors, max_num_pkt = 3040 packets, num_mbuf = 4095 packets.
Main/0: gk: calculate_mempool_config_para: total_pkt_burst = 632 packets, total_rx_desc = 640 descriptors, total_tx_desc = 256 descriptors, max_num_pkt = 1528 packets, num_mbuf = 2047 packets.
Main/0: ggu: calculate_mempool_config_para: total_pkt_burst = 32 packets, total_rx_desc = 640 descriptors, total_tx_desc = 256 descriptors, max_num_pkt = 928 packets, num_mbuf = 1023 packets.
Main/0: cps: calculate_mempool_config_para: total_pkt_burst = 4256 packets, total_rx_desc = 640 descriptors, total_tx_desc = 256 descriptors, max_num_pkt = 5152 packets, num_mbuf = 8191 packets.
Main/0: check_port_rss_key_update(front): the RSS hash configuration obtained at port 0 does not match the expected RSS configuration
Main/0: start_iface(front): port 0 (0000:17:00.0) does not have the correct RSS hash key
Main/0: net: failed to start Gatekeeper network

theaxeman206 avatar Mar 10 '23 03:03 theaxeman206

This must add 100g PMD driver to load rss. Currently, the project does not add the PMD driver of intel 810. Currently, the project supports PMD of intel 710x 40g.

ShawnLeung87 avatar Mar 15 '23 08:03 ShawnLeung87

If you need to add, you can provide the hardware environment to the project manager, who can help add the PMD driver to load the rss of intel 810.

ShawnLeung87 avatar Mar 15 '23 08:03 ShawnLeung87

An update on the Intel 810 NIC.

In order to make this NIC work with Gatekeeper/DPDK, one has to update the package file of the NIC. More information on this is available here. All tests we've done are with package v1.3.40.0, which is currently the latest version. The zip file of the package includes a Technology Guide PDF file with more information on the NIC. The latest version of this PDF is Revision 3.0, released in February 2023.

Due to a bug in DPDK's ICE driver, one must use the branch v1.2.0-dev of Gatekeeper. Gatekeeper v1.2-dev boots and works with IPv4, but not with IPv6 due to another bug still being investigated. One can either ignore IPv6, or disable it by removing the IPv6 addresses of variables front_ips and back_ips in lua/net.lua. Although IPv4 seems to work fine, more tests are needed to homologate the NIC with this setup.

Gatekeeper v1.2-dev works. However, it's under development, so one should not assume it is production ready.

AltraMayor avatar Jul 11 '23 15:07 AltraMayor