-
Notifications
You must be signed in to change notification settings - Fork 81
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
Option to use veth instead of dummy for DPDK support #189
Comments
if you want slowpath synch why don't you simply ask an additional slowpath interface for this, i.e. IPVLAN for example? |
The use case is to direct arp, icmp, dynamic route protocol packets targeting the fastpath IP of the app etc., to the kernel i.e., slowpath and handle transit traffic routing in fastpath. If this can be done using an extra ipvlan, i am interested in knowing that. Basically we want to offload as much control packet processing targeted to fastpath's IP to the kernel, instead of re-implementing it within the app/fastpath |
yeah I'm familiar with terminology, we use the same internally as well but please let me know if you find a problem with this approach! |
Is there an example of such a pod? Who is splitting the traffic and based on what is it decided that arp, icmp go to macvlan vs GTPU traffic goes to SRIOV interface? Currently we have a filter in our app we do this splitting. SRIOV -> host-traffic filter -> veth. This veth is dpdk end. The kernel end mirrors the VF mac and has IP and route details. https://github.com/omec-project/upf-epc/blob/master/conf/spgwu.bess#L148-L170 |
I'm sure there is, but the only one I know of is unfortunetaly proprietary :) so just for my reference, how do exactly the veth pair look like in your example? I understand that both are created inside the container netns, but I'm not sure how would that work exactly |
BTW how does the application know which veth interface it should use? or simply "the one not having an IP is mine"? |
The app simply looks up the peer of the CNI configured veth end. Since we know the "CNI/linux" end's name we can do this - |
I did not follow up on your comment here k8snetworkplumbingwg/sriov-cni#37 (comment) but one of the reasons I used veth here was some slowpath processing can happen in the kernel. We used veth to inject on one side from DPDK app. The kernel would receive them on the other end of veth and then craft any replies or update its state.
From what I understand dummy interface is not capable of this. What are you thoughts on providing a veth option?
The text was updated successfully, but these errors were encountered: