linux/net/openvswitch
Jarno Rajahalme 5745b0be05 openvswitch: Fix checking for new expected connections.
OVS should call into CT NAT for packets of new expected connections only
when the conntrack state is persisted with the 'commit' option to the
OVS CT action.  The test for this condition is doubly wrong, as the CT
status field is ANDed with the bit number (IPS_EXPECTED_BIT) rather
than the mask (IPS_EXPECTED), and due to the wrong assumption that the
expected bit would apply only for the first (i.e., 'new') packet of a
connection, while in fact the expected bit remains on for the lifetime of
an expected connection.  The 'ctinfo' value IP_CT_RELATED derived from
the ct status can be used instead, as it is only ever applicable to
the 'new' packets of the expected connection.

Fixes: 05752523e5 ('openvswitch: Interface with NAT.')
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jarno Rajahalme <jarno@ovn.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2016-03-28 17:58:51 +02:00
..
actions.c net: use skb_postpush_rcsum instead of own implementations 2016-02-19 23:43:10 -05:00
conntrack.c openvswitch: Fix checking for new expected connections. 2016-03-28 17:58:51 +02:00
conntrack.h openvswitch: Interface with NAT. 2016-03-14 23:47:29 +01:00
datapath.c ovs: allow nl 'flow set' to use ufid without flow key 2016-03-13 22:18:26 -04:00
datapath.h ovs: propagate per dp max headroom to all vports 2016-03-01 15:54:30 -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: allow output of MPLS packets on tunnel vports 2016-03-18 18:26:38 -04:00
flow_netlink.h openvswitch: Fix egress tunnel info. 2015-10-22 19:39:25 -07:00
flow_table.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-20 06:08:27 -07:00
flow_table.h openvswitch: Zero flows on allocation. 2015-09-22 17:33:41 -07:00
flow.c openvswitch: add tunnel protocol to sw_flow_key 2015-10-07 04:17:59 -07:00
flow.h ip_tunnels, bpf: define IP_TUNNEL_OPTS_MAX and use it 2016-03-18 19:38:46 -04:00
Kconfig openvswitch: Interface with NAT. 2016-03-14 23:47:29 +01:00
Makefile openvswitch: Remove conntrack Kconfig option. 2015-09-06 23:48:33 -07:00
vport-geneve.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2016-03-17 21:38:27 -07:00
vport-gre.c openvswitch: properly refcount vport-vxlan module 2015-12-02 11:50:59 -05:00
vport-internal_dev.c ovs: internal_set_rx_headroom() can be static 2016-03-18 17:50:36 -04:00
vport-internal_dev.h openvswitch: introduce rtnl ops stub 2014-07-01 14:40:17 -07:00
vport-netdev.c net: use skb_postpush_rcsum instead of own implementations 2016-02-19 23:43:10 -05:00
vport-netdev.h openvswitch: Use dev_queue_xmit for vport send. 2015-10-22 06:46:16 -07:00
vport-vxlan.c lwt: fix rx checksum setting for lwt devices tunneling over ipv6 2016-02-19 15:39:30 -05:00
vport.c openvswitch: properly refcount vport-vxlan module 2015-12-02 11:50:59 -05:00
vport.h net: use skb_postpush_rcsum instead of own implementations 2016-02-19 23:43:10 -05:00