diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2018-11-07 17:33:34 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-11-08 16:19:47 -0800 |
commit | b592843c6723a850be70bf9618578082f3b73851 (patch) | |
tree | 3acb38ec73ec6f293b022814ef62e2434a06ff60 /include/net/sch_generic.h | |
parent | 80b6265c0f4c2bdafb73f09da9f278a8b3752928 (diff) | |
download | lwn-b592843c6723a850be70bf9618578082f3b73851.tar.gz lwn-b592843c6723a850be70bf9618578082f3b73851.zip |
net: sched: add an offload dump helper
Qdisc dump operation of offload-capable qdiscs performs a few
extra steps which are identical among all the qdiscs. Add
a helper to share this code.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: John Hurley <john.hurley@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/sch_generic.h')
-rw-r--r-- | include/net/sch_generic.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 4d736427a4cb..af55c1c4edb1 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -579,6 +579,18 @@ void qdisc_put(struct Qdisc *qdisc); void qdisc_put_unlocked(struct Qdisc *qdisc); void qdisc_tree_reduce_backlog(struct Qdisc *qdisc, unsigned int n, unsigned int len); +#ifdef CONFIG_NET_SCHED +int qdisc_offload_dump_helper(struct Qdisc *q, enum tc_setup_type type, + void *type_data); +#else +static inline int +qdisc_offload_dump_helper(struct Qdisc *q, enum tc_setup_type type, + void *type_data) +{ + q->flags &= ~TCQ_F_OFFLOADED; + return 0; +} +#endif struct Qdisc *qdisc_alloc(struct netdev_queue *dev_queue, const struct Qdisc_ops *ops, struct netlink_ext_ack *extack); |