Reputation: 47
I would like to understand how the forwarding plane (a.k.a. datapath) works in OVS DPDK. Does this OVS DPDK bridge hosting the dpdkhostuser use forwarding information base (FIB) like normal OVS bridges (with a mac table against each dpdkvhost user port), or do packets flow based on the OpenFlow tables' content?
Upvotes: 1
Views: 488
Reputation: 13093
With regard to the forwarding pipeline, the DPDK datapath of Open vSwitch works the same as the Linux kernel datapath. It implements two levels of flow caches (called miniflow and megaflow caches) and populates them according to the flow tables defined in the slow path (which is the same of the slow path for any other datapath).
So, packets are processed according to the OpenFlow tables, which may actually contain a NORMAL
action, in which case, the DPDK datapath will act as a learning switch.
For more information, I would recommend that you read the NSDI 2015 paper. It describes the Open vSwitch's caching mechanisms (for the Linux kernel datapath, but as I said, it's the same principle for the DPDK datapath).
Upvotes: 1