Several qdiscs can already be offloaded to hardware, but there's an inconsistecy in regard to the uapi through which they indicate such an offload is taking place - indication is passed to the user via TCA_OPTIONS where each qdisc retains private logic for setting it.
The recent addition of offloading to RED in 602f3baf2218 ("net_sch: red: Add offload ability to RED qdisc") caused the addition of yet another uapi field for this purpose - TC_RED_OFFLOADED. For clarity and prevention of bloat in the uapi we want to eliminate said added uapi, replacing it with a common mechanism that can be used to reflect offload status of the various qdiscs. The first patch introduces TCA_HW_OFFLOAD as the generic message meant for this purpose. The second changes the current RED implementation into setting the internal bits necessary for passing it, and the third removes TC_RED_OFFLOADED as its no longer needed. Dave, A bit unorthodox as it's not a fix per-se, but it's the last chance for killing the unneeded uapi and replacing it with something better before getting stuck with it forever. Cheers, Yuval Yuval Mintz (3): net: sched: Add TCA_HW_OFFLOAD net: sched: Move to new offload indication in RED pkt_sched: Remove TC_RED_OFFLOADED from uapi include/net/sch_generic.h | 1 + include/uapi/linux/pkt_sched.h | 1 - include/uapi/linux/rtnetlink.h | 1 + net/sched/sch_api.c | 2 ++ net/sched/sch_red.c | 31 +++++++++++++++---------------- 5 files changed, 19 insertions(+), 17 deletions(-) -- 2.4.3