mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 08:38:28 -04:00
net: sched: add em_ipt ematch for calling xtables matches
The commit a new tc ematch for using netfilter xtable matches. This allows early classification as well as mirroning/redirecting traffic based on logic implemented in netfilter extensions. Current supported use case is classification based on the incoming IPSec state used during decpsulation using the 'policy' iptables extension (xt_policy). The module dynamically fetches the netfilter match module and calls it using a fake xt_action_param structure based on validated userspace provided parameters. As the xt_policy match does not access skb->data, no skb modifications are needed on match. Signed-off-by: Eyal Birger <eyal.birger@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
022ddbca86
commit
ccc007e4a7
@@ -555,7 +555,8 @@ enum {
|
||||
#define TCF_EM_VLAN 6
|
||||
#define TCF_EM_CANID 7
|
||||
#define TCF_EM_IPSET 8
|
||||
#define TCF_EM_MAX 8
|
||||
#define TCF_EM_IPT 9
|
||||
#define TCF_EM_MAX 9
|
||||
|
||||
enum {
|
||||
TCF_EM_PROG_TC
|
||||
|
||||
20
include/uapi/linux/tc_ematch/tc_em_ipt.h
Normal file
20
include/uapi/linux/tc_ematch/tc_em_ipt.h
Normal file
@@ -0,0 +1,20 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef __LINUX_TC_EM_IPT_H
|
||||
#define __LINUX_TC_EM_IPT_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
enum {
|
||||
TCA_EM_IPT_UNSPEC,
|
||||
TCA_EM_IPT_HOOK,
|
||||
TCA_EM_IPT_MATCH_NAME,
|
||||
TCA_EM_IPT_MATCH_REVISION,
|
||||
TCA_EM_IPT_NFPROTO,
|
||||
TCA_EM_IPT_MATCH_DATA,
|
||||
__TCA_EM_IPT_MAX
|
||||
};
|
||||
|
||||
#define TCA_EM_IPT_MAX (__TCA_EM_IPT_MAX - 1)
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user