android_kernel_asus_sm8350/net/openvswitch
Jarno Rajahalme dd41d33f0b openvswitch: Add force commit.
Stateful network admission policy may allow connections to one
direction and reject connections initiated in the other direction.
After policy change it is possible that for a new connection an
overlapping conntrack entry already exists, where the original
direction of the existing connection is opposed to the new
connection's initial packet.

Most importantly, conntrack state relating to the current packet gets
the "reply" designation based on whether the original direction tuple
or the reply direction tuple matched.  If this "directionality" is
wrong w.r.t. to the stateful network admission policy it may happen
that packets in neither direction are correctly admitted.

This patch adds a new "force commit" option to the OVS conntrack
action that checks the original direction of an existing conntrack
entry.  If that direction is opposed to the current packet, the
existing conntrack entry is deleted and a new one is subsequently
created in the correct direction.

Signed-off-by: Jarno Rajahalme <jarno@ovn.org>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Acked-by: Joe Stringer <joe@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-09 22:59:34 -05:00
..
actions.c openvswitch: Add original direction conntrack tuple to sw_flow_key. 2017-02-09 22:59:34 -05:00
conntrack.c openvswitch: Add force commit. 2017-02-09 22:59:34 -05:00
conntrack.h openvswitch: Add original direction conntrack tuple to sw_flow_key. 2017-02-09 22:59:34 -05:00
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 openvswitch: fix hangup on vxlan/gre/geneve device deletion 2015-12-03 14:29:25 -05:00
flow_netlink.c openvswitch: Add original direction conntrack tuple to sw_flow_key. 2017-02-09 22:59:34 -05:00
flow_netlink.h openvswitch: Add original direction conntrack tuple to sw_flow_key. 2017-02-09 22:59:34 -05:00
flow_table.c openvswitch: use percpu flow stats 2016-09-18 22:14:01 -04:00
flow_table.h openvswitch: Zero flows on allocation. 2015-09-22 17:33:41 -07:00
flow.c openvswitch: Add original direction conntrack tuple to sw_flow_key. 2017-02-09 22:59:34 -05:00
flow.h openvswitch: Add original direction conntrack tuple to sw_flow_key. 2017-02-09 22:59:34 -05:00
Kconfig openvswitch: call only into reachable nf-nat code 2016-03-28 17:58:59 +02:00
Makefile openvswitch: Remove conntrack Kconfig option. 2015-09-06 23:48:33 -07:00
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 openvswitch: introduce rtnl ops stub 2014-07-01 14:40:17 -07:00
vport-netdev.c openvswitch: allow L3 netdev ports 2016-11-13 00:51:02 -05:00
vport-netdev.h openvswitch: Use dev_queue_xmit for vport send. 2015-10-22 06:46:16 -07:00
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