Inner workings of OVS DPDK's datapath and differences with vanilla OVS

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

Answers (1)

pchaigno
pchaigno

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

Related Questions