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

A RSS value of anything other than 1 results in 100% packet drops for ixgbe driver #35

Closed
jnicholls opened this issue Aug 17, 2015 · 3 comments
Labels

Comments

@jnicholls
Copy link
Contributor

For some reason, if I either omit the RSS value, or set it to anything other than 1, PF_RING will drop all packets. Is this to be expected? What would cause that behavior? It seems counter-intuitive that a single RX queue would perform better than multiple RX queues. It's as if the PF_RING library has internally deadlocked in its worker thread.

Does one have to do anything differently in userland to properly use multiple RX queues? What's the benefit/cost tradeoffs to having a single vs. multiple RX queues?

Thanks!

@cardigliano
Copy link
Member

If you are using ZC, you are probably capturing from the first queue only (ethX == ethX@0),
you should explicitly capture from all the queues when multiqueue is enabled. You have benefits
using multithreaded/multiprocess applications, otherwise better to use 1 queue.

Alfredo

On 17 Aug 2015, at 12:37, Jarred Nicholls notifications@github.com wrote:

For some reason, if I either omit the RSS value, or set it to anything other than 1, PF_RING will drop all packets. Is this to be expected? What would cause that behavior? It seems counter-intuitive that a single RX queue would perform better than multiple RX queues. It's as if the PF_RING library has internally deadlocked in its worker thread.

Does one have to do anything differently in userland to properly use multiple RX queues? What's the benefit/cost tradeoffs to having a single vs. multiple RX queues?

Thanks!


Reply to this email directly or view it on GitHub #35.

@jnicholls
Copy link
Contributor Author

Thanks Alfreda. How are the packets distributed amongst the queues? Is there any control over this? Thanks.

@cardigliano
Copy link
Member

RSS hash is based on src/dst ip and port (bidirectional thanks to the ZC library reprogramming the hw hashing function),
thus traffic gets load-balanced across queues based on sessions (flows).

Alfredo

On 31 Aug 2015, at 20:27, Jarred Nicholls notifications@github.com wrote:

Thanks Alfreda. How are the packets distributed amongst the queues? Is there any control over this? Thanks.


Reply to this email directly or view it on GitHub #35 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants