diff options
author | Mickey Spiegel <mickeys.dev@gmail.com> | 2017-01-26 17:31:07 -0800 |
---|---|---|
committer | Gurucharan Shetty <guru@ovn.org> | 2017-01-27 11:10:42 -0800 |
commit | 1b4413004f48ce1ddb1a6de9f4ed5824ccd35a7d (patch) | |
tree | 5299121559978ad5875db84cfb066283efe70ceb /tests | |
parent | 8697d4268b9a4578cfe0b783bc83b91b6a0c9e11 (diff) | |
download | openvswitch-1b4413004f48ce1ddb1a6de9f4ed5824ccd35a7d.tar.gz |
ovn: avoid snat recirc only on gateway routers
Currently, for performance reasons on gateway routers, ct_snat
that does not specify an IP address does not immediately trigger
recirculation. On gateway routers, ct_snat that does not specify
an IP address happens in the UNSNAT pipeline stage, which is
followed by the DNAT pipeline stage that triggers recirculation
for all packets. This DNAT pipeline stage recirculation takes
care of the recirculation needs of UNSNAT as well as other cases
such as UNDNAT.
On distributed routers, UNDNAT is handled in the egress pipeline
stage, separately from DNAT in the ingress pipeline stages. The
DNAT pipeline stage only triggers recirculation for some packets.
Due to this difference in design, UNSNAT needs to trigger its own
recirculation.
This patch restricts the logic that avoids recirculation for
ct_snat, so that it only applies to datapaths representing
gateway routers.
Signed-off-by: Mickey Spiegel <mickeys.dev@gmail.com>
Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ovn.at | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/ovn.at b/tests/ovn.at index 7ace71597..26108aaaa 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -872,7 +872,7 @@ ct_dnat(); # ct_snat ct_snat; - encodes as ct(zone=NXM_NX_REG12[0..15],nat) + encodes as ct(table=27,zone=NXM_NX_REG12[0..15],nat) has prereqs ip ct_snat(192.168.1.2); encodes as ct(commit,table=27,zone=NXM_NX_REG12[0..15],nat(src=192.168.1.2)) |