net: sched: push cls related args into cls_common structure
As ndo_setup_tc is generic offload op for whole tc subsystem, does not really make sense to have cls-specific args. So move them under cls_common structurure which is embedded in all cls structs. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
74897ef0a5
commit
5fd9fc4e20
@@ -405,6 +405,21 @@ tcf_match_indev(struct sk_buff *skb, int ifindex)
|
||||
}
|
||||
#endif /* CONFIG_NET_CLS_IND */
|
||||
|
||||
struct tc_cls_common_offload {
|
||||
u32 handle;
|
||||
u32 chain_index;
|
||||
__be16 protocol;
|
||||
};
|
||||
|
||||
static inline void
|
||||
tc_cls_common_offload_init(struct tc_cls_common_offload *cls_common,
|
||||
const struct tcf_proto *tp)
|
||||
{
|
||||
cls_common->handle = tp->q->handle;
|
||||
cls_common->chain_index = tp->chain->index;
|
||||
cls_common->protocol = tp->protocol;
|
||||
}
|
||||
|
||||
struct tc_cls_u32_knode {
|
||||
struct tcf_exts *exts;
|
||||
struct tc_u32_sel *sel;
|
||||
@@ -431,6 +446,7 @@ enum tc_clsu32_command {
|
||||
};
|
||||
|
||||
struct tc_cls_u32_offload {
|
||||
struct tc_cls_common_offload common;
|
||||
/* knode values */
|
||||
enum tc_clsu32_command command;
|
||||
union {
|
||||
@@ -497,6 +513,7 @@ enum tc_fl_command {
|
||||
};
|
||||
|
||||
struct tc_cls_flower_offload {
|
||||
struct tc_cls_common_offload common;
|
||||
enum tc_fl_command command;
|
||||
u32 prio;
|
||||
unsigned long cookie;
|
||||
@@ -513,6 +530,7 @@ enum tc_matchall_command {
|
||||
};
|
||||
|
||||
struct tc_cls_matchall_offload {
|
||||
struct tc_cls_common_offload common;
|
||||
enum tc_matchall_command command;
|
||||
struct tcf_exts *exts;
|
||||
unsigned long cookie;
|
||||
@@ -526,6 +544,7 @@ enum tc_clsbpf_command {
|
||||
};
|
||||
|
||||
struct tc_cls_bpf_offload {
|
||||
struct tc_cls_common_offload common;
|
||||
enum tc_clsbpf_command command;
|
||||
struct tcf_exts *exts;
|
||||
struct bpf_prog *prog;
|
||||
|
Reference in New Issue
Block a user