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