flow_dissector: implements flow dissector BPF hook
Adds a hook for programs of type BPF_PROG_TYPE_FLOW_DISSECTOR and attach type BPF_FLOW_DISSECTOR that is executed in the flow dissector path. The BPF program is per-network namespace. Signed-off-by: Petar Penkov <ppenkov@google.com> Signed-off-by: Willem de Bruijn <willemb@google.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
committed by
Alexei Starovoitov
parent
1edb6e035e
commit
d58e468b11
@ -19,6 +19,7 @@ struct Qdisc_ops;
|
||||
struct qdisc_walker;
|
||||
struct tcf_walker;
|
||||
struct module;
|
||||
struct bpf_flow_keys;
|
||||
|
||||
typedef int tc_setup_cb_t(enum tc_setup_type type,
|
||||
void *type_data, void *cb_priv);
|
||||
@ -307,9 +308,14 @@ struct tcf_proto {
|
||||
};
|
||||
|
||||
struct qdisc_skb_cb {
|
||||
unsigned int pkt_len;
|
||||
u16 slave_dev_queue_mapping;
|
||||
u16 tc_classid;
|
||||
union {
|
||||
struct {
|
||||
unsigned int pkt_len;
|
||||
u16 slave_dev_queue_mapping;
|
||||
u16 tc_classid;
|
||||
};
|
||||
struct bpf_flow_keys *flow_keys;
|
||||
};
|
||||
#define QDISC_CB_PRIV_LEN 20
|
||||
unsigned char data[QDISC_CB_PRIV_LEN];
|
||||
};
|
||||
|
Reference in New Issue
Block a user