Star64_linux/net/openvswitch
Jarno Rajahalme 9ff464db50 openvswitch: Use inverted tuple in ovs_ct_find_existing() if NATted.
The conntrack lookup for existing connections fails to invert the
packet 5-tuple for NATted packets, and therefore fails to find the
existing conntrack entry.  Conntrack only stores 5-tuples for incoming
packets, and there are various situations where a lookup on a packet
that has already been transformed by NAT needs to be made.  Looking up
an existing conntrack entry upon executing packet received from the
userspace is one of them.

This patch fixes ovs_ct_find_existing() to invert the packet 5-tuple
for the conntrack lookup whenever the packet has already been
transformed by conntrack from its input form as evidenced by one of
the NAT flags being set in the conntrack state metadata.

Fixes: 05752523e5 ("openvswitch: Interface with NAT.")
Signed-off-by: Jarno Rajahalme <jarno@ovn.org>
Acked-by: Joe Stringer <joe@ovn.org>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-09 22:59:34 -05:00
..
actions.c openvswitch: Simplify do_execute_actions(). 2017-01-29 19:00:16 -05:00
conntrack.c openvswitch: Use inverted tuple in ovs_ct_find_existing() if NATted. 2017-02-09 22:59:34 -05:00
conntrack.h
datapath.c openvswitch: upcall: Fix vlan handling. 2016-12-27 12:28:07 -05:00
datapath.h netns: make struct pernet_operations::id unsigned int 2016-11-18 10:59:15 -05:00
dp_notify.c
flow.c openvswitch: upcall: Fix vlan handling. 2016-12-27 12:28:07 -05:00
flow.h openvswitch: add mac_proto field to the flow key 2016-11-13 00:51:02 -05:00
flow_netlink.c openvswitch: Add a missing break statement. 2016-12-20 14:07:41 -05:00
flow_netlink.h openvswitch: avoid resetting flow key while installing new flow. 2016-09-20 22:54:35 -04:00
flow_table.c openvswitch: use percpu flow stats 2016-09-18 22:14:01 -04:00
flow_table.h
Kconfig
Makefile
vport-geneve.c openvswitch: do not ignore netdev errors when creating tunnel vports 2016-08-10 23:13:23 -07:00
vport-gre.c openvswitch: do not ignore netdev errors when creating tunnel vports 2016-08-10 23:13:23 -07:00
vport-internal_dev.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
vport-internal_dev.h
vport-netdev.c openvswitch: allow L3 netdev ports 2016-11-13 00:51:02 -05:00
vport-netdev.h
vport-vxlan.c openvswitch: do not ignore netdev errors when creating tunnel vports 2016-08-10 23:13:23 -07:00
vport.c openvswitch: add processing of L3 packets 2016-11-13 00:51:02 -05:00
vport.h openvswitch: pass mac_proto to ovs_vport_send 2016-11-13 00:51:02 -05:00