OVS Orbit artwork

Flow Translation

OVS Orbit

English - April 29, 2018 15:57 - 52 minutes - 23.9 MB - ★★★★★ - 1 rating
Technology Education How To Homepage Download IPFS Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed



This is the third in a series of Open vSwitch tech talks that we are
starting to run internally at VMware every week or two. This episode is
about flow translation, the process that OVS follows when a packet
arrives in the software switch that does not match any already
established entry in the OVS datapath cache (the megaflow cache).


The translation process has two goals. First, it figures out what to do
with the particular packet being processed Second, it determines what
class of packets similar to this packet can be treated the same way. The
former determination is generally applied directly to the packet in
question, and the latter is used to add a new cache entry (megaflow) to
the datapath.


The main source files involved in translation are ofproto-dpif-xlate.c and ofproto-dpif-xlate.h.


In addition to the translation process itself, the talk covers some uses
of relevant tools: ovs-dpctl dump-flows and ovs-appctl
dpctl/dump-flows for viewing datapath cache entries, and
ovs-appctl ofproto/trace for understanding how cache entries
are devised and populated and playing "what-if?" games. These are
documented in the ovs-vswitchd and ovs-dpctl
manpages.


The NSDI 2015 paper The
Design and Implementation of Open vSwitch
covers in detail how Open
vSwitch caches translations.


OVS Orbit is produced by Ben Pfaff. The
intro music in this episode is Drive,
featuring cdk and DarrylJ, copyright 2013, 2016 by Alex. The bumper
music is Yeah Ant
featuring Wired Ant and Javolenus, copyright 2013 by Speck. The outro
music is Space
Bazooka
featuring Doxen Zsigmond, copyright 2013 by Kirkoid. All
content is licensed under a Creative Commons Attribution 3.0
Unported (CC BY 3.0)
license.