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

TX queue map between vif and tap #28

Open
pinggit opened this issue Oct 23, 2020 · 1 comment
Open

TX queue map between vif and tap #28

pinggit opened this issue Oct 23, 2020 · 1 comment

Comments

@pinggit
Copy link
Owner

pinggit commented Oct 23, 2020

For single queue scenario, I’m confused how the returning traffic (from bond to VM) works.
Say tap was allocated to lcore 10 only.
When vif0 got the traffic it can be in any lcore, let's assumelcore11 got the packet and no LB happens,
Will it has to know lcore10 connects to the RX VM so it fwd lcore11 -> lcore10 -> VM?

Or, the lcore allocation is only for RX direction? If that is the case, then it is worth to say it explicitly in our book.

@pinggit
Copy link
Owner Author

pinggit commented Oct 23, 2020

From: Laurent Antoine Durand [email protected]
Sent: Friday, October 23, 2020 5:13 AM
To: Ping Song [email protected]; Kiran KN [email protected]; Przemyslaw Grygiel [email protected]
Subject: RE: vrouter/DPDK day one book: single queue

The polling core is only for vif RX side. This is what is described into dpdkinfo -c tools.
The the packet is processed by a core (the same or another).
Then this core has to deliver the packet on a TX queue.
I have no idea how the TX queue is chosen.

Vif0 (N queues) to vif X (less than N queues):
core 10 is polling on vif0
core 11 is processing the packet and is delivering the packet on of the vif X queue (I do not know the target Q is selected – probably a hash is calculated).

vif X to vif0
Core X is the polling core on vif X
Core Y is the processing core and is delivering the packet on one of the vif 0 queue (here probably the TX queue attached to it has we have exactly the same number of Q on vif0 side as number of core).

Laurent

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

No branches or pull requests

1 participant