diff options
Diffstat (limited to 'net/dcb/dcbnl.c')
-rw-r--r-- | net/dcb/dcbnl.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/net/dcb/dcbnl.c b/net/dcb/dcbnl.c index db9f5b39388f..19ac2b985485 100644 --- a/net/dcb/dcbnl.c +++ b/net/dcb/dcbnl.c | |||
@@ -19,6 +19,7 @@ | |||
19 | 19 | ||
20 | #include <linux/netdevice.h> | 20 | #include <linux/netdevice.h> |
21 | #include <linux/netlink.h> | 21 | #include <linux/netlink.h> |
22 | #include <linux/slab.h> | ||
22 | #include <net/netlink.h> | 23 | #include <net/netlink.h> |
23 | #include <net/rtnetlink.h> | 24 | #include <net/rtnetlink.h> |
24 | #include <linux/dcbnl.h> | 25 | #include <linux/dcbnl.h> |
@@ -54,7 +55,7 @@ MODULE_LICENSE("GPL"); | |||
54 | /**************** DCB attribute policies *************************************/ | 55 | /**************** DCB attribute policies *************************************/ |
55 | 56 | ||
56 | /* DCB netlink attributes policy */ | 57 | /* DCB netlink attributes policy */ |
57 | static struct nla_policy dcbnl_rtnl_policy[DCB_ATTR_MAX + 1] = { | 58 | static const struct nla_policy dcbnl_rtnl_policy[DCB_ATTR_MAX + 1] = { |
58 | [DCB_ATTR_IFNAME] = {.type = NLA_NUL_STRING, .len = IFNAMSIZ - 1}, | 59 | [DCB_ATTR_IFNAME] = {.type = NLA_NUL_STRING, .len = IFNAMSIZ - 1}, |
59 | [DCB_ATTR_STATE] = {.type = NLA_U8}, | 60 | [DCB_ATTR_STATE] = {.type = NLA_U8}, |
60 | [DCB_ATTR_PFC_CFG] = {.type = NLA_NESTED}, | 61 | [DCB_ATTR_PFC_CFG] = {.type = NLA_NESTED}, |
@@ -68,7 +69,7 @@ static struct nla_policy dcbnl_rtnl_policy[DCB_ATTR_MAX + 1] = { | |||
68 | }; | 69 | }; |
69 | 70 | ||
70 | /* DCB priority flow control to User Priority nested attributes */ | 71 | /* DCB priority flow control to User Priority nested attributes */ |
71 | static struct nla_policy dcbnl_pfc_up_nest[DCB_PFC_UP_ATTR_MAX + 1] = { | 72 | static const struct nla_policy dcbnl_pfc_up_nest[DCB_PFC_UP_ATTR_MAX + 1] = { |
72 | [DCB_PFC_UP_ATTR_0] = {.type = NLA_U8}, | 73 | [DCB_PFC_UP_ATTR_0] = {.type = NLA_U8}, |
73 | [DCB_PFC_UP_ATTR_1] = {.type = NLA_U8}, | 74 | [DCB_PFC_UP_ATTR_1] = {.type = NLA_U8}, |
74 | [DCB_PFC_UP_ATTR_2] = {.type = NLA_U8}, | 75 | [DCB_PFC_UP_ATTR_2] = {.type = NLA_U8}, |
@@ -81,7 +82,7 @@ static struct nla_policy dcbnl_pfc_up_nest[DCB_PFC_UP_ATTR_MAX + 1] = { | |||
81 | }; | 82 | }; |
82 | 83 | ||
83 | /* DCB priority grouping nested attributes */ | 84 | /* DCB priority grouping nested attributes */ |
84 | static struct nla_policy dcbnl_pg_nest[DCB_PG_ATTR_MAX + 1] = { | 85 | static const struct nla_policy dcbnl_pg_nest[DCB_PG_ATTR_MAX + 1] = { |
85 | [DCB_PG_ATTR_TC_0] = {.type = NLA_NESTED}, | 86 | [DCB_PG_ATTR_TC_0] = {.type = NLA_NESTED}, |
86 | [DCB_PG_ATTR_TC_1] = {.type = NLA_NESTED}, | 87 | [DCB_PG_ATTR_TC_1] = {.type = NLA_NESTED}, |
87 | [DCB_PG_ATTR_TC_2] = {.type = NLA_NESTED}, | 88 | [DCB_PG_ATTR_TC_2] = {.type = NLA_NESTED}, |
@@ -103,7 +104,7 @@ static struct nla_policy dcbnl_pg_nest[DCB_PG_ATTR_MAX + 1] = { | |||
103 | }; | 104 | }; |
104 | 105 | ||
105 | /* DCB traffic class nested attributes. */ | 106 | /* DCB traffic class nested attributes. */ |
106 | static struct nla_policy dcbnl_tc_param_nest[DCB_TC_ATTR_PARAM_MAX + 1] = { | 107 | static const struct nla_policy dcbnl_tc_param_nest[DCB_TC_ATTR_PARAM_MAX + 1] = { |
107 | [DCB_TC_ATTR_PARAM_PGID] = {.type = NLA_U8}, | 108 | [DCB_TC_ATTR_PARAM_PGID] = {.type = NLA_U8}, |
108 | [DCB_TC_ATTR_PARAM_UP_MAPPING] = {.type = NLA_U8}, | 109 | [DCB_TC_ATTR_PARAM_UP_MAPPING] = {.type = NLA_U8}, |
109 | [DCB_TC_ATTR_PARAM_STRICT_PRIO] = {.type = NLA_U8}, | 110 | [DCB_TC_ATTR_PARAM_STRICT_PRIO] = {.type = NLA_U8}, |
@@ -112,7 +113,7 @@ static struct nla_policy dcbnl_tc_param_nest[DCB_TC_ATTR_PARAM_MAX + 1] = { | |||
112 | }; | 113 | }; |
113 | 114 | ||
114 | /* DCB capabilities nested attributes. */ | 115 | /* DCB capabilities nested attributes. */ |
115 | static struct nla_policy dcbnl_cap_nest[DCB_CAP_ATTR_MAX + 1] = { | 116 | static const struct nla_policy dcbnl_cap_nest[DCB_CAP_ATTR_MAX + 1] = { |
116 | [DCB_CAP_ATTR_ALL] = {.type = NLA_FLAG}, | 117 | [DCB_CAP_ATTR_ALL] = {.type = NLA_FLAG}, |
117 | [DCB_CAP_ATTR_PG] = {.type = NLA_U8}, | 118 | [DCB_CAP_ATTR_PG] = {.type = NLA_U8}, |
118 | [DCB_CAP_ATTR_PFC] = {.type = NLA_U8}, | 119 | [DCB_CAP_ATTR_PFC] = {.type = NLA_U8}, |
@@ -124,14 +125,14 @@ static struct nla_policy dcbnl_cap_nest[DCB_CAP_ATTR_MAX + 1] = { | |||
124 | }; | 125 | }; |
125 | 126 | ||
126 | /* DCB capabilities nested attributes. */ | 127 | /* DCB capabilities nested attributes. */ |
127 | static struct nla_policy dcbnl_numtcs_nest[DCB_NUMTCS_ATTR_MAX + 1] = { | 128 | static const struct nla_policy dcbnl_numtcs_nest[DCB_NUMTCS_ATTR_MAX + 1] = { |
128 | [DCB_NUMTCS_ATTR_ALL] = {.type = NLA_FLAG}, | 129 | [DCB_NUMTCS_ATTR_ALL] = {.type = NLA_FLAG}, |
129 | [DCB_NUMTCS_ATTR_PG] = {.type = NLA_U8}, | 130 | [DCB_NUMTCS_ATTR_PG] = {.type = NLA_U8}, |
130 | [DCB_NUMTCS_ATTR_PFC] = {.type = NLA_U8}, | 131 | [DCB_NUMTCS_ATTR_PFC] = {.type = NLA_U8}, |
131 | }; | 132 | }; |
132 | 133 | ||
133 | /* DCB BCN nested attributes. */ | 134 | /* DCB BCN nested attributes. */ |
134 | static struct nla_policy dcbnl_bcn_nest[DCB_BCN_ATTR_MAX + 1] = { | 135 | static const struct nla_policy dcbnl_bcn_nest[DCB_BCN_ATTR_MAX + 1] = { |
135 | [DCB_BCN_ATTR_RP_0] = {.type = NLA_U8}, | 136 | [DCB_BCN_ATTR_RP_0] = {.type = NLA_U8}, |
136 | [DCB_BCN_ATTR_RP_1] = {.type = NLA_U8}, | 137 | [DCB_BCN_ATTR_RP_1] = {.type = NLA_U8}, |
137 | [DCB_BCN_ATTR_RP_2] = {.type = NLA_U8}, | 138 | [DCB_BCN_ATTR_RP_2] = {.type = NLA_U8}, |
@@ -160,7 +161,7 @@ static struct nla_policy dcbnl_bcn_nest[DCB_BCN_ATTR_MAX + 1] = { | |||
160 | }; | 161 | }; |
161 | 162 | ||
162 | /* DCB APP nested attributes. */ | 163 | /* DCB APP nested attributes. */ |
163 | static struct nla_policy dcbnl_app_nest[DCB_APP_ATTR_MAX + 1] = { | 164 | static const struct nla_policy dcbnl_app_nest[DCB_APP_ATTR_MAX + 1] = { |
164 | [DCB_APP_ATTR_IDTYPE] = {.type = NLA_U8}, | 165 | [DCB_APP_ATTR_IDTYPE] = {.type = NLA_U8}, |
165 | [DCB_APP_ATTR_ID] = {.type = NLA_U16}, | 166 | [DCB_APP_ATTR_ID] = {.type = NLA_U16}, |
166 | [DCB_APP_ATTR_PRIORITY] = {.type = NLA_U8}, | 167 | [DCB_APP_ATTR_PRIORITY] = {.type = NLA_U8}, |