[ovs-dev] OVN: Preserving state between logical datapaths

Ben Pfaff blp at ovn.org
Thu Feb 16 20:44:59 UTC 2017


On Fri, Feb 17, 2017 at 12:44:09AM +0500, Valentine Sinitsyn wrote:
> On 16.02.2017 21:24, Ben Pfaff wrote:
> >On Thu, Feb 16, 2017 at 08:46:34PM +0500, Valentine Sinitsyn wrote:
> >>Imagine you want to mark a packet in logical switch datapath then use this
> >>mark in logical router datapath somehow (an artificial use-case would be
> >>policy routing based on VM port, not destination IP address).
> >>
> >>Is there a better way than using packet mark (which also doesn't seem to
> >>survive "output" action, yet it's easily fixable)? I assume OVS/OVN 2.6 on
> >>Linux with in-kernel datapath, if this matters.
> >
> >The main issue for preserving metadata from one logical datapath to
> >another is that there needs to be a way to do it when we cross from one
> >hypervisor to another.  This is straightforward in Geneve, by adding an
> >extra option.  So far, we haven't had enough motivation to add extra
> >options for this purpose.
> Makes sense. Let us consider an artificial use-case above, though. If we are
> only concerned about preserving metadata across logical patch ports, the
> traffic is local to hypervisor. What then?

If that's the only case you care about, all you have to do is delete the
code in ovn-controller that zeros out metadata when packets go from
ingress to egress or from one logical datapath to another.  (This could
cause some problems because the logical flows tables assume that
registers are zero at the beginning of the pipeline.)


More information about the dev mailing list