diff options
author | Eric Garver <e@erig.me> | 2017-10-10 16:54:44 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-10 16:38:34 -0700 |
commit | b8226962b1c49c784aeddb9d2fafbf53dfdc2190 (patch) | |
tree | 838a6a361a81ff5f613371bcdfcd2113270b0fab /net/openvswitch/actions.c | |
parent | 833e0e2f24fd0525090878f71e129a8a4cb8bf78 (diff) | |
download | op-kernel-dev-b8226962b1c49c784aeddb9d2fafbf53dfdc2190.zip op-kernel-dev-b8226962b1c49c784aeddb9d2fafbf53dfdc2190.tar.gz |
openvswitch: add ct_clear action
This adds a ct_clear action for clearing conntrack state. ct_clear is
currently implemented in OVS userspace, but is not backed by an action
in the kernel datapath. This is useful for flows that may modify a
packet tuple after a ct lookup has already occurred.
Signed-off-by: Eric Garver <e@erig.me>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/actions.c')
-rw-r--r-- | net/openvswitch/actions.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c index a54a556..a551232 100644 --- a/net/openvswitch/actions.c +++ b/net/openvswitch/actions.c @@ -1203,6 +1203,10 @@ static int do_execute_actions(struct datapath *dp, struct sk_buff *skb, return err == -EINPROGRESS ? 0 : err; break; + case OVS_ACTION_ATTR_CT_CLEAR: + err = ovs_ct_clear(skb, key); + break; + case OVS_ACTION_ATTR_PUSH_ETH: err = push_eth(skb, key, nla_data(a)); break; |