pkt_cls.h (8747d82d3c32df488ea0fe9b86bdb53a8a04a7b8) pkt_cls.h (4e95bc268b915c3a19ec8b9110f61e4ea41a1ed0)
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __NET_PKT_CLS_H
3#define __NET_PKT_CLS_H
4
5#include <linux/pkt_cls.h>
6#include <linux/workqueue.h>
7#include <net/sch_generic.h>
8#include <net/act_api.h>

--- 12 unchanged lines hidden (view full) ---

21 bool nonempty;
22 unsigned long cookie;
23 int (*fn)(struct tcf_proto *, void *node, struct tcf_walker *);
24};
25
26int register_tcf_proto_ops(struct tcf_proto_ops *ops);
27int unregister_tcf_proto_ops(struct tcf_proto_ops *ops);
28
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __NET_PKT_CLS_H
3#define __NET_PKT_CLS_H
4
5#include <linux/pkt_cls.h>
6#include <linux/workqueue.h>
7#include <net/sch_generic.h>
8#include <net/act_api.h>

--- 12 unchanged lines hidden (view full) ---

21 bool nonempty;
22 unsigned long cookie;
23 int (*fn)(struct tcf_proto *, void *node, struct tcf_walker *);
24};
25
26int register_tcf_proto_ops(struct tcf_proto_ops *ops);
27int unregister_tcf_proto_ops(struct tcf_proto_ops *ops);
28
29enum tcf_block_binder_type {
30 TCF_BLOCK_BINDER_TYPE_UNSPEC,
31 TCF_BLOCK_BINDER_TYPE_CLSACT_INGRESS,
32 TCF_BLOCK_BINDER_TYPE_CLSACT_EGRESS,
33};
29#define tc_block_offload flow_block_offload
30#define tc_block_command flow_block_command
31#define tcf_block_binder_type flow_block_binder_type
34
35struct tcf_block_ext_info {
36 enum tcf_block_binder_type binder_type;
37 tcf_chain_head_change_t *chain_head_change;
38 void *chain_head_change_priv;
39 u32 block_index;
40};
41

--- 563 unchanged lines hidden (view full) ---

605}
606
607int tc_setup_flow_action(struct flow_action *flow_action,
608 const struct tcf_exts *exts);
609int tc_setup_cb_call(struct tcf_block *block, enum tc_setup_type type,
610 void *type_data, bool err_stop);
611unsigned int tcf_exts_num_actions(struct tcf_exts *exts);
612
32
33struct tcf_block_ext_info {
34 enum tcf_block_binder_type binder_type;
35 tcf_chain_head_change_t *chain_head_change;
36 void *chain_head_change_priv;
37 u32 block_index;
38};
39

--- 563 unchanged lines hidden (view full) ---

603}
604
605int tc_setup_flow_action(struct flow_action *flow_action,
606 const struct tcf_exts *exts);
607int tc_setup_cb_call(struct tcf_block *block, enum tc_setup_type type,
608 void *type_data, bool err_stop);
609unsigned int tcf_exts_num_actions(struct tcf_exts *exts);
610
613enum tc_block_command {
614 TC_BLOCK_BIND,
615 TC_BLOCK_UNBIND,
616};
617
618struct tc_block_offload {
619 enum tc_block_command command;
620 enum tcf_block_binder_type binder_type;
621 struct tcf_block *block;
622 struct netlink_ext_ack *extack;
623};
624
625struct tc_cls_common_offload {
626 u32 chain_index;
627 __be16 protocol;
628 u32 prio;
629 struct netlink_ext_ack *extack;
630};
631
632struct tc_cls_u32_knode {

--- 321 unchanged lines hidden ---
611struct tc_cls_common_offload {
612 u32 chain_index;
613 __be16 protocol;
614 u32 prio;
615 struct netlink_ext_ack *extack;
616};
617
618struct tc_cls_u32_knode {

--- 321 unchanged lines hidden ---