diff options
author | Xin Long <lucien.xin@gmail.com> | 2022-12-08 11:56:12 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-12-12 10:14:03 +0000 |
commit | ebddb1404900657b7f03a56ee4c34a9d218c4030 (patch) | |
tree | 229260979b87bd6cd585ebf94fbd7939fa8254cd /net/openvswitch/Kconfig | |
parent | 0564c3e51bc7bb200e76d0cad2d7067cc77cb83e (diff) | |
download | linux-next-ebddb1404900657b7f03a56ee4c34a9d218c4030.tar.gz |
net: move the nat function to nf_nat_ovs for ovs and tc
There are two nat functions are nearly the same in both OVS and
TC code, (ovs_)ct_nat_execute() and ovs_ct_nat/tcf_ct_act_nat().
This patch creates nf_nat_ovs.c under netfilter and moves them
there then exports nf_ct_nat() so that it can be shared by both
OVS and TC, and keeps the nat (type) check and nat flag update
in OVS and TC's own place, as these parts are different between
OVS and TC.
Note that in OVS nat function it was using skb->protocol to get
the proto as it already skips vlans in key_extract(), while it
doesn't in TC, and TC has to call skb_protocol() to get proto.
So in nf_ct_nat_execute(), we keep using skb_protocol() which
works for both OVS and TC contrack.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/Kconfig')
-rw-r--r-- | net/openvswitch/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/openvswitch/Kconfig b/net/openvswitch/Kconfig index 15bd287f5cbd..747d537a3f06 100644 --- a/net/openvswitch/Kconfig +++ b/net/openvswitch/Kconfig @@ -15,6 +15,7 @@ config OPENVSWITCH select NET_MPLS_GSO select DST_CACHE select NET_NSH + select NF_NAT_OVS if NF_NAT help Open vSwitch is a multilayer Ethernet switch targeted at virtualized environments. In addition to supporting a variety of features |