Thu, Feb 09, 2017 at 05:23:17PM CET, ogerl...@mellanox.com wrote:
>From: Roi Dayan <r...@mellanox.com>
>
>This is an e-switch global knob to enable/disable HW support for applying
>encapsulation/decapsulation to VF traffic as part of SRIOV e-switch offloading.
>
>The actual encap/decap is carried out (along with the matching and other 
>actions)
>per offloaded e-switch rules, e.g as done when offloading the TC tunnel key 
>action.
>
>The supported mode are enable/disable.
>
>Signed-off-by: Roi Dayan <r...@mellanox.com>
>Reviewed-by: Or Gerlitz <ogerl...@mellanox.com>
>---

[...]

>@@ -1470,11 +1480,23 @@ static int devlink_nl_cmd_eswitch_set_doit(struct 
>sk_buff *skb,
>       const struct devlink_ops *ops = devlink->ops;
>       u16 mode;
>       u8 inline_mode;
>+      bool encap;
>       int err = 0;
> 
>       if (!ops)
>               return -EOPNOTSUPP;
> 
>+      if (info->attrs[DEVLINK_ATTR_ESWITCH_ENCAP]) {
>+              if (!ops->eswitch_encap_set)
>+                      return -EOPNOTSUPP;
>+              if (!info->attrs[DEVLINK_ATTR_ESWITCH_MODE])
>+                      return -EINVAL;
>+              encap = nla_get_u8(info->attrs[DEVLINK_ATTR_ESWITCH_ENCAP]);
>+              err = ops->eswitch_encap_set(devlink, encap);
>+              if (err)
>+                      return err;
>+      }

Please maintain the same order as the attr enum and getters and put this
behind the inline_mode. Thanks.

Reply via email to