16b7c486cSJiri Pirko // SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 26b7c486cSJiri Pirko /* Do not edit directly, auto-generated from: */ 36b7c486cSJiri Pirko /* Documentation/netlink/specs/devlink.yaml */ 46b7c486cSJiri Pirko /* YNL-GEN kernel source */ 56b7c486cSJiri Pirko 66b7c486cSJiri Pirko #include <net/netlink.h> 76b7c486cSJiri Pirko #include <net/genetlink.h> 86b7c486cSJiri Pirko 96b7c486cSJiri Pirko #include "netlink_gen.h" 106b7c486cSJiri Pirko 116b7c486cSJiri Pirko #include <uapi/linux/devlink.h> 126b7c486cSJiri Pirko 136b7c486cSJiri Pirko /* DEVLINK_CMD_GET - do */ 146b7c486cSJiri Pirko static const struct nla_policy devlink_get_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 156b7c486cSJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 166b7c486cSJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 176b7c486cSJiri Pirko }; 186b7c486cSJiri Pirko 197199c862SJiri Pirko /* DEVLINK_CMD_PORT_GET - do */ 2034493336SJiri Pirko static const struct nla_policy devlink_port_get_do_nl_policy[DEVLINK_ATTR_PORT_INDEX + 1] = { 217199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 227199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 237199c862SJiri Pirko [DEVLINK_ATTR_PORT_INDEX] = { .type = NLA_U32, }, 247199c862SJiri Pirko }; 257199c862SJiri Pirko 2634493336SJiri Pirko /* DEVLINK_CMD_PORT_GET - dump */ 2734493336SJiri Pirko static const struct nla_policy devlink_port_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 2834493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 2934493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 3034493336SJiri Pirko }; 3134493336SJiri Pirko 327199c862SJiri Pirko /* DEVLINK_CMD_SB_GET - do */ 3334493336SJiri Pirko static const struct nla_policy devlink_sb_get_do_nl_policy[DEVLINK_ATTR_SB_INDEX + 1] = { 347199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 357199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 367199c862SJiri Pirko [DEVLINK_ATTR_SB_INDEX] = { .type = NLA_U32, }, 377199c862SJiri Pirko }; 387199c862SJiri Pirko 3934493336SJiri Pirko /* DEVLINK_CMD_SB_GET - dump */ 4034493336SJiri Pirko static const struct nla_policy devlink_sb_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 4134493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 4234493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 4334493336SJiri Pirko }; 4434493336SJiri Pirko 457199c862SJiri Pirko /* DEVLINK_CMD_SB_POOL_GET - do */ 4634493336SJiri Pirko static const struct nla_policy devlink_sb_pool_get_do_nl_policy[DEVLINK_ATTR_SB_POOL_INDEX + 1] = { 477199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 487199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 497199c862SJiri Pirko [DEVLINK_ATTR_SB_INDEX] = { .type = NLA_U32, }, 507199c862SJiri Pirko [DEVLINK_ATTR_SB_POOL_INDEX] = { .type = NLA_U16, }, 517199c862SJiri Pirko }; 527199c862SJiri Pirko 5334493336SJiri Pirko /* DEVLINK_CMD_SB_POOL_GET - dump */ 5434493336SJiri Pirko static const struct nla_policy devlink_sb_pool_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 5534493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 5634493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 5734493336SJiri Pirko }; 5834493336SJiri Pirko 597199c862SJiri Pirko /* DEVLINK_CMD_SB_PORT_POOL_GET - do */ 6034493336SJiri Pirko static const struct nla_policy devlink_sb_port_pool_get_do_nl_policy[DEVLINK_ATTR_SB_POOL_INDEX + 1] = { 617199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 627199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 637199c862SJiri Pirko [DEVLINK_ATTR_PORT_INDEX] = { .type = NLA_U32, }, 647199c862SJiri Pirko [DEVLINK_ATTR_SB_INDEX] = { .type = NLA_U32, }, 657199c862SJiri Pirko [DEVLINK_ATTR_SB_POOL_INDEX] = { .type = NLA_U16, }, 667199c862SJiri Pirko }; 677199c862SJiri Pirko 6834493336SJiri Pirko /* DEVLINK_CMD_SB_PORT_POOL_GET - dump */ 6934493336SJiri Pirko static const struct nla_policy devlink_sb_port_pool_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 7034493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 7134493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 7234493336SJiri Pirko }; 7334493336SJiri Pirko 747199c862SJiri Pirko /* DEVLINK_CMD_SB_TC_POOL_BIND_GET - do */ 7534493336SJiri Pirko static const struct nla_policy devlink_sb_tc_pool_bind_get_do_nl_policy[DEVLINK_ATTR_SB_TC_INDEX + 1] = { 767199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 777199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 787199c862SJiri Pirko [DEVLINK_ATTR_PORT_INDEX] = { .type = NLA_U32, }, 797199c862SJiri Pirko [DEVLINK_ATTR_SB_INDEX] = { .type = NLA_U32, }, 807199c862SJiri Pirko [DEVLINK_ATTR_SB_POOL_TYPE] = NLA_POLICY_MAX(NLA_U8, 1), 817199c862SJiri Pirko [DEVLINK_ATTR_SB_TC_INDEX] = { .type = NLA_U16, }, 827199c862SJiri Pirko }; 837199c862SJiri Pirko 8434493336SJiri Pirko /* DEVLINK_CMD_SB_TC_POOL_BIND_GET - dump */ 8534493336SJiri Pirko static const struct nla_policy devlink_sb_tc_pool_bind_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 8634493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 8734493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 8834493336SJiri Pirko }; 8934493336SJiri Pirko 907199c862SJiri Pirko /* DEVLINK_CMD_PARAM_GET - do */ 9134493336SJiri Pirko static const struct nla_policy devlink_param_get_do_nl_policy[DEVLINK_ATTR_PARAM_NAME + 1] = { 927199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 937199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 947199c862SJiri Pirko [DEVLINK_ATTR_PARAM_NAME] = { .type = NLA_NUL_STRING, }, 957199c862SJiri Pirko }; 967199c862SJiri Pirko 9734493336SJiri Pirko /* DEVLINK_CMD_PARAM_GET - dump */ 9834493336SJiri Pirko static const struct nla_policy devlink_param_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 9934493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 10034493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 10134493336SJiri Pirko }; 10234493336SJiri Pirko 1037199c862SJiri Pirko /* DEVLINK_CMD_REGION_GET - do */ 10434493336SJiri Pirko static const struct nla_policy devlink_region_get_do_nl_policy[DEVLINK_ATTR_REGION_NAME + 1] = { 1057199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 1067199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 1077199c862SJiri Pirko [DEVLINK_ATTR_PORT_INDEX] = { .type = NLA_U32, }, 1087199c862SJiri Pirko [DEVLINK_ATTR_REGION_NAME] = { .type = NLA_NUL_STRING, }, 1097199c862SJiri Pirko }; 1107199c862SJiri Pirko 11134493336SJiri Pirko /* DEVLINK_CMD_REGION_GET - dump */ 11234493336SJiri Pirko static const struct nla_policy devlink_region_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 11334493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 11434493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 11534493336SJiri Pirko }; 11634493336SJiri Pirko 1176b7c486cSJiri Pirko /* DEVLINK_CMD_INFO_GET - do */ 1186b7c486cSJiri Pirko static const struct nla_policy devlink_info_get_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 1196b7c486cSJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 1206b7c486cSJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 1216b7c486cSJiri Pirko }; 1226b7c486cSJiri Pirko 1237199c862SJiri Pirko /* DEVLINK_CMD_HEALTH_REPORTER_GET - do */ 12434493336SJiri Pirko static const struct nla_policy devlink_health_reporter_get_do_nl_policy[DEVLINK_ATTR_HEALTH_REPORTER_NAME + 1] = { 1257199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 1267199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 1277199c862SJiri Pirko [DEVLINK_ATTR_PORT_INDEX] = { .type = NLA_U32, }, 1287199c862SJiri Pirko [DEVLINK_ATTR_HEALTH_REPORTER_NAME] = { .type = NLA_NUL_STRING, }, 1297199c862SJiri Pirko }; 1307199c862SJiri Pirko 13134493336SJiri Pirko /* DEVLINK_CMD_HEALTH_REPORTER_GET - dump */ 132*0149bca1SJiri Pirko static const struct nla_policy devlink_health_reporter_get_dump_nl_policy[DEVLINK_ATTR_PORT_INDEX + 1] = { 13334493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 13434493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 135*0149bca1SJiri Pirko [DEVLINK_ATTR_PORT_INDEX] = { .type = NLA_U32, }, 13634493336SJiri Pirko }; 13734493336SJiri Pirko 1387199c862SJiri Pirko /* DEVLINK_CMD_TRAP_GET - do */ 13934493336SJiri Pirko static const struct nla_policy devlink_trap_get_do_nl_policy[DEVLINK_ATTR_TRAP_NAME + 1] = { 1407199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 1417199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 1427199c862SJiri Pirko [DEVLINK_ATTR_TRAP_NAME] = { .type = NLA_NUL_STRING, }, 1437199c862SJiri Pirko }; 1447199c862SJiri Pirko 14534493336SJiri Pirko /* DEVLINK_CMD_TRAP_GET - dump */ 14634493336SJiri Pirko static const struct nla_policy devlink_trap_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 14734493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 14834493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 14934493336SJiri Pirko }; 15034493336SJiri Pirko 1517199c862SJiri Pirko /* DEVLINK_CMD_TRAP_GROUP_GET - do */ 15234493336SJiri Pirko static const struct nla_policy devlink_trap_group_get_do_nl_policy[DEVLINK_ATTR_TRAP_GROUP_NAME + 1] = { 1537199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 1547199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 1557199c862SJiri Pirko [DEVLINK_ATTR_TRAP_GROUP_NAME] = { .type = NLA_NUL_STRING, }, 1567199c862SJiri Pirko }; 1577199c862SJiri Pirko 15834493336SJiri Pirko /* DEVLINK_CMD_TRAP_GROUP_GET - dump */ 15934493336SJiri Pirko static const struct nla_policy devlink_trap_group_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 16034493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 16134493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 16234493336SJiri Pirko }; 16334493336SJiri Pirko 1647199c862SJiri Pirko /* DEVLINK_CMD_TRAP_POLICER_GET - do */ 16534493336SJiri Pirko static const struct nla_policy devlink_trap_policer_get_do_nl_policy[DEVLINK_ATTR_TRAP_POLICER_ID + 1] = { 1667199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 1677199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 1687199c862SJiri Pirko [DEVLINK_ATTR_TRAP_POLICER_ID] = { .type = NLA_U32, }, 1697199c862SJiri Pirko }; 1707199c862SJiri Pirko 17134493336SJiri Pirko /* DEVLINK_CMD_TRAP_POLICER_GET - dump */ 17234493336SJiri Pirko static const struct nla_policy devlink_trap_policer_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 17334493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 17434493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 17534493336SJiri Pirko }; 17634493336SJiri Pirko 1777199c862SJiri Pirko /* DEVLINK_CMD_RATE_GET - do */ 17834493336SJiri Pirko static const struct nla_policy devlink_rate_get_do_nl_policy[DEVLINK_ATTR_RATE_NODE_NAME + 1] = { 1797199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 1807199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 1817199c862SJiri Pirko [DEVLINK_ATTR_PORT_INDEX] = { .type = NLA_U32, }, 1827199c862SJiri Pirko [DEVLINK_ATTR_RATE_NODE_NAME] = { .type = NLA_NUL_STRING, }, 1837199c862SJiri Pirko }; 1847199c862SJiri Pirko 18534493336SJiri Pirko /* DEVLINK_CMD_RATE_GET - dump */ 18634493336SJiri Pirko static const struct nla_policy devlink_rate_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 18734493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 18834493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 18934493336SJiri Pirko }; 19034493336SJiri Pirko 1917199c862SJiri Pirko /* DEVLINK_CMD_LINECARD_GET - do */ 19234493336SJiri Pirko static const struct nla_policy devlink_linecard_get_do_nl_policy[DEVLINK_ATTR_LINECARD_INDEX + 1] = { 1937199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 1947199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 1957199c862SJiri Pirko [DEVLINK_ATTR_LINECARD_INDEX] = { .type = NLA_U32, }, 1967199c862SJiri Pirko }; 1977199c862SJiri Pirko 19834493336SJiri Pirko /* DEVLINK_CMD_LINECARD_GET - dump */ 19934493336SJiri Pirko static const struct nla_policy devlink_linecard_get_dump_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 20034493336SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 20134493336SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 20234493336SJiri Pirko }; 20334493336SJiri Pirko 2047199c862SJiri Pirko /* DEVLINK_CMD_SELFTESTS_GET - do */ 2057199c862SJiri Pirko static const struct nla_policy devlink_selftests_get_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { 2067199c862SJiri Pirko [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, 2077199c862SJiri Pirko [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, 2087199c862SJiri Pirko }; 2097199c862SJiri Pirko 2106b7c486cSJiri Pirko /* Ops table for devlink */ 2117199c862SJiri Pirko const struct genl_split_ops devlink_nl_ops[32] = { 2126b7c486cSJiri Pirko { 2136b7c486cSJiri Pirko .cmd = DEVLINK_CMD_GET, 2146b7c486cSJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 2156b7c486cSJiri Pirko .pre_doit = devlink_nl_pre_doit, 2166b7c486cSJiri Pirko .doit = devlink_nl_get_doit, 2176b7c486cSJiri Pirko .post_doit = devlink_nl_post_doit, 2186b7c486cSJiri Pirko .policy = devlink_get_nl_policy, 2196b7c486cSJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 2206b7c486cSJiri Pirko .flags = GENL_CMD_CAP_DO, 2216b7c486cSJiri Pirko }, 2226b7c486cSJiri Pirko { 2236b7c486cSJiri Pirko .cmd = DEVLINK_CMD_GET, 2246b7c486cSJiri Pirko .validate = GENL_DONT_VALIDATE_DUMP, 2256b7c486cSJiri Pirko .dumpit = devlink_nl_get_dumpit, 2266b7c486cSJiri Pirko .flags = GENL_CMD_CAP_DUMP, 2276b7c486cSJiri Pirko }, 2286b7c486cSJiri Pirko { 2297199c862SJiri Pirko .cmd = DEVLINK_CMD_PORT_GET, 2307199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 2317199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit_port, 2327199c862SJiri Pirko .doit = devlink_nl_port_get_doit, 2337199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 23434493336SJiri Pirko .policy = devlink_port_get_do_nl_policy, 2357199c862SJiri Pirko .maxattr = DEVLINK_ATTR_PORT_INDEX, 2367199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 2377199c862SJiri Pirko }, 2387199c862SJiri Pirko { 2397199c862SJiri Pirko .cmd = DEVLINK_CMD_PORT_GET, 2407199c862SJiri Pirko .dumpit = devlink_nl_port_get_dumpit, 24134493336SJiri Pirko .policy = devlink_port_get_dump_nl_policy, 24234493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 2437199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 2447199c862SJiri Pirko }, 2457199c862SJiri Pirko { 2467199c862SJiri Pirko .cmd = DEVLINK_CMD_SB_GET, 2477199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 2487199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit, 2497199c862SJiri Pirko .doit = devlink_nl_sb_get_doit, 2507199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 25134493336SJiri Pirko .policy = devlink_sb_get_do_nl_policy, 2527199c862SJiri Pirko .maxattr = DEVLINK_ATTR_SB_INDEX, 2537199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 2547199c862SJiri Pirko }, 2557199c862SJiri Pirko { 2567199c862SJiri Pirko .cmd = DEVLINK_CMD_SB_GET, 2577199c862SJiri Pirko .dumpit = devlink_nl_sb_get_dumpit, 25834493336SJiri Pirko .policy = devlink_sb_get_dump_nl_policy, 25934493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 2607199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 2617199c862SJiri Pirko }, 2627199c862SJiri Pirko { 2637199c862SJiri Pirko .cmd = DEVLINK_CMD_SB_POOL_GET, 2647199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 2657199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit, 2667199c862SJiri Pirko .doit = devlink_nl_sb_pool_get_doit, 2677199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 26834493336SJiri Pirko .policy = devlink_sb_pool_get_do_nl_policy, 2697199c862SJiri Pirko .maxattr = DEVLINK_ATTR_SB_POOL_INDEX, 2707199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 2717199c862SJiri Pirko }, 2727199c862SJiri Pirko { 2737199c862SJiri Pirko .cmd = DEVLINK_CMD_SB_POOL_GET, 2747199c862SJiri Pirko .dumpit = devlink_nl_sb_pool_get_dumpit, 27534493336SJiri Pirko .policy = devlink_sb_pool_get_dump_nl_policy, 27634493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 2777199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 2787199c862SJiri Pirko }, 2797199c862SJiri Pirko { 2807199c862SJiri Pirko .cmd = DEVLINK_CMD_SB_PORT_POOL_GET, 2817199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 2827199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit_port, 2837199c862SJiri Pirko .doit = devlink_nl_sb_port_pool_get_doit, 2847199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 28534493336SJiri Pirko .policy = devlink_sb_port_pool_get_do_nl_policy, 2867199c862SJiri Pirko .maxattr = DEVLINK_ATTR_SB_POOL_INDEX, 2877199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 2887199c862SJiri Pirko }, 2897199c862SJiri Pirko { 2907199c862SJiri Pirko .cmd = DEVLINK_CMD_SB_PORT_POOL_GET, 2917199c862SJiri Pirko .dumpit = devlink_nl_sb_port_pool_get_dumpit, 29234493336SJiri Pirko .policy = devlink_sb_port_pool_get_dump_nl_policy, 29334493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 2947199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 2957199c862SJiri Pirko }, 2967199c862SJiri Pirko { 2977199c862SJiri Pirko .cmd = DEVLINK_CMD_SB_TC_POOL_BIND_GET, 2987199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 2997199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit_port, 3007199c862SJiri Pirko .doit = devlink_nl_sb_tc_pool_bind_get_doit, 3017199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 30234493336SJiri Pirko .policy = devlink_sb_tc_pool_bind_get_do_nl_policy, 3037199c862SJiri Pirko .maxattr = DEVLINK_ATTR_SB_TC_INDEX, 3047199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 3057199c862SJiri Pirko }, 3067199c862SJiri Pirko { 3077199c862SJiri Pirko .cmd = DEVLINK_CMD_SB_TC_POOL_BIND_GET, 3087199c862SJiri Pirko .dumpit = devlink_nl_sb_tc_pool_bind_get_dumpit, 30934493336SJiri Pirko .policy = devlink_sb_tc_pool_bind_get_dump_nl_policy, 31034493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 3117199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 3127199c862SJiri Pirko }, 3137199c862SJiri Pirko { 3147199c862SJiri Pirko .cmd = DEVLINK_CMD_PARAM_GET, 3157199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 3167199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit, 3177199c862SJiri Pirko .doit = devlink_nl_param_get_doit, 3187199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 31934493336SJiri Pirko .policy = devlink_param_get_do_nl_policy, 3207199c862SJiri Pirko .maxattr = DEVLINK_ATTR_PARAM_NAME, 3217199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 3227199c862SJiri Pirko }, 3237199c862SJiri Pirko { 3247199c862SJiri Pirko .cmd = DEVLINK_CMD_PARAM_GET, 3257199c862SJiri Pirko .dumpit = devlink_nl_param_get_dumpit, 32634493336SJiri Pirko .policy = devlink_param_get_dump_nl_policy, 32734493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 3287199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 3297199c862SJiri Pirko }, 3307199c862SJiri Pirko { 3317199c862SJiri Pirko .cmd = DEVLINK_CMD_REGION_GET, 3327199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 3337199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit_port_optional, 3347199c862SJiri Pirko .doit = devlink_nl_region_get_doit, 3357199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 33634493336SJiri Pirko .policy = devlink_region_get_do_nl_policy, 3377199c862SJiri Pirko .maxattr = DEVLINK_ATTR_REGION_NAME, 3387199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 3397199c862SJiri Pirko }, 3407199c862SJiri Pirko { 3417199c862SJiri Pirko .cmd = DEVLINK_CMD_REGION_GET, 3427199c862SJiri Pirko .dumpit = devlink_nl_region_get_dumpit, 34334493336SJiri Pirko .policy = devlink_region_get_dump_nl_policy, 34434493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 3457199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 3467199c862SJiri Pirko }, 3477199c862SJiri Pirko { 3486b7c486cSJiri Pirko .cmd = DEVLINK_CMD_INFO_GET, 3496b7c486cSJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 3506b7c486cSJiri Pirko .pre_doit = devlink_nl_pre_doit, 3516b7c486cSJiri Pirko .doit = devlink_nl_info_get_doit, 3526b7c486cSJiri Pirko .post_doit = devlink_nl_post_doit, 3536b7c486cSJiri Pirko .policy = devlink_info_get_nl_policy, 3546b7c486cSJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 3556b7c486cSJiri Pirko .flags = GENL_CMD_CAP_DO, 3566b7c486cSJiri Pirko }, 3576b7c486cSJiri Pirko { 3586b7c486cSJiri Pirko .cmd = DEVLINK_CMD_INFO_GET, 3596b7c486cSJiri Pirko .validate = GENL_DONT_VALIDATE_DUMP, 3606b7c486cSJiri Pirko .dumpit = devlink_nl_info_get_dumpit, 3616b7c486cSJiri Pirko .flags = GENL_CMD_CAP_DUMP, 3626b7c486cSJiri Pirko }, 3637199c862SJiri Pirko { 3647199c862SJiri Pirko .cmd = DEVLINK_CMD_HEALTH_REPORTER_GET, 3657199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 3667199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit_port_optional, 3677199c862SJiri Pirko .doit = devlink_nl_health_reporter_get_doit, 3687199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 36934493336SJiri Pirko .policy = devlink_health_reporter_get_do_nl_policy, 3707199c862SJiri Pirko .maxattr = DEVLINK_ATTR_HEALTH_REPORTER_NAME, 3717199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 3727199c862SJiri Pirko }, 3737199c862SJiri Pirko { 3747199c862SJiri Pirko .cmd = DEVLINK_CMD_HEALTH_REPORTER_GET, 3757199c862SJiri Pirko .dumpit = devlink_nl_health_reporter_get_dumpit, 37634493336SJiri Pirko .policy = devlink_health_reporter_get_dump_nl_policy, 377*0149bca1SJiri Pirko .maxattr = DEVLINK_ATTR_PORT_INDEX, 3787199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 3797199c862SJiri Pirko }, 3807199c862SJiri Pirko { 3817199c862SJiri Pirko .cmd = DEVLINK_CMD_TRAP_GET, 3827199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 3837199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit, 3847199c862SJiri Pirko .doit = devlink_nl_trap_get_doit, 3857199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 38634493336SJiri Pirko .policy = devlink_trap_get_do_nl_policy, 3877199c862SJiri Pirko .maxattr = DEVLINK_ATTR_TRAP_NAME, 3887199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 3897199c862SJiri Pirko }, 3907199c862SJiri Pirko { 3917199c862SJiri Pirko .cmd = DEVLINK_CMD_TRAP_GET, 3927199c862SJiri Pirko .dumpit = devlink_nl_trap_get_dumpit, 39334493336SJiri Pirko .policy = devlink_trap_get_dump_nl_policy, 39434493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 3957199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 3967199c862SJiri Pirko }, 3977199c862SJiri Pirko { 3987199c862SJiri Pirko .cmd = DEVLINK_CMD_TRAP_GROUP_GET, 3997199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 4007199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit, 4017199c862SJiri Pirko .doit = devlink_nl_trap_group_get_doit, 4027199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 40334493336SJiri Pirko .policy = devlink_trap_group_get_do_nl_policy, 4047199c862SJiri Pirko .maxattr = DEVLINK_ATTR_TRAP_GROUP_NAME, 4057199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 4067199c862SJiri Pirko }, 4077199c862SJiri Pirko { 4087199c862SJiri Pirko .cmd = DEVLINK_CMD_TRAP_GROUP_GET, 4097199c862SJiri Pirko .dumpit = devlink_nl_trap_group_get_dumpit, 41034493336SJiri Pirko .policy = devlink_trap_group_get_dump_nl_policy, 41134493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 4127199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 4137199c862SJiri Pirko }, 4147199c862SJiri Pirko { 4157199c862SJiri Pirko .cmd = DEVLINK_CMD_TRAP_POLICER_GET, 4167199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 4177199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit, 4187199c862SJiri Pirko .doit = devlink_nl_trap_policer_get_doit, 4197199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 42034493336SJiri Pirko .policy = devlink_trap_policer_get_do_nl_policy, 4217199c862SJiri Pirko .maxattr = DEVLINK_ATTR_TRAP_POLICER_ID, 4227199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 4237199c862SJiri Pirko }, 4247199c862SJiri Pirko { 4257199c862SJiri Pirko .cmd = DEVLINK_CMD_TRAP_POLICER_GET, 4267199c862SJiri Pirko .dumpit = devlink_nl_trap_policer_get_dumpit, 42734493336SJiri Pirko .policy = devlink_trap_policer_get_dump_nl_policy, 42834493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 4297199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 4307199c862SJiri Pirko }, 4317199c862SJiri Pirko { 4327199c862SJiri Pirko .cmd = DEVLINK_CMD_RATE_GET, 4337199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 4347199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit, 4357199c862SJiri Pirko .doit = devlink_nl_rate_get_doit, 4367199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 43734493336SJiri Pirko .policy = devlink_rate_get_do_nl_policy, 4387199c862SJiri Pirko .maxattr = DEVLINK_ATTR_RATE_NODE_NAME, 4397199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 4407199c862SJiri Pirko }, 4417199c862SJiri Pirko { 4427199c862SJiri Pirko .cmd = DEVLINK_CMD_RATE_GET, 4437199c862SJiri Pirko .dumpit = devlink_nl_rate_get_dumpit, 44434493336SJiri Pirko .policy = devlink_rate_get_dump_nl_policy, 44534493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 4467199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 4477199c862SJiri Pirko }, 4487199c862SJiri Pirko { 4497199c862SJiri Pirko .cmd = DEVLINK_CMD_LINECARD_GET, 4507199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 4517199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit, 4527199c862SJiri Pirko .doit = devlink_nl_linecard_get_doit, 4537199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 45434493336SJiri Pirko .policy = devlink_linecard_get_do_nl_policy, 4557199c862SJiri Pirko .maxattr = DEVLINK_ATTR_LINECARD_INDEX, 4567199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 4577199c862SJiri Pirko }, 4587199c862SJiri Pirko { 4597199c862SJiri Pirko .cmd = DEVLINK_CMD_LINECARD_GET, 4607199c862SJiri Pirko .dumpit = devlink_nl_linecard_get_dumpit, 46134493336SJiri Pirko .policy = devlink_linecard_get_dump_nl_policy, 46234493336SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 4637199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 4647199c862SJiri Pirko }, 4657199c862SJiri Pirko { 4667199c862SJiri Pirko .cmd = DEVLINK_CMD_SELFTESTS_GET, 4677199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_STRICT, 4687199c862SJiri Pirko .pre_doit = devlink_nl_pre_doit, 4697199c862SJiri Pirko .doit = devlink_nl_selftests_get_doit, 4707199c862SJiri Pirko .post_doit = devlink_nl_post_doit, 4717199c862SJiri Pirko .policy = devlink_selftests_get_nl_policy, 4727199c862SJiri Pirko .maxattr = DEVLINK_ATTR_DEV_NAME, 4737199c862SJiri Pirko .flags = GENL_CMD_CAP_DO, 4747199c862SJiri Pirko }, 4757199c862SJiri Pirko { 4767199c862SJiri Pirko .cmd = DEVLINK_CMD_SELFTESTS_GET, 4777199c862SJiri Pirko .validate = GENL_DONT_VALIDATE_DUMP, 4787199c862SJiri Pirko .dumpit = devlink_nl_selftests_get_dumpit, 4797199c862SJiri Pirko .flags = GENL_CMD_CAP_DUMP, 4807199c862SJiri Pirko }, 4816b7c486cSJiri Pirko }; 482