Sat, Jan 20, 2018 at 02:44:48AM CET, jakub.kicin...@netronome.com wrote: >From: Quentin Monnet <quentin.mon...@netronome.com> > >Create a wrapper around tc_can_offload() that takes an additional >extack pointer argument in order to output an error message if TC >offload is disabled on the device. > >In this way, the error message is handled by the core and can be the >same for all drivers. > >Signed-off-by: Quentin Monnet <quentin.mon...@netronome.com> >Reviewed-by: Jakub Kicinski <jakub.kicin...@netronome.com> >--- > include/net/pkt_cls.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > >diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h >index f497f622580b..2f8f16a4d88e 100644 >--- a/include/net/pkt_cls.h >+++ b/include/net/pkt_cls.h >@@ -656,6 +656,17 @@ static inline bool tc_can_offload(const struct net_device >*dev) > return dev->features & NETIF_F_HW_TC; > } > >+static inline bool tc_can_offload_extack(const struct net_device *dev, >+ struct netlink_ext_ack *extack)
I don't like to add tc_can_offload variant for this. It makes sense the original tc_can_offload to be extended and set the extack message always. It would require some more work in drivers (5), sure, but we endup with nicer and consistent code. >+{ >+ bool can = tc_can_offload(dev); >+ >+ if (!can) >+ NL_SET_ERR_MSG(extack, "TC offload is disabled on net device"); >+ >+ return can; >+} >+ > static inline bool tc_skip_hw(u32 flags) > { > return (flags & TCA_CLS_FLAGS_SKIP_HW) ? true : false; >-- >2.15.1 >