Mon, Oct 30, 2017 at 03:46:08PM CET, steven.l...@broadcom.com wrote:
>Adding DEVLINK_PERM_CONFIG_SRIOV_ENABLED permanent config
>parameter; this parameter controls whether the device
>advertises the SR-IOV PCI capability. Value is permanent, so
>becomes the new default value for this device.
>
>  DEVLINK_PERM_CONFIG_DISABLE = Disable SR-IOV
>  DEVLINK_PERM_CONFIG_ENABLE  = Enable SR-IOV
>
>Signed-off-by: Steve Lin <steven.l...@broadcom.com>
>Acked-by: Andy Gospodarek <go...@broadcom.com>
>---
> include/uapi/linux/devlink.h | 18 +++++++++++++++++-
> net/core/devlink.c           |  1 +
> 2 files changed, 18 insertions(+), 1 deletion(-)
>
>diff --git a/include/uapi/linux/devlink.h b/include/uapi/linux/devlink.h
>index 55e35f2..1c5d4ae 100644
>--- a/include/uapi/linux/devlink.h
>+++ b/include/uapi/linux/devlink.h
>@@ -256,8 +256,24 @@ enum devlink_dpipe_header_id {
>       DEVLINK_DPIPE_HEADER_IPV6,
> };
> 
>-/* Permanent config parameters */
>+/* Permanent config parameter enable/disable
>+ * DEVLINK_PERM_CONFIG_DISABLE = disable a permanent config parameter
>+ * DEVLINK_PERM_CONFIG_ENBALE  = enable a permanent config parameter
>+ */
>+enum devlink_perm_config_enabled {
>+      DEVLINK_PERM_CONFIG_DISABLE,
>+      DEVLINK_PERM_CONFIG_ENABLE,
>+};


Basically, this is "bool"

Why don't you use some own enum instead of NLA_U*. Like team does for
example:

enum team_option_type {
        TEAM_OPTION_TYPE_U32,
        TEAM_OPTION_TYPE_STRING,
        TEAM_OPTION_TYPE_BINARY,
        TEAM_OPTION_TYPE_BOOL,
        TEAM_OPTION_TYPE_S32,
};



>+
>+/* Permanent config parameters:
>+ * DEVLINK_PERM_CONFIG_SRIOV_ENABLED: Configures whether SR-IOV PCI capability
>+ * is advertised by the device.
>+ *   DEVLINK_PERM_CONFIG_DISABLE = disable SR-IOV
>+ *   DEVLINK_PERM_CONFIG_ENABLE  = enable SR-IOV
>+ */
> enum devlink_perm_config_param {
>+      DEVLINK_PERM_CONFIG_SRIOV_ENABLED,


Please align "ENABLED" vs "ENABLE".
The rest of devlink code uses "ENABLED"


>+
>       __DEVLINK_PERM_CONFIG_MAX,
>       DEVLINK_PERM_CONFIG_MAX = __DEVLINK_PERM_CONFIG_MAX - 1
> };
>diff --git a/net/core/devlink.c b/net/core/devlink.c
>index 5e77408..b4d43c29 100644
>--- a/net/core/devlink.c
>+++ b/net/core/devlink.c
>@@ -1569,6 +1569,7 @@ static int devlink_nl_cmd_eswitch_set_doit(struct 
>sk_buff *skb,
> static const struct nla_policy devlink_nl_policy[DEVLINK_ATTR_MAX + 1];
> 
> static const u8 devlink_perm_cfg_param_types[DEVLINK_PERM_CONFIG_MAX + 1] = {
>+      [DEVLINK_PERM_CONFIG_SRIOV_ENABLED] = NLA_U8,
> };
> 
> static int devlink_nl_single_param_get(struct sk_buff *msg,
>-- 
>2.7.4
>

Reply via email to