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
>

Reply via email to