[ovs-discuss] why ct_snat in gateway router without recirc_table
Wei Li
liw at dtdream.com
Wed Nov 1 10:05:22 UTC 2017
Hello everyone
In
https://github.com/openvswitch/ovs/blob/master/ovn/lib/actions.c?utf8=%E2%9C%93#L833
} else if (snat && ep->is_gateway_router) {
/* For performance reasons, we try to prevent additional
* recirculations. ct_snat which is used in a gateway router
* does not need a recirculation. ct_snat(IP) does need a
* recirculation. ct_snat in a distributed router needs
* recirculation regardless of whether an IP address is
* specified.
* XXX Should we consider a method to let the actions specify
* whether an action needs recirculation if there are more use
* cases?. */
ct->recirc_table = NX_CT_RECIRC_NONE;
}
but in
https://github.com/openvswitch/ovs/blob/master/ovn/northd/ovn-northd.8.xml?utf8=%E2%9C%93#L1390
<p>
If the Gateway router has been configured to force SNAT any
previously DNATted packets to <var>B</var>, a priority-110 flow
matches <code>ip && ip4.dst == <var>B</var></code> with
an action <code>ct_snat; next;</code>.
</p>
Action "ct_snat" already include "resubmit next table", why delete it
and add a "next" action?
What is the difference between "ct_snat without recirc_table and next"
and "ct_snat with recirc_table"?
Thanks in advance
More information about the discuss
mailing list