H! Thank you very much for all the information! Nicolas
________________________________________ De : Zoltan Kiss <[email protected]> Envoyé : mercredi 25 novembre 2015 19:08 À : Kury Nicolas; Justin Pettit Cc : [email protected] Objet : Re: [ovs-discuss] Architecture Open vSwitch with DPDK On 25/11/15 10:18, Kury Nicolas wrote: > Thank you, I understand! > > One question more and I hope it will be the last. > > In OVS, we talk about fast path and slow path. Is there a such thing in > OVS-DPDK ? If my understanding is correct: > With OVS(generic): > - Fast path: the datapath (kernel module) know the rules and can process the > paquet. > - Slow path. If the datapath (kernel module) doesn't know the rules, the > packet is transmitted to dpi and then ofproto-dpif. Then ofproto-dpif check > is the rules exist in the flow table of OpenFlow. If yes, the rules are added > in the datapath (kernel module) and the following packets will use the fast > path. If not, the rules will be asked to the OpenFlow controller. > > With OVS-DPDK, are there also 2 flow tables ? The datapath flow table > (dpif-netdev) and OpenFlow flow table (ofproto-dpif) ? When the datapath > (dpif-netdev) doesn't know the rules, the packet is sent to ofproto-dpif that > check the rules in the OpenFlow flow table etc. ? There is a somewhat similar thing in dpif-netdev: dp_netdev_input() calls emc_processing() first, which tries to match a per-thread exact-match table based on the packet's RSS hash. If it's unsuccessful, it calls fast_path_processing(), which first tries the classifier with dpcls_lookup(), and if nothing helps it executes an upcall to ofproto directly. > > Thank you! > Nicolas > > > ________________________________________ > De : Justin Pettit <[email protected]> > Envoyé : mercredi 25 novembre 2015 09:41 > À : Kury Nicolas > Cc : [email protected] > Objet : Re: [ovs-discuss] Architecture Open vSwitch with DPDK > >> On Nov 25, 2015, at 12:30 AM, Kury Nicolas <[email protected]> >> wrote: >> >> Hi >> >> Thank your very much for the answer! I have also read and watched some >> presentation about OVS and now I understand better. >> >> I have found a presentation about OVS-DPDK and there are some points I'm not >> sure to understand. Screenshot: http://s29.postimg.org/ig8us188n/ovs_dpdk.png >> - The elements "ovs kernel module" and "kernel packet processing" and only >> used by dpif-linux, right ? > > dpif-netlink, but yes. > >> - The element "User Space Forwarding", is it dpif-netdev ? > > Correct. > >> In the PORTING.md section of OVS, I have some difficulties to understand >> the interation between a netdev provider and a dpif provider. Which one >> carries the packet, first ? The netdev provider or the dpif provider ? > > netdev. > >> - With OVS-DPDK, I guess netdev-dpdk is the first element to receive the >> packet and transmits it to the dpif-netdev (userspace), right ? Then >> dpif-netdev check the rules in the flow table and if they match, execute the >> action, and transmits it back to netdev-dpdk ? > > That all sounds correct. > >> - So... in OVS generic without DPDK, does the netdev-linux receive the >> packet first and transmit it to the dpif-netlink ? Then dpif-netlink >> transmits it to the datapath in kernel ? I think I'm wrong. > > In the kernel version, netdev is not involved in packet handling. It would > be passed from the kernel module directly to dpif-netlink to dpif. > > --Justin > _______________________________________________ > discuss mailing list > [email protected] > http://openvswitch.org/mailman/listinfo/discuss > _______________________________________________ discuss mailing list [email protected] http://openvswitch.org/mailman/listinfo/discuss
