Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RSS flow type assignment not valid on all NICs #38

Closed
sippejw opened this issue Jul 16, 2024 · 4 comments
Closed

RSS flow type assignment not valid on all NICs #38

sippejw opened this issue Jul 16, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@sippejw
Copy link
Contributor

sippejw commented Jul 16, 2024

I am running Retina in online mode using an Intel X710. I found that during setup I would get the following error:

Ethdev port_id=0 invalid rss_hf: 0x3afbc, valid value: 0x7ef8

This is associated with how Retina configures DPDK RSS:

retina/core/src/port/mod.rs

Lines 297 to 298 in b7b2c9f

port_conf.rx_adv_conf.rss_conf.rss_hf =
(dpdk::ETH_RSS_IP | dpdk::ETH_RSS_TCP | dpdk::ETH_RSS_UDP) as u64;

Changing to port_conf.rx_adv_conf.rss_conf.rss_hf = 0x7ef8; resolves the problem for X710's.

Given the error was able to provide a valid config, I'm expecting there is a way to check the supported types before assignment and configure the field based on what the NIC supports.

0x7ef8 = RTE_ETH_RSS_FRAG_IPV4 | RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_NONFRAG_IPV4_UDP | RTE_ETH_RSS_NONFRAG_IPV4_SCTP | RTE_ETH_RSS_NONFRAG_IPV4_OTHER | RTE_ETH_RSS_FRAG_IPV6 | RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_NONFRAG_IPV6_UDP | RTE_ETH_RSS_NONFRAG_IPV6_SCTP | RTE_ETH_RSS_NONFRAG_IPV6_OTHER | RTE_ETH_RSS_L2_PAYLOAD

@sippejw sippejw changed the title RSS flow type assignment not valid all NICs RSS flow type assignment not valid on all NICs Jul 16, 2024
@thearossman
Copy link
Collaborator

Oh wow, thank you! Definitely agree w/ this fix (flow rules are generally tested, but I guess this one was missed).

Are you able to submit the fix you made as a PR? We only have access to MLNX right now so would be hard to test. If not, I can submit a PR in the next week or so and ask you to test it on your NICs?

@sippejw
Copy link
Contributor Author

sippejw commented Jul 16, 2024

I don't have a generic fix yet, just my hack to get things working on the X710. Happy to look at this more after I get a little further with the QUIC stuff (#37).

@sippejw
Copy link
Contributor Author

sippejw commented Jul 16, 2024

Also happy to test your fix on our NICs if you get to it first!

@tbarbette
Copy link
Collaborator

FYI, dev_info.flow_type_rss_offloads is a mask of the supported rss_hf "modes" of the device. So one could simply do a bitwise and of this mask.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

No branches or pull requests

3 participants