diff options
author | John Hurley <john.hurley@netronome.com> | 2019-06-25 00:13:35 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-28 23:36:25 +0200 |
commit | 720f22fed81bc6fd1765db7014651b6718887bea (patch) | |
tree | 7e800de40ddee832bf6dde5738c1994824b93c0b /include/net/pkt_cls.h | |
parent | ipv4: enable route flushing in network namespaces (diff) | |
download | linux-720f22fed81bc6fd1765db7014651b6718887bea.tar.xz linux-720f22fed81bc6fd1765db7014651b6718887bea.zip |
net: sched: refactor reinsert action
The TC_ACT_REINSERT return type was added as an in-kernel only option to
allow a packet ingress or egress redirect. This is used to avoid
unnecessary skb clones in situations where they are not required. If a TC
hook returns this code then the packet is 'reinserted' and no skb consume
is carried out as no clone took place.
This return type is only used in act_mirred. Rather than have the reinsert
called from the main datapath, call it directly in act_mirred. Instead of
returning TC_ACT_REINSERT, change the type to the new TC_ACT_CONSUMED
which tells the caller that the packet has been stolen by another process
and that no consume call is required.
Moving all redirect calls to the act_mirred code is in preparation for
tracking recursion created by act_mirred.
Signed-off-by: John Hurley <john.hurley@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/pkt_cls.h')
-rw-r--r-- | include/net/pkt_cls.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index 720f2b32fc2f..1a7596ba0dbe 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h @@ -10,7 +10,7 @@ #include <net/net_namespace.h> /* TC action not accessible from user space */ -#define TC_ACT_REINSERT (TC_ACT_VALUE_MAX + 1) +#define TC_ACT_CONSUMED (TC_ACT_VALUE_MAX + 1) /* Basic packet classifier frontend definitions. */ |