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