net: sch_ets: Make the ETS qdisc offloadable
Add hooks at appropriate points to make it possible to offload the ETS Qdisc. Signed-off-by: Petr Machata <petrm@mellanox.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Reviewed-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
dcc68b4d80
commit
d35eb52bd2
@@ -823,4 +823,35 @@ struct tc_root_qopt_offload {
|
||||
bool ingress;
|
||||
};
|
||||
|
||||
enum tc_ets_command {
|
||||
TC_ETS_REPLACE,
|
||||
TC_ETS_DESTROY,
|
||||
TC_ETS_STATS,
|
||||
TC_ETS_GRAFT,
|
||||
};
|
||||
|
||||
struct tc_ets_qopt_offload_replace_params {
|
||||
unsigned int bands;
|
||||
u8 priomap[TC_PRIO_MAX + 1];
|
||||
unsigned int quanta[TCQ_ETS_MAX_BANDS]; /* 0 for strict bands. */
|
||||
unsigned int weights[TCQ_ETS_MAX_BANDS];
|
||||
struct gnet_stats_queue *qstats;
|
||||
};
|
||||
|
||||
struct tc_ets_qopt_offload_graft_params {
|
||||
u8 band;
|
||||
u32 child_handle;
|
||||
};
|
||||
|
||||
struct tc_ets_qopt_offload {
|
||||
enum tc_ets_command command;
|
||||
u32 handle;
|
||||
u32 parent;
|
||||
union {
|
||||
struct tc_ets_qopt_offload_replace_params replace_params;
|
||||
struct tc_qopt_offload_stats stats;
|
||||
struct tc_ets_qopt_offload_graft_params graft_params;
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user