[ovs-git] [openvswitch/ovs] e5fd03: ovn: Recirculate packets after a unSNAT.

GitHub noreply at github.com
Fri Apr 13 21:02:50 UTC 2018

  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: e5fd03e8190a149533c58a4c2cfc3c35a7a7b509
  Author: Gurucharan Shetty <guru at ovn.org>
  Date:   2018-04-13 (Fri, 13 Apr 2018)

  Changed paths:
    M include/ovn/actions.h
    M ovn/controller/lflow.c
    M ovn/lib/actions.c
    M ovn/northd/ovn-northd.8.xml
    M ovn/northd/ovn-northd.c
    M ovn/ovn-sb.xml
    M tests/system-ovn.at

  Log Message:
  ovn: Recirculate packets after a unSNAT.

commit f6fabcc6245 (ofproto-dpif: Mark packets as "untracked"
after call to ct().) changed the behavior after a call to ct().
The +trk bit would automatically be unset if packet is sent to
ct() and not forked.  This caused a bug in the OVN gateway
pipeline when there is SNAT rule as well as load-balancing rule.

In the OVN gateway pipeline for the gateway router, we had an
optimization where the packets sent to unSNAT need not go through
a recirculation. But since doing this now means that the +trk bit
gets unset, the DNAT rules for load-balancing a new packet in the next
table won't get hit.

This commit removes the optimization for unSNAT packets so that
there is always a recirculation.

Signed-off-by: Gurucharan Shetty <guru at ovn.org>

More information about the git mailing list