diff --git a/tmp/ynl_build-tmp.T6hBb0/old-code/devlink-user.c b/tmp/ynl_build-tmp.T6hBb0/new-code/devlink-user.c index f26c46338406..0203f2d5e97e 100644 --- a/tmp/ynl_build-tmp.T6hBb0/old-code/devlink-user.c +++ b/tmp/ynl_build-tmp.T6hBb0/new-code/devlink-user.c @@ -914,6 +914,7 @@ const struct ynl_policy_attr devlink_policy[DEVLINK_ATTR_MAX + 1] = { [DEVLINK_ATTR_RATE_TC_BWS] = { .name = "rate-tc-bws", .type = YNL_PT_NEST, .nest = &devlink_dl_rate_tc_bws_nest, }, [DEVLINK_ATTR_HEALTH_REPORTER_BURST_PERIOD] = { .name = "health-reporter-burst-period", .type = YNL_PT_U64, }, [DEVLINK_ATTR_PARAM_RESET_DEFAULT] = { .name = "param-reset-default", .type = YNL_PT_FLAG, }, + [DEVLINK_ATTR_INDEX] = { .name = "index", .type = YNL_PT_UINT, }, }; const struct ynl_policy_nest devlink_nest = { @@ -2364,6 +2365,11 @@ int devlink_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_RELOAD_FAILED) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -2401,6 +2407,8 @@ devlink_get(struct ynl_sock *ys, struct devlink_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); rsp = calloc(1, sizeof(*rsp)); yrs.yarg.data = rsp; @@ -2506,6 +2514,11 @@ int devlink_port_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -2534,6 +2547,8 @@ devlink_port_get(struct ynl_sock *ys, struct devlink_port_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); @@ -2584,6 +2599,11 @@ int devlink_port_get_rsp_dump_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -2639,6 +2659,8 @@ devlink_port_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -2675,6 +2697,8 @@ int devlink_port_set(struct ynl_sock *ys, struct devlink_port_set_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_present.port_type) @@ -2735,6 +2759,11 @@ int devlink_port_new_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -2763,6 +2792,8 @@ devlink_port_new(struct ynl_sock *ys, struct devlink_port_new_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_present.port_flavour) @@ -2813,6 +2844,8 @@ int devlink_port_del(struct ynl_sock *ys, struct devlink_port_del_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); @@ -2846,6 +2879,8 @@ int devlink_port_split(struct ynl_sock *ys, struct devlink_port_split_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_present.port_split_count) @@ -2882,6 +2917,8 @@ int devlink_port_unsplit(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); @@ -2938,6 +2975,11 @@ int devlink_sb_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_SB_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -2966,6 +3008,8 @@ devlink_sb_get(struct ynl_sock *ys, struct devlink_sb_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.sb_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_SB_INDEX, req->sb_index); @@ -3029,6 +3073,8 @@ devlink_sb_get_dump(struct ynl_sock *ys, struct devlink_sb_get_req_dump *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -3087,6 +3133,11 @@ int devlink_sb_pool_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_SB_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -3120,6 +3171,8 @@ devlink_sb_pool_get(struct ynl_sock *ys, struct devlink_sb_pool_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.sb_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_SB_INDEX, req->sb_index); if (req->_present.sb_pool_index) @@ -3187,6 +3240,8 @@ devlink_sb_pool_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -3223,6 +3278,8 @@ int devlink_sb_pool_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.sb_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_SB_INDEX, req->sb_index); if (req->_present.sb_pool_index) @@ -3287,6 +3344,11 @@ int devlink_sb_port_pool_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -3326,6 +3388,8 @@ devlink_sb_port_pool_get(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_present.sb_index) @@ -3396,6 +3460,8 @@ devlink_sb_port_pool_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -3433,6 +3499,8 @@ int devlink_sb_port_pool_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_present.sb_index) @@ -3497,6 +3565,11 @@ int devlink_sb_tc_pool_bind_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -3541,6 +3614,8 @@ devlink_sb_tc_pool_bind_get(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_present.sb_index) @@ -3613,6 +3688,8 @@ devlink_sb_tc_pool_bind_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -3650,6 +3727,8 @@ int devlink_sb_tc_pool_bind_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_present.sb_index) @@ -3694,6 +3773,8 @@ int devlink_sb_occ_snapshot(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.sb_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_SB_INDEX, req->sb_index); @@ -3729,6 +3810,8 @@ int devlink_sb_occ_max_clear(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.sb_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_SB_INDEX, req->sb_index); @@ -3785,6 +3868,11 @@ int devlink_eswitch_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_ESWITCH_MODE) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -3823,6 +3911,8 @@ devlink_eswitch_get(struct ynl_sock *ys, struct devlink_eswitch_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); rsp = calloc(1, sizeof(*rsp)); yrs.yarg.data = rsp; @@ -3864,6 +3954,8 @@ int devlink_eswitch_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.eswitch_mode) ynl_attr_put_u16(nlh, DEVLINK_ATTR_ESWITCH_MODE, req->eswitch_mode); if (req->_present.eswitch_inline_mode) @@ -3928,6 +4020,11 @@ int devlink_dpipe_table_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_DPIPE_TABLES) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -3961,6 +4058,8 @@ devlink_dpipe_table_get(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.dpipe_table_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DPIPE_TABLE_NAME, req->dpipe_table_name); @@ -4032,6 +4131,11 @@ int devlink_dpipe_entries_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_DPIPE_ENTRIES) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -4065,6 +4169,8 @@ devlink_dpipe_entries_get(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.dpipe_table_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DPIPE_TABLE_NAME, req->dpipe_table_name); @@ -4135,6 +4241,11 @@ int devlink_dpipe_headers_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_DPIPE_HEADERS) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -4168,6 +4279,8 @@ devlink_dpipe_headers_get(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); rsp = calloc(1, sizeof(*rsp)); yrs.yarg.data = rsp; @@ -4211,6 +4324,8 @@ int devlink_dpipe_table_counters_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.dpipe_table_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DPIPE_TABLE_NAME, req->dpipe_table_name); if (req->_present.dpipe_table_counters_enabled) @@ -4247,6 +4362,8 @@ int devlink_resource_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.resource_id) ynl_attr_put_u64(nlh, DEVLINK_ATTR_RESOURCE_ID, req->resource_id); if (req->_present.resource_size) @@ -4308,6 +4425,11 @@ int devlink_resource_dump_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_RESOURCE_LIST) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -4341,6 +4463,8 @@ devlink_resource_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); rsp = calloc(1, sizeof(*rsp)); yrs.yarg.data = rsp; @@ -4404,6 +4528,11 @@ int devlink_reload_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -4432,6 +4561,8 @@ devlink_reload(struct ynl_sock *ys, struct devlink_reload_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.reload_action) ynl_attr_put_u8(nlh, DEVLINK_ATTR_RELOAD_ACTION, req->reload_action); if (req->_present.reload_limits) @@ -4507,6 +4638,11 @@ int devlink_param_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PARAM_NAME) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -4539,6 +4675,8 @@ devlink_param_get(struct ynl_sock *ys, struct devlink_param_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.param_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_PARAM_NAME, req->param_name); @@ -4604,6 +4742,8 @@ devlink_param_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -4640,6 +4780,8 @@ int devlink_param_set(struct ynl_sock *ys, struct devlink_param_set_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.param_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_PARAM_NAME, req->param_name); if (req->_present.param_type) @@ -4704,6 +4846,11 @@ int devlink_region_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -4741,6 +4888,8 @@ devlink_region_get(struct ynl_sock *ys, struct devlink_region_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.region_name) @@ -4808,6 +4957,8 @@ devlink_region_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -4868,6 +5019,11 @@ int devlink_region_new_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -4910,6 +5066,8 @@ devlink_region_new(struct ynl_sock *ys, struct devlink_region_new_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.region_name) @@ -4957,6 +5115,8 @@ int devlink_region_del(struct ynl_sock *ys, struct devlink_region_del_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.region_name) @@ -5003,6 +5163,11 @@ int devlink_region_read_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -5069,6 +5234,8 @@ devlink_region_read_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.region_name) @@ -5139,6 +5306,11 @@ int devlink_port_param_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -5168,6 +5340,8 @@ devlink_port_param_get(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); @@ -5253,6 +5427,8 @@ int devlink_port_param_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); @@ -5336,6 +5512,11 @@ int devlink_info_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_INFO_DRIVER_NAME) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -5435,6 +5616,8 @@ devlink_info_get(struct ynl_sock *ys, struct devlink_info_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); rsp = calloc(1, sizeof(*rsp)); yrs.yarg.data = rsp; @@ -5557,6 +5740,11 @@ int devlink_health_reporter_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -5595,6 +5783,8 @@ devlink_health_reporter_get(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.health_reporter_name) @@ -5664,6 +5854,8 @@ devlink_health_reporter_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); @@ -5704,6 +5896,8 @@ int devlink_health_reporter_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.health_reporter_name) @@ -5750,6 +5944,8 @@ int devlink_health_reporter_recover(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.health_reporter_name) @@ -5788,6 +5984,8 @@ int devlink_health_reporter_diagnose(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.health_reporter_name) @@ -5876,6 +6074,8 @@ devlink_health_reporter_dump_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.health_reporter_name) @@ -5918,6 +6118,8 @@ int devlink_health_reporter_dump_clear(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.health_reporter_name) @@ -5956,6 +6158,8 @@ int devlink_flash_update(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.flash_update_file_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME, req->flash_update_file_name); if (req->_len.flash_update_component) @@ -6018,6 +6222,11 @@ int devlink_trap_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_TRAP_NAME) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -6050,6 +6259,8 @@ devlink_trap_get(struct ynl_sock *ys, struct devlink_trap_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.trap_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_TRAP_NAME, req->trap_name); @@ -6115,6 +6326,8 @@ devlink_trap_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -6151,6 +6364,8 @@ int devlink_trap_set(struct ynl_sock *ys, struct devlink_trap_set_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.trap_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_TRAP_NAME, req->trap_name); if (req->_present.trap_action) @@ -6211,6 +6426,11 @@ int devlink_trap_group_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_TRAP_GROUP_NAME) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -6244,6 +6464,8 @@ devlink_trap_group_get(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.trap_group_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_TRAP_GROUP_NAME, req->trap_group_name); @@ -6310,6 +6532,8 @@ devlink_trap_group_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -6347,6 +6571,8 @@ int devlink_trap_group_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.trap_group_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_TRAP_GROUP_NAME, req->trap_group_name); if (req->_present.trap_action) @@ -6409,6 +6635,11 @@ int devlink_trap_policer_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_TRAP_POLICER_ID) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -6438,6 +6669,8 @@ devlink_trap_policer_get(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.trap_policer_id) ynl_attr_put_u32(nlh, DEVLINK_ATTR_TRAP_POLICER_ID, req->trap_policer_id); @@ -6504,6 +6737,8 @@ devlink_trap_policer_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -6541,6 +6776,8 @@ int devlink_trap_policer_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.trap_policer_id) ynl_attr_put_u32(nlh, DEVLINK_ATTR_TRAP_POLICER_ID, req->trap_policer_id); if (req->_present.trap_policer_rate) @@ -6581,6 +6818,8 @@ int devlink_health_reporter_test(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.health_reporter_name) @@ -6641,6 +6880,11 @@ int devlink_rate_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_PORT_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -6678,6 +6922,8 @@ devlink_rate_get(struct ynl_sock *ys, struct devlink_rate_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); if (req->_len.rate_node_name) @@ -6745,6 +6991,8 @@ devlink_rate_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -6788,6 +7036,8 @@ int devlink_rate_set(struct ynl_sock *ys, struct devlink_rate_set_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.rate_node_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_RATE_NODE_NAME, req->rate_node_name); if (req->_present.rate_tx_share) @@ -6841,6 +7091,8 @@ int devlink_rate_new(struct ynl_sock *ys, struct devlink_rate_new_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.rate_node_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_RATE_NODE_NAME, req->rate_node_name); if (req->_present.rate_tx_share) @@ -6887,6 +7139,8 @@ int devlink_rate_del(struct ynl_sock *ys, struct devlink_rate_del_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_len.rate_node_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_RATE_NODE_NAME, req->rate_node_name); @@ -6943,6 +7197,11 @@ int devlink_linecard_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } else if (type == DEVLINK_ATTR_LINECARD_INDEX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -6971,6 +7230,8 @@ devlink_linecard_get(struct ynl_sock *ys, struct devlink_linecard_get_req *req) ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.linecard_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_LINECARD_INDEX, req->linecard_index); @@ -7036,6 +7297,8 @@ devlink_linecard_get_dump(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); err = ynl_exec_dump(ys, nlh, &yds); if (err < 0) @@ -7073,6 +7336,8 @@ int devlink_linecard_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.linecard_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_LINECARD_INDEX, req->linecard_index); if (req->_len.linecard_type) @@ -7131,6 +7396,11 @@ int devlink_selftests_get_rsp_parse(const struct nlmsghdr *nlh, dst->dev_name = malloc(len + 1); memcpy(dst->dev_name, ynl_attr_get_str(attr), len); dst->dev_name[len] = 0; + } else if (type == DEVLINK_ATTR_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.index = 1; + dst->index = ynl_attr_get_uint(attr); } } @@ -7155,6 +7425,8 @@ devlink_selftests_get(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); rsp = calloc(1, sizeof(*rsp)); yrs.yarg.data = rsp; @@ -7239,6 +7511,8 @@ int devlink_selftests_run(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.selftests) devlink_dl_selftest_id_put(nlh, DEVLINK_ATTR_SELFTESTS, &req->selftests); @@ -7274,6 +7548,8 @@ int devlink_notify_filter_set(struct ynl_sock *ys, ynl_attr_put_str(nlh, DEVLINK_ATTR_BUS_NAME, req->bus_name); if (req->_len.dev_name) ynl_attr_put_str(nlh, DEVLINK_ATTR_DEV_NAME, req->dev_name); + if (req->_present.index) + ynl_attr_put_uint(nlh, DEVLINK_ATTR_INDEX, req->index); if (req->_present.port_index) ynl_attr_put_u32(nlh, DEVLINK_ATTR_PORT_INDEX, req->port_index); diff --git a/tmp/ynl_build-tmp.T6hBb0/old-code/devlink-user.h b/tmp/ynl_build-tmp.T6hBb0/new-code/devlink-user.h index 9bd9f96d0113..1ca91e30bd6b 100644 --- a/tmp/ynl_build-tmp.T6hBb0/old-code/devlink-user.h +++ b/tmp/ynl_build-tmp.T6hBb0/new-code/devlink-user.h @@ -517,6 +517,9 @@ struct devlink_dl_dev_stats { /* ============== DEVLINK_CMD_GET ============== */ /* DEVLINK_CMD_GET - do */ struct devlink_get_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -524,6 +527,7 @@ struct devlink_get_req { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_get_req *devlink_get_req_alloc(void) @@ -550,9 +554,16 @@ devlink_get_req_set_dev_name(struct devlink_get_req *req, const char *dev_name) memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_get_req_set_index(struct devlink_get_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_get_rsp { struct { + __u32 index:1; __u32 reload_failed:1; __u32 dev_stats:1; } _present; @@ -563,6 +574,7 @@ struct devlink_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u8 reload_failed; struct devlink_dl_dev_stats dev_stats; }; @@ -589,6 +601,7 @@ struct devlink_get_list *devlink_get_dump(struct ynl_sock *ys); /* DEVLINK_CMD_PORT_GET - do */ struct devlink_port_get_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -598,6 +611,7 @@ struct devlink_port_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -628,6 +642,12 @@ devlink_port_get_req_set_dev_name(struct devlink_port_get_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_port_get_req_set_index(struct devlink_port_get_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_port_get_req_set_port_index(struct devlink_port_get_req *req, __u32 port_index) { @@ -637,6 +657,7 @@ devlink_port_get_req_set_port_index(struct devlink_port_get_req *req, struct devlink_port_get_rsp { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -646,6 +667,7 @@ struct devlink_port_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -659,6 +681,9 @@ devlink_port_get(struct ynl_sock *ys, struct devlink_port_get_req *req); /* DEVLINK_CMD_PORT_GET - dump */ struct devlink_port_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -666,6 +691,7 @@ struct devlink_port_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_port_get_req_dump * @@ -695,9 +721,17 @@ devlink_port_get_req_dump_set_dev_name(struct devlink_port_get_req_dump *req, memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_port_get_req_dump_set_index(struct devlink_port_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_port_get_rsp_dump { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -707,6 +741,7 @@ struct devlink_port_get_rsp_dump { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -725,6 +760,7 @@ devlink_port_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_PORT_SET - do */ struct devlink_port_set_req { struct { + __u32 index:1; __u32 port_index:1; __u32 port_type:1; __u32 port_function:1; @@ -736,6 +772,7 @@ struct devlink_port_set_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; enum devlink_port_type port_type; struct devlink_dl_port_function port_function; @@ -768,6 +805,12 @@ devlink_port_set_req_set_dev_name(struct devlink_port_set_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_port_set_req_set_index(struct devlink_port_set_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_port_set_req_set_port_index(struct devlink_port_set_req *req, __u32 port_index) { @@ -825,6 +868,7 @@ int devlink_port_set(struct ynl_sock *ys, struct devlink_port_set_req *req); /* DEVLINK_CMD_PORT_NEW - do */ struct devlink_port_new_req { struct { + __u32 index:1; __u32 port_index:1; __u32 port_flavour:1; __u32 port_pci_pf_number:1; @@ -838,6 +882,7 @@ struct devlink_port_new_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; enum devlink_port_flavour port_flavour; __u16 port_pci_pf_number; @@ -872,6 +917,12 @@ devlink_port_new_req_set_dev_name(struct devlink_port_new_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_port_new_req_set_index(struct devlink_port_new_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_port_new_req_set_port_index(struct devlink_port_new_req *req, __u32 port_index) { @@ -909,6 +960,7 @@ devlink_port_new_req_set_port_controller_number(struct devlink_port_new_req *req struct devlink_port_new_rsp { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -918,6 +970,7 @@ struct devlink_port_new_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -933,6 +986,7 @@ devlink_port_new(struct ynl_sock *ys, struct devlink_port_new_req *req); /* DEVLINK_CMD_PORT_DEL - do */ struct devlink_port_del_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -942,6 +996,7 @@ struct devlink_port_del_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -972,6 +1027,12 @@ devlink_port_del_req_set_dev_name(struct devlink_port_del_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_port_del_req_set_index(struct devlink_port_del_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_port_del_req_set_port_index(struct devlink_port_del_req *req, __u32 port_index) { @@ -988,6 +1049,7 @@ int devlink_port_del(struct ynl_sock *ys, struct devlink_port_del_req *req); /* DEVLINK_CMD_PORT_SPLIT - do */ struct devlink_port_split_req { struct { + __u32 index:1; __u32 port_index:1; __u32 port_split_count:1; } _present; @@ -998,6 +1060,7 @@ struct devlink_port_split_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; __u32 port_split_count; }; @@ -1029,6 +1092,13 @@ devlink_port_split_req_set_dev_name(struct devlink_port_split_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_port_split_req_set_index(struct devlink_port_split_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_port_split_req_set_port_index(struct devlink_port_split_req *req, __u32 port_index) { @@ -1052,6 +1122,7 @@ int devlink_port_split(struct ynl_sock *ys, struct devlink_port_split_req *req); /* DEVLINK_CMD_PORT_UNSPLIT - do */ struct devlink_port_unsplit_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -1061,6 +1132,7 @@ struct devlink_port_unsplit_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -1092,6 +1164,13 @@ devlink_port_unsplit_req_set_dev_name(struct devlink_port_unsplit_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_port_unsplit_req_set_index(struct devlink_port_unsplit_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_port_unsplit_req_set_port_index(struct devlink_port_unsplit_req *req, __u32 port_index) { @@ -1109,6 +1188,7 @@ int devlink_port_unsplit(struct ynl_sock *ys, /* DEVLINK_CMD_SB_GET - do */ struct devlink_sb_get_req { struct { + __u32 index:1; __u32 sb_index:1; } _present; struct { @@ -1118,6 +1198,7 @@ struct devlink_sb_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 sb_index; }; @@ -1148,6 +1229,12 @@ devlink_sb_get_req_set_dev_name(struct devlink_sb_get_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_sb_get_req_set_index(struct devlink_sb_get_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_sb_get_req_set_sb_index(struct devlink_sb_get_req *req, __u32 sb_index) { req->_present.sb_index = 1; @@ -1156,6 +1243,7 @@ devlink_sb_get_req_set_sb_index(struct devlink_sb_get_req *req, __u32 sb_index) struct devlink_sb_get_rsp { struct { + __u32 index:1; __u32 sb_index:1; } _present; struct { @@ -1165,6 +1253,7 @@ struct devlink_sb_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 sb_index; }; @@ -1178,6 +1267,9 @@ devlink_sb_get(struct ynl_sock *ys, struct devlink_sb_get_req *req); /* DEVLINK_CMD_SB_GET - dump */ struct devlink_sb_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -1185,6 +1277,7 @@ struct devlink_sb_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_sb_get_req_dump * @@ -1214,6 +1307,13 @@ devlink_sb_get_req_dump_set_dev_name(struct devlink_sb_get_req_dump *req, memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_sb_get_req_dump_set_index(struct devlink_sb_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_sb_get_list { struct devlink_sb_get_list *next; @@ -1229,6 +1329,7 @@ devlink_sb_get_dump(struct ynl_sock *ys, struct devlink_sb_get_req_dump *req); /* DEVLINK_CMD_SB_POOL_GET - do */ struct devlink_sb_pool_get_req { struct { + __u32 index:1; __u32 sb_index:1; __u32 sb_pool_index:1; } _present; @@ -1239,6 +1340,7 @@ struct devlink_sb_pool_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 sb_index; __u16 sb_pool_index; }; @@ -1271,6 +1373,13 @@ devlink_sb_pool_get_req_set_dev_name(struct devlink_sb_pool_get_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_sb_pool_get_req_set_index(struct devlink_sb_pool_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_sb_pool_get_req_set_sb_index(struct devlink_sb_pool_get_req *req, __u32 sb_index) { @@ -1287,6 +1396,7 @@ devlink_sb_pool_get_req_set_sb_pool_index(struct devlink_sb_pool_get_req *req, struct devlink_sb_pool_get_rsp { struct { + __u32 index:1; __u32 sb_index:1; __u32 sb_pool_index:1; } _present; @@ -1297,6 +1407,7 @@ struct devlink_sb_pool_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 sb_index; __u16 sb_pool_index; }; @@ -1311,6 +1422,9 @@ devlink_sb_pool_get(struct ynl_sock *ys, struct devlink_sb_pool_get_req *req); /* DEVLINK_CMD_SB_POOL_GET - dump */ struct devlink_sb_pool_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -1318,6 +1432,7 @@ struct devlink_sb_pool_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_sb_pool_get_req_dump * @@ -1348,6 +1463,13 @@ devlink_sb_pool_get_req_dump_set_dev_name(struct devlink_sb_pool_get_req_dump *r memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_sb_pool_get_req_dump_set_index(struct devlink_sb_pool_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_sb_pool_get_list { struct devlink_sb_pool_get_list *next; @@ -1364,6 +1486,7 @@ devlink_sb_pool_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_SB_POOL_SET - do */ struct devlink_sb_pool_set_req { struct { + __u32 index:1; __u32 sb_index:1; __u32 sb_pool_index:1; __u32 sb_pool_threshold_type:1; @@ -1376,6 +1499,7 @@ struct devlink_sb_pool_set_req { char *bus_name; char *dev_name; + __u64 index; __u32 sb_index; __u16 sb_pool_index; enum devlink_sb_threshold_type sb_pool_threshold_type; @@ -1410,6 +1534,13 @@ devlink_sb_pool_set_req_set_dev_name(struct devlink_sb_pool_set_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_sb_pool_set_req_set_index(struct devlink_sb_pool_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_sb_pool_set_req_set_sb_index(struct devlink_sb_pool_set_req *req, __u32 sb_index) { @@ -1448,6 +1579,7 @@ int devlink_sb_pool_set(struct ynl_sock *ys, /* DEVLINK_CMD_SB_PORT_POOL_GET - do */ struct devlink_sb_port_pool_get_req { struct { + __u32 index:1; __u32 port_index:1; __u32 sb_index:1; __u32 sb_pool_index:1; @@ -1459,6 +1591,7 @@ struct devlink_sb_port_pool_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; __u32 sb_index; __u16 sb_pool_index; @@ -1493,6 +1626,13 @@ devlink_sb_port_pool_get_req_set_dev_name(struct devlink_sb_port_pool_get_req *r req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_sb_port_pool_get_req_set_index(struct devlink_sb_port_pool_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_sb_port_pool_get_req_set_port_index(struct devlink_sb_port_pool_get_req *req, __u32 port_index) { @@ -1516,6 +1656,7 @@ devlink_sb_port_pool_get_req_set_sb_pool_index(struct devlink_sb_port_pool_get_r struct devlink_sb_port_pool_get_rsp { struct { + __u32 index:1; __u32 port_index:1; __u32 sb_index:1; __u32 sb_pool_index:1; @@ -1527,6 +1668,7 @@ struct devlink_sb_port_pool_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; __u32 sb_index; __u16 sb_pool_index; @@ -1544,6 +1686,9 @@ devlink_sb_port_pool_get(struct ynl_sock *ys, /* DEVLINK_CMD_SB_PORT_POOL_GET - dump */ struct devlink_sb_port_pool_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -1551,6 +1696,7 @@ struct devlink_sb_port_pool_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_sb_port_pool_get_req_dump * @@ -1581,6 +1727,13 @@ devlink_sb_port_pool_get_req_dump_set_dev_name(struct devlink_sb_port_pool_get_r memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_sb_port_pool_get_req_dump_set_index(struct devlink_sb_port_pool_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_sb_port_pool_get_list { struct devlink_sb_port_pool_get_list *next; @@ -1598,6 +1751,7 @@ devlink_sb_port_pool_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_SB_PORT_POOL_SET - do */ struct devlink_sb_port_pool_set_req { struct { + __u32 index:1; __u32 port_index:1; __u32 sb_index:1; __u32 sb_pool_index:1; @@ -1610,6 +1764,7 @@ struct devlink_sb_port_pool_set_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; __u32 sb_index; __u16 sb_pool_index; @@ -1645,6 +1800,13 @@ devlink_sb_port_pool_set_req_set_dev_name(struct devlink_sb_port_pool_set_req *r req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_sb_port_pool_set_req_set_index(struct devlink_sb_port_pool_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_sb_port_pool_set_req_set_port_index(struct devlink_sb_port_pool_set_req *req, __u32 port_index) { @@ -1683,6 +1845,7 @@ int devlink_sb_port_pool_set(struct ynl_sock *ys, /* DEVLINK_CMD_SB_TC_POOL_BIND_GET - do */ struct devlink_sb_tc_pool_bind_get_req { struct { + __u32 index:1; __u32 port_index:1; __u32 sb_index:1; __u32 sb_pool_type:1; @@ -1695,6 +1858,7 @@ struct devlink_sb_tc_pool_bind_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; __u32 sb_index; enum devlink_sb_pool_type sb_pool_type; @@ -1730,6 +1894,13 @@ devlink_sb_tc_pool_bind_get_req_set_dev_name(struct devlink_sb_tc_pool_bind_get_ req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_sb_tc_pool_bind_get_req_set_index(struct devlink_sb_tc_pool_bind_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_sb_tc_pool_bind_get_req_set_port_index(struct devlink_sb_tc_pool_bind_get_req *req, __u32 port_index) { @@ -1760,6 +1931,7 @@ devlink_sb_tc_pool_bind_get_req_set_sb_tc_index(struct devlink_sb_tc_pool_bind_g struct devlink_sb_tc_pool_bind_get_rsp { struct { + __u32 index:1; __u32 port_index:1; __u32 sb_index:1; __u32 sb_pool_type:1; @@ -1772,6 +1944,7 @@ struct devlink_sb_tc_pool_bind_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; __u32 sb_index; enum devlink_sb_pool_type sb_pool_type; @@ -1790,6 +1963,9 @@ devlink_sb_tc_pool_bind_get(struct ynl_sock *ys, /* DEVLINK_CMD_SB_TC_POOL_BIND_GET - dump */ struct devlink_sb_tc_pool_bind_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -1797,6 +1973,7 @@ struct devlink_sb_tc_pool_bind_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_sb_tc_pool_bind_get_req_dump * @@ -1827,6 +2004,13 @@ devlink_sb_tc_pool_bind_get_req_dump_set_dev_name(struct devlink_sb_tc_pool_bind memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_sb_tc_pool_bind_get_req_dump_set_index(struct devlink_sb_tc_pool_bind_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_sb_tc_pool_bind_get_list { struct devlink_sb_tc_pool_bind_get_list *next; @@ -1844,6 +2028,7 @@ devlink_sb_tc_pool_bind_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_SB_TC_POOL_BIND_SET - do */ struct devlink_sb_tc_pool_bind_set_req { struct { + __u32 index:1; __u32 port_index:1; __u32 sb_index:1; __u32 sb_pool_index:1; @@ -1858,6 +2043,7 @@ struct devlink_sb_tc_pool_bind_set_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; __u32 sb_index; __u16 sb_pool_index; @@ -1895,6 +2081,13 @@ devlink_sb_tc_pool_bind_set_req_set_dev_name(struct devlink_sb_tc_pool_bind_set_ req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_sb_tc_pool_bind_set_req_set_index(struct devlink_sb_tc_pool_bind_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_sb_tc_pool_bind_set_req_set_port_index(struct devlink_sb_tc_pool_bind_set_req *req, __u32 port_index) { @@ -1947,6 +2140,7 @@ int devlink_sb_tc_pool_bind_set(struct ynl_sock *ys, /* DEVLINK_CMD_SB_OCC_SNAPSHOT - do */ struct devlink_sb_occ_snapshot_req { struct { + __u32 index:1; __u32 sb_index:1; } _present; struct { @@ -1956,6 +2150,7 @@ struct devlink_sb_occ_snapshot_req { char *bus_name; char *dev_name; + __u64 index; __u32 sb_index; }; @@ -1987,6 +2182,13 @@ devlink_sb_occ_snapshot_req_set_dev_name(struct devlink_sb_occ_snapshot_req *req req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_sb_occ_snapshot_req_set_index(struct devlink_sb_occ_snapshot_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_sb_occ_snapshot_req_set_sb_index(struct devlink_sb_occ_snapshot_req *req, __u32 sb_index) { @@ -2004,6 +2206,7 @@ int devlink_sb_occ_snapshot(struct ynl_sock *ys, /* DEVLINK_CMD_SB_OCC_MAX_CLEAR - do */ struct devlink_sb_occ_max_clear_req { struct { + __u32 index:1; __u32 sb_index:1; } _present; struct { @@ -2013,6 +2216,7 @@ struct devlink_sb_occ_max_clear_req { char *bus_name; char *dev_name; + __u64 index; __u32 sb_index; }; @@ -2045,6 +2249,13 @@ devlink_sb_occ_max_clear_req_set_dev_name(struct devlink_sb_occ_max_clear_req *r req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_sb_occ_max_clear_req_set_index(struct devlink_sb_occ_max_clear_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_sb_occ_max_clear_req_set_sb_index(struct devlink_sb_occ_max_clear_req *req, __u32 sb_index) { @@ -2061,6 +2272,9 @@ int devlink_sb_occ_max_clear(struct ynl_sock *ys, /* ============== DEVLINK_CMD_ESWITCH_GET ============== */ /* DEVLINK_CMD_ESWITCH_GET - do */ struct devlink_eswitch_get_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -2068,6 +2282,7 @@ struct devlink_eswitch_get_req { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_eswitch_get_req * @@ -2097,9 +2312,17 @@ devlink_eswitch_get_req_set_dev_name(struct devlink_eswitch_get_req *req, memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_eswitch_get_req_set_index(struct devlink_eswitch_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_eswitch_get_rsp { struct { + __u32 index:1; __u32 eswitch_mode:1; __u32 eswitch_inline_mode:1; __u32 eswitch_encap_mode:1; @@ -2111,6 +2334,7 @@ struct devlink_eswitch_get_rsp { char *bus_name; char *dev_name; + __u64 index; enum devlink_eswitch_mode eswitch_mode; enum devlink_eswitch_inline_mode eswitch_inline_mode; enum devlink_eswitch_encap_mode eswitch_encap_mode; @@ -2128,6 +2352,7 @@ devlink_eswitch_get(struct ynl_sock *ys, struct devlink_eswitch_get_req *req); /* DEVLINK_CMD_ESWITCH_SET - do */ struct devlink_eswitch_set_req { struct { + __u32 index:1; __u32 eswitch_mode:1; __u32 eswitch_inline_mode:1; __u32 eswitch_encap_mode:1; @@ -2139,6 +2364,7 @@ struct devlink_eswitch_set_req { char *bus_name; char *dev_name; + __u64 index; enum devlink_eswitch_mode eswitch_mode; enum devlink_eswitch_inline_mode eswitch_inline_mode; enum devlink_eswitch_encap_mode eswitch_encap_mode; @@ -2172,6 +2398,13 @@ devlink_eswitch_set_req_set_dev_name(struct devlink_eswitch_set_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_eswitch_set_req_set_index(struct devlink_eswitch_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_eswitch_set_req_set_eswitch_mode(struct devlink_eswitch_set_req *req, enum devlink_eswitch_mode eswitch_mode) { @@ -2202,6 +2435,9 @@ int devlink_eswitch_set(struct ynl_sock *ys, /* ============== DEVLINK_CMD_DPIPE_TABLE_GET ============== */ /* DEVLINK_CMD_DPIPE_TABLE_GET - do */ struct devlink_dpipe_table_get_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -2210,6 +2446,7 @@ struct devlink_dpipe_table_get_req { char *bus_name; char *dev_name; + __u64 index; char *dpipe_table_name; }; @@ -2241,6 +2478,13 @@ devlink_dpipe_table_get_req_set_dev_name(struct devlink_dpipe_table_get_req *req req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_dpipe_table_get_req_set_index(struct devlink_dpipe_table_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_dpipe_table_get_req_set_dpipe_table_name(struct devlink_dpipe_table_get_req *req, const char *dpipe_table_name) { @@ -2253,6 +2497,7 @@ devlink_dpipe_table_get_req_set_dpipe_table_name(struct devlink_dpipe_table_get_ struct devlink_dpipe_table_get_rsp { struct { + __u32 index:1; __u32 dpipe_tables:1; } _present; struct { @@ -2262,6 +2507,7 @@ struct devlink_dpipe_table_get_rsp { char *bus_name; char *dev_name; + __u64 index; struct devlink_dl_dpipe_tables dpipe_tables; }; @@ -2277,6 +2523,9 @@ devlink_dpipe_table_get(struct ynl_sock *ys, /* ============== DEVLINK_CMD_DPIPE_ENTRIES_GET ============== */ /* DEVLINK_CMD_DPIPE_ENTRIES_GET - do */ struct devlink_dpipe_entries_get_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -2285,6 +2534,7 @@ struct devlink_dpipe_entries_get_req { char *bus_name; char *dev_name; + __u64 index; char *dpipe_table_name; }; @@ -2317,6 +2567,13 @@ devlink_dpipe_entries_get_req_set_dev_name(struct devlink_dpipe_entries_get_req req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_dpipe_entries_get_req_set_index(struct devlink_dpipe_entries_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_dpipe_entries_get_req_set_dpipe_table_name(struct devlink_dpipe_entries_get_req *req, const char *dpipe_table_name) { @@ -2329,6 +2586,7 @@ devlink_dpipe_entries_get_req_set_dpipe_table_name(struct devlink_dpipe_entries_ struct devlink_dpipe_entries_get_rsp { struct { + __u32 index:1; __u32 dpipe_entries:1; } _present; struct { @@ -2338,6 +2596,7 @@ struct devlink_dpipe_entries_get_rsp { char *bus_name; char *dev_name; + __u64 index; struct devlink_dl_dpipe_entries dpipe_entries; }; @@ -2354,6 +2613,9 @@ devlink_dpipe_entries_get(struct ynl_sock *ys, /* ============== DEVLINK_CMD_DPIPE_HEADERS_GET ============== */ /* DEVLINK_CMD_DPIPE_HEADERS_GET - do */ struct devlink_dpipe_headers_get_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -2361,6 +2623,7 @@ struct devlink_dpipe_headers_get_req { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_dpipe_headers_get_req * @@ -2391,9 +2654,17 @@ devlink_dpipe_headers_get_req_set_dev_name(struct devlink_dpipe_headers_get_req memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_dpipe_headers_get_req_set_index(struct devlink_dpipe_headers_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_dpipe_headers_get_rsp { struct { + __u32 index:1; __u32 dpipe_headers:1; } _present; struct { @@ -2403,6 +2674,7 @@ struct devlink_dpipe_headers_get_rsp { char *bus_name; char *dev_name; + __u64 index; struct devlink_dl_dpipe_headers dpipe_headers; }; @@ -2420,6 +2692,7 @@ devlink_dpipe_headers_get(struct ynl_sock *ys, /* DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET - do */ struct devlink_dpipe_table_counters_set_req { struct { + __u32 index:1; __u32 dpipe_table_counters_enabled:1; } _present; struct { @@ -2430,6 +2703,7 @@ struct devlink_dpipe_table_counters_set_req { char *bus_name; char *dev_name; + __u64 index; char *dpipe_table_name; __u8 dpipe_table_counters_enabled; }; @@ -2463,6 +2737,13 @@ devlink_dpipe_table_counters_set_req_set_dev_name(struct devlink_dpipe_table_cou req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_dpipe_table_counters_set_req_set_index(struct devlink_dpipe_table_counters_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_dpipe_table_counters_set_req_set_dpipe_table_name(struct devlink_dpipe_table_counters_set_req *req, const char *dpipe_table_name) { @@ -2490,6 +2771,7 @@ int devlink_dpipe_table_counters_set(struct ynl_sock *ys, /* DEVLINK_CMD_RESOURCE_SET - do */ struct devlink_resource_set_req { struct { + __u32 index:1; __u32 resource_id:1; __u32 resource_size:1; } _present; @@ -2500,6 +2782,7 @@ struct devlink_resource_set_req { char *bus_name; char *dev_name; + __u64 index; __u64 resource_id; __u64 resource_size; }; @@ -2532,6 +2815,13 @@ devlink_resource_set_req_set_dev_name(struct devlink_resource_set_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_resource_set_req_set_index(struct devlink_resource_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_resource_set_req_set_resource_id(struct devlink_resource_set_req *req, __u64 resource_id) { @@ -2555,6 +2845,9 @@ int devlink_resource_set(struct ynl_sock *ys, /* ============== DEVLINK_CMD_RESOURCE_DUMP ============== */ /* DEVLINK_CMD_RESOURCE_DUMP - do */ struct devlink_resource_dump_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -2562,6 +2855,7 @@ struct devlink_resource_dump_req { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_resource_dump_req * @@ -2591,9 +2885,17 @@ devlink_resource_dump_req_set_dev_name(struct devlink_resource_dump_req *req, memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_resource_dump_req_set_index(struct devlink_resource_dump_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_resource_dump_rsp { struct { + __u32 index:1; __u32 resource_list:1; } _present; struct { @@ -2603,6 +2905,7 @@ struct devlink_resource_dump_rsp { char *bus_name; char *dev_name; + __u64 index; struct devlink_dl_resource_list resource_list; }; @@ -2619,6 +2922,7 @@ devlink_resource_dump(struct ynl_sock *ys, /* DEVLINK_CMD_RELOAD - do */ struct devlink_reload_req { struct { + __u32 index:1; __u32 reload_action:1; __u32 reload_limits:1; __u32 netns_pid:1; @@ -2632,6 +2936,7 @@ struct devlink_reload_req { char *bus_name; char *dev_name; + __u64 index; enum devlink_reload_action reload_action; struct nla_bitfield32 reload_limits; __u32 netns_pid; @@ -2666,6 +2971,12 @@ devlink_reload_req_set_dev_name(struct devlink_reload_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_reload_req_set_index(struct devlink_reload_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_reload_req_set_reload_action(struct devlink_reload_req *req, enum devlink_reload_action reload_action) { @@ -2701,6 +3012,7 @@ devlink_reload_req_set_netns_id(struct devlink_reload_req *req, __u32 netns_id) struct devlink_reload_rsp { struct { + __u32 index:1; __u32 reload_actions_performed:1; } _present; struct { @@ -2710,6 +3022,7 @@ struct devlink_reload_rsp { char *bus_name; char *dev_name; + __u64 index; struct nla_bitfield32 reload_actions_performed; }; @@ -2724,6 +3037,9 @@ devlink_reload(struct ynl_sock *ys, struct devlink_reload_req *req); /* ============== DEVLINK_CMD_PARAM_GET ============== */ /* DEVLINK_CMD_PARAM_GET - do */ struct devlink_param_get_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -2732,6 +3048,7 @@ struct devlink_param_get_req { char *bus_name; char *dev_name; + __u64 index; char *param_name; }; @@ -2762,6 +3079,12 @@ devlink_param_get_req_set_dev_name(struct devlink_param_get_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_param_get_req_set_index(struct devlink_param_get_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_param_get_req_set_param_name(struct devlink_param_get_req *req, const char *param_name) { @@ -2773,6 +3096,9 @@ devlink_param_get_req_set_param_name(struct devlink_param_get_req *req, } struct devlink_param_get_rsp { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -2781,6 +3107,7 @@ struct devlink_param_get_rsp { char *bus_name; char *dev_name; + __u64 index; char *param_name; }; @@ -2794,6 +3121,9 @@ devlink_param_get(struct ynl_sock *ys, struct devlink_param_get_req *req); /* DEVLINK_CMD_PARAM_GET - dump */ struct devlink_param_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -2801,6 +3131,7 @@ struct devlink_param_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_param_get_req_dump * @@ -2830,6 +3161,13 @@ devlink_param_get_req_dump_set_dev_name(struct devlink_param_get_req_dump *req, memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_param_get_req_dump_set_index(struct devlink_param_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_param_get_list { struct devlink_param_get_list *next; @@ -2846,6 +3184,7 @@ devlink_param_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_PARAM_SET - do */ struct devlink_param_set_req { struct { + __u32 index:1; __u32 param_type:1; __u32 param_value_cmode:1; __u32 param_reset_default:1; @@ -2858,6 +3197,7 @@ struct devlink_param_set_req { char *bus_name; char *dev_name; + __u64 index; char *param_name; enum devlink_var_attr_type param_type; enum devlink_param_cmode param_value_cmode; @@ -2890,6 +3230,12 @@ devlink_param_set_req_set_dev_name(struct devlink_param_set_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_param_set_req_set_index(struct devlink_param_set_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_param_set_req_set_param_name(struct devlink_param_set_req *req, const char *param_name) { @@ -2928,6 +3274,7 @@ int devlink_param_set(struct ynl_sock *ys, struct devlink_param_set_req *req); /* DEVLINK_CMD_REGION_GET - do */ struct devlink_region_get_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -2938,6 +3285,7 @@ struct devlink_region_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *region_name; }; @@ -2969,6 +3317,13 @@ devlink_region_get_req_set_dev_name(struct devlink_region_get_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_region_get_req_set_index(struct devlink_region_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_region_get_req_set_port_index(struct devlink_region_get_req *req, __u32 port_index) { @@ -2988,6 +3343,7 @@ devlink_region_get_req_set_region_name(struct devlink_region_get_req *req, struct devlink_region_get_rsp { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -2998,6 +3354,7 @@ struct devlink_region_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *region_name; }; @@ -3012,6 +3369,9 @@ devlink_region_get(struct ynl_sock *ys, struct devlink_region_get_req *req); /* DEVLINK_CMD_REGION_GET - dump */ struct devlink_region_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -3019,6 +3379,7 @@ struct devlink_region_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_region_get_req_dump * @@ -3048,6 +3409,13 @@ devlink_region_get_req_dump_set_dev_name(struct devlink_region_get_req_dump *req memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_region_get_req_dump_set_index(struct devlink_region_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_region_get_list { struct devlink_region_get_list *next; @@ -3064,6 +3432,7 @@ devlink_region_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_REGION_NEW - do */ struct devlink_region_new_req { struct { + __u32 index:1; __u32 port_index:1; __u32 region_snapshot_id:1; } _present; @@ -3075,6 +3444,7 @@ struct devlink_region_new_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *region_name; __u32 region_snapshot_id; @@ -3107,6 +3477,13 @@ devlink_region_new_req_set_dev_name(struct devlink_region_new_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_region_new_req_set_index(struct devlink_region_new_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_region_new_req_set_port_index(struct devlink_region_new_req *req, __u32 port_index) { @@ -3133,6 +3510,7 @@ devlink_region_new_req_set_region_snapshot_id(struct devlink_region_new_req *req struct devlink_region_new_rsp { struct { + __u32 index:1; __u32 port_index:1; __u32 region_snapshot_id:1; } _present; @@ -3144,6 +3522,7 @@ struct devlink_region_new_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *region_name; __u32 region_snapshot_id; @@ -3161,6 +3540,7 @@ devlink_region_new(struct ynl_sock *ys, struct devlink_region_new_req *req); /* DEVLINK_CMD_REGION_DEL - do */ struct devlink_region_del_req { struct { + __u32 index:1; __u32 port_index:1; __u32 region_snapshot_id:1; } _present; @@ -3172,6 +3552,7 @@ struct devlink_region_del_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *region_name; __u32 region_snapshot_id; @@ -3204,6 +3585,13 @@ devlink_region_del_req_set_dev_name(struct devlink_region_del_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_region_del_req_set_index(struct devlink_region_del_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_region_del_req_set_port_index(struct devlink_region_del_req *req, __u32 port_index) { @@ -3237,6 +3625,7 @@ int devlink_region_del(struct ynl_sock *ys, struct devlink_region_del_req *req); /* DEVLINK_CMD_REGION_READ - dump */ struct devlink_region_read_req { struct { + __u32 index:1; __u32 port_index:1; __u32 region_snapshot_id:1; __u32 region_direct:1; @@ -3251,6 +3640,7 @@ struct devlink_region_read_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *region_name; __u32 region_snapshot_id; @@ -3286,6 +3676,13 @@ devlink_region_read_req_set_dev_name(struct devlink_region_read_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_region_read_req_set_index(struct devlink_region_read_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_region_read_req_set_port_index(struct devlink_region_read_req *req, __u32 port_index) { @@ -3331,6 +3728,7 @@ devlink_region_read_req_set_region_chunk_len(struct devlink_region_read_req *req struct devlink_region_read_rsp { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -3341,6 +3739,7 @@ struct devlink_region_read_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *region_name; }; @@ -3360,6 +3759,7 @@ devlink_region_read_dump(struct ynl_sock *ys, /* DEVLINK_CMD_PORT_PARAM_GET - do */ struct devlink_port_param_get_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -3369,6 +3769,7 @@ struct devlink_port_param_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -3400,6 +3801,13 @@ devlink_port_param_get_req_set_dev_name(struct devlink_port_param_get_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_port_param_get_req_set_index(struct devlink_port_param_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_port_param_get_req_set_port_index(struct devlink_port_param_get_req *req, __u32 port_index) { @@ -3409,6 +3817,7 @@ devlink_port_param_get_req_set_port_index(struct devlink_port_param_get_req *req struct devlink_port_param_get_rsp { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -3418,6 +3827,7 @@ struct devlink_port_param_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -3445,6 +3855,7 @@ devlink_port_param_get_dump(struct ynl_sock *ys); /* DEVLINK_CMD_PORT_PARAM_SET - do */ struct devlink_port_param_set_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -3454,6 +3865,7 @@ struct devlink_port_param_set_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -3485,6 +3897,13 @@ devlink_port_param_set_req_set_dev_name(struct devlink_port_param_set_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_port_param_set_req_set_index(struct devlink_port_param_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_port_param_set_req_set_port_index(struct devlink_port_param_set_req *req, __u32 port_index) { @@ -3501,6 +3920,9 @@ int devlink_port_param_set(struct ynl_sock *ys, /* ============== DEVLINK_CMD_INFO_GET ============== */ /* DEVLINK_CMD_INFO_GET - do */ struct devlink_info_get_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -3508,6 +3930,7 @@ struct devlink_info_get_req { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_info_get_req *devlink_info_get_req_alloc(void) @@ -3536,8 +3959,17 @@ devlink_info_get_req_set_dev_name(struct devlink_info_get_req *req, memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_info_get_req_set_index(struct devlink_info_get_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_info_get_rsp { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -3553,6 +3985,7 @@ struct devlink_info_get_rsp { char *bus_name; char *dev_name; + __u64 index; char *info_driver_name; char *info_serial_number; struct devlink_dl_info_version *info_version_fixed; @@ -3585,6 +4018,7 @@ struct devlink_info_get_list *devlink_info_get_dump(struct ynl_sock *ys); /* DEVLINK_CMD_HEALTH_REPORTER_GET - do */ struct devlink_health_reporter_get_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -3595,6 +4029,7 @@ struct devlink_health_reporter_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *health_reporter_name; }; @@ -3628,6 +4063,13 @@ devlink_health_reporter_get_req_set_dev_name(struct devlink_health_reporter_get_ req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_health_reporter_get_req_set_index(struct devlink_health_reporter_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_health_reporter_get_req_set_port_index(struct devlink_health_reporter_get_req *req, __u32 port_index) { @@ -3647,6 +4089,7 @@ devlink_health_reporter_get_req_set_health_reporter_name(struct devlink_health_r struct devlink_health_reporter_get_rsp { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -3657,6 +4100,7 @@ struct devlink_health_reporter_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *health_reporter_name; }; @@ -3674,6 +4118,7 @@ devlink_health_reporter_get(struct ynl_sock *ys, /* DEVLINK_CMD_HEALTH_REPORTER_GET - dump */ struct devlink_health_reporter_get_req_dump { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -3683,6 +4128,7 @@ struct devlink_health_reporter_get_req_dump { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -3715,6 +4161,13 @@ devlink_health_reporter_get_req_dump_set_dev_name(struct devlink_health_reporter req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_health_reporter_get_req_dump_set_index(struct devlink_health_reporter_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_health_reporter_get_req_dump_set_port_index(struct devlink_health_reporter_get_req_dump *req, __u32 port_index) { @@ -3738,6 +4191,7 @@ devlink_health_reporter_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_HEALTH_REPORTER_SET - do */ struct devlink_health_reporter_set_req { struct { + __u32 index:1; __u32 port_index:1; __u32 health_reporter_graceful_period:1; __u32 health_reporter_auto_recover:1; @@ -3752,6 +4206,7 @@ struct devlink_health_reporter_set_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *health_reporter_name; __u64 health_reporter_graceful_period; @@ -3789,6 +4244,13 @@ devlink_health_reporter_set_req_set_dev_name(struct devlink_health_reporter_set_ req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_health_reporter_set_req_set_index(struct devlink_health_reporter_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_health_reporter_set_req_set_port_index(struct devlink_health_reporter_set_req *req, __u32 port_index) { @@ -3844,6 +4306,7 @@ int devlink_health_reporter_set(struct ynl_sock *ys, /* DEVLINK_CMD_HEALTH_REPORTER_RECOVER - do */ struct devlink_health_reporter_recover_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -3854,6 +4317,7 @@ struct devlink_health_reporter_recover_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *health_reporter_name; }; @@ -3887,6 +4351,13 @@ devlink_health_reporter_recover_req_set_dev_name(struct devlink_health_reporter_ req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_health_reporter_recover_req_set_index(struct devlink_health_reporter_recover_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_health_reporter_recover_req_set_port_index(struct devlink_health_reporter_recover_req *req, __u32 port_index) { @@ -3914,6 +4385,7 @@ int devlink_health_reporter_recover(struct ynl_sock *ys, /* DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE - do */ struct devlink_health_reporter_diagnose_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -3924,6 +4396,7 @@ struct devlink_health_reporter_diagnose_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *health_reporter_name; }; @@ -3957,6 +4430,13 @@ devlink_health_reporter_diagnose_req_set_dev_name(struct devlink_health_reporter req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_health_reporter_diagnose_req_set_index(struct devlink_health_reporter_diagnose_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_health_reporter_diagnose_req_set_port_index(struct devlink_health_reporter_diagnose_req *req, __u32 port_index) { @@ -3984,6 +4464,7 @@ int devlink_health_reporter_diagnose(struct ynl_sock *ys, /* DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET - dump */ struct devlink_health_reporter_dump_get_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -3994,6 +4475,7 @@ struct devlink_health_reporter_dump_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *health_reporter_name; }; @@ -4027,6 +4509,13 @@ devlink_health_reporter_dump_get_req_set_dev_name(struct devlink_health_reporter req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_health_reporter_dump_get_req_set_index(struct devlink_health_reporter_dump_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_health_reporter_dump_get_req_set_port_index(struct devlink_health_reporter_dump_get_req *req, __u32 port_index) { @@ -4068,6 +4557,7 @@ devlink_health_reporter_dump_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR - do */ struct devlink_health_reporter_dump_clear_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -4078,6 +4568,7 @@ struct devlink_health_reporter_dump_clear_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *health_reporter_name; }; @@ -4111,6 +4602,13 @@ devlink_health_reporter_dump_clear_req_set_dev_name(struct devlink_health_report req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_health_reporter_dump_clear_req_set_index(struct devlink_health_reporter_dump_clear_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_health_reporter_dump_clear_req_set_port_index(struct devlink_health_reporter_dump_clear_req *req, __u32 port_index) { @@ -4138,6 +4636,7 @@ int devlink_health_reporter_dump_clear(struct ynl_sock *ys, /* DEVLINK_CMD_FLASH_UPDATE - do */ struct devlink_flash_update_req { struct { + __u32 index:1; __u32 flash_update_overwrite_mask:1; } _present; struct { @@ -4149,6 +4648,7 @@ struct devlink_flash_update_req { char *bus_name; char *dev_name; + __u64 index; char *flash_update_file_name; char *flash_update_component; struct nla_bitfield32 flash_update_overwrite_mask; @@ -4182,6 +4682,13 @@ devlink_flash_update_req_set_dev_name(struct devlink_flash_update_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_flash_update_req_set_index(struct devlink_flash_update_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_flash_update_req_set_flash_update_file_name(struct devlink_flash_update_req *req, const char *flash_update_file_name) { @@ -4218,6 +4725,9 @@ int devlink_flash_update(struct ynl_sock *ys, /* ============== DEVLINK_CMD_TRAP_GET ============== */ /* DEVLINK_CMD_TRAP_GET - do */ struct devlink_trap_get_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -4226,6 +4736,7 @@ struct devlink_trap_get_req { char *bus_name; char *dev_name; + __u64 index; char *trap_name; }; @@ -4256,6 +4767,12 @@ devlink_trap_get_req_set_dev_name(struct devlink_trap_get_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_trap_get_req_set_index(struct devlink_trap_get_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_trap_get_req_set_trap_name(struct devlink_trap_get_req *req, const char *trap_name) { @@ -4267,6 +4784,9 @@ devlink_trap_get_req_set_trap_name(struct devlink_trap_get_req *req, } struct devlink_trap_get_rsp { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -4275,6 +4795,7 @@ struct devlink_trap_get_rsp { char *bus_name; char *dev_name; + __u64 index; char *trap_name; }; @@ -4288,6 +4809,9 @@ devlink_trap_get(struct ynl_sock *ys, struct devlink_trap_get_req *req); /* DEVLINK_CMD_TRAP_GET - dump */ struct devlink_trap_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -4295,6 +4819,7 @@ struct devlink_trap_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_trap_get_req_dump * @@ -4324,6 +4849,13 @@ devlink_trap_get_req_dump_set_dev_name(struct devlink_trap_get_req_dump *req, memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_trap_get_req_dump_set_index(struct devlink_trap_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_trap_get_list { struct devlink_trap_get_list *next; @@ -4340,6 +4872,7 @@ devlink_trap_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_TRAP_SET - do */ struct devlink_trap_set_req { struct { + __u32 index:1; __u32 trap_action:1; } _present; struct { @@ -4350,6 +4883,7 @@ struct devlink_trap_set_req { char *bus_name; char *dev_name; + __u64 index; char *trap_name; enum devlink_trap_action trap_action; }; @@ -4381,6 +4915,12 @@ devlink_trap_set_req_set_dev_name(struct devlink_trap_set_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_trap_set_req_set_index(struct devlink_trap_set_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_trap_set_req_set_trap_name(struct devlink_trap_set_req *req, const char *trap_name) { @@ -4406,6 +4946,9 @@ int devlink_trap_set(struct ynl_sock *ys, struct devlink_trap_set_req *req); /* ============== DEVLINK_CMD_TRAP_GROUP_GET ============== */ /* DEVLINK_CMD_TRAP_GROUP_GET - do */ struct devlink_trap_group_get_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -4414,6 +4957,7 @@ struct devlink_trap_group_get_req { char *bus_name; char *dev_name; + __u64 index; char *trap_group_name; }; @@ -4445,6 +4989,13 @@ devlink_trap_group_get_req_set_dev_name(struct devlink_trap_group_get_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_trap_group_get_req_set_index(struct devlink_trap_group_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_trap_group_get_req_set_trap_group_name(struct devlink_trap_group_get_req *req, const char *trap_group_name) { @@ -4456,6 +5007,9 @@ devlink_trap_group_get_req_set_trap_group_name(struct devlink_trap_group_get_req } struct devlink_trap_group_get_rsp { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -4464,6 +5018,7 @@ struct devlink_trap_group_get_rsp { char *bus_name; char *dev_name; + __u64 index; char *trap_group_name; }; @@ -4478,6 +5033,9 @@ devlink_trap_group_get(struct ynl_sock *ys, /* DEVLINK_CMD_TRAP_GROUP_GET - dump */ struct devlink_trap_group_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -4485,6 +5043,7 @@ struct devlink_trap_group_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_trap_group_get_req_dump * @@ -4515,6 +5074,13 @@ devlink_trap_group_get_req_dump_set_dev_name(struct devlink_trap_group_get_req_d memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_trap_group_get_req_dump_set_index(struct devlink_trap_group_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_trap_group_get_list { struct devlink_trap_group_get_list *next; @@ -4531,6 +5097,7 @@ devlink_trap_group_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_TRAP_GROUP_SET - do */ struct devlink_trap_group_set_req { struct { + __u32 index:1; __u32 trap_action:1; __u32 trap_policer_id:1; } _present; @@ -4542,6 +5109,7 @@ struct devlink_trap_group_set_req { char *bus_name; char *dev_name; + __u64 index; char *trap_group_name; enum devlink_trap_action trap_action; __u32 trap_policer_id; @@ -4575,6 +5143,13 @@ devlink_trap_group_set_req_set_dev_name(struct devlink_trap_group_set_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_trap_group_set_req_set_index(struct devlink_trap_group_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_trap_group_set_req_set_trap_group_name(struct devlink_trap_group_set_req *req, const char *trap_group_name) { @@ -4609,6 +5184,7 @@ int devlink_trap_group_set(struct ynl_sock *ys, /* DEVLINK_CMD_TRAP_POLICER_GET - do */ struct devlink_trap_policer_get_req { struct { + __u32 index:1; __u32 trap_policer_id:1; } _present; struct { @@ -4618,6 +5194,7 @@ struct devlink_trap_policer_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 trap_policer_id; }; @@ -4650,6 +5227,13 @@ devlink_trap_policer_get_req_set_dev_name(struct devlink_trap_policer_get_req *r req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_trap_policer_get_req_set_index(struct devlink_trap_policer_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_trap_policer_get_req_set_trap_policer_id(struct devlink_trap_policer_get_req *req, __u32 trap_policer_id) { @@ -4659,6 +5243,7 @@ devlink_trap_policer_get_req_set_trap_policer_id(struct devlink_trap_policer_get struct devlink_trap_policer_get_rsp { struct { + __u32 index:1; __u32 trap_policer_id:1; } _present; struct { @@ -4668,6 +5253,7 @@ struct devlink_trap_policer_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 trap_policer_id; }; @@ -4683,6 +5269,9 @@ devlink_trap_policer_get(struct ynl_sock *ys, /* DEVLINK_CMD_TRAP_POLICER_GET - dump */ struct devlink_trap_policer_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -4690,6 +5279,7 @@ struct devlink_trap_policer_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_trap_policer_get_req_dump * @@ -4720,6 +5310,13 @@ devlink_trap_policer_get_req_dump_set_dev_name(struct devlink_trap_policer_get_r memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_trap_policer_get_req_dump_set_index(struct devlink_trap_policer_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_trap_policer_get_list { struct devlink_trap_policer_get_list *next; @@ -4737,6 +5334,7 @@ devlink_trap_policer_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_TRAP_POLICER_SET - do */ struct devlink_trap_policer_set_req { struct { + __u32 index:1; __u32 trap_policer_id:1; __u32 trap_policer_rate:1; __u32 trap_policer_burst:1; @@ -4748,6 +5346,7 @@ struct devlink_trap_policer_set_req { char *bus_name; char *dev_name; + __u64 index; __u32 trap_policer_id; __u64 trap_policer_rate; __u64 trap_policer_burst; @@ -4782,6 +5381,13 @@ devlink_trap_policer_set_req_set_dev_name(struct devlink_trap_policer_set_req *r req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_trap_policer_set_req_set_index(struct devlink_trap_policer_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_trap_policer_set_req_set_trap_policer_id(struct devlink_trap_policer_set_req *req, __u32 trap_policer_id) { @@ -4813,6 +5419,7 @@ int devlink_trap_policer_set(struct ynl_sock *ys, /* DEVLINK_CMD_HEALTH_REPORTER_TEST - do */ struct devlink_health_reporter_test_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -4823,6 +5430,7 @@ struct devlink_health_reporter_test_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *health_reporter_name; }; @@ -4856,6 +5464,13 @@ devlink_health_reporter_test_req_set_dev_name(struct devlink_health_reporter_tes req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_health_reporter_test_req_set_index(struct devlink_health_reporter_test_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_health_reporter_test_req_set_port_index(struct devlink_health_reporter_test_req *req, __u32 port_index) { @@ -4883,6 +5498,7 @@ int devlink_health_reporter_test(struct ynl_sock *ys, /* DEVLINK_CMD_RATE_GET - do */ struct devlink_rate_get_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -4893,6 +5509,7 @@ struct devlink_rate_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *rate_node_name; }; @@ -4924,6 +5541,12 @@ devlink_rate_get_req_set_dev_name(struct devlink_rate_get_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_rate_get_req_set_index(struct devlink_rate_get_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_rate_get_req_set_port_index(struct devlink_rate_get_req *req, __u32 port_index) { @@ -4943,6 +5566,7 @@ devlink_rate_get_req_set_rate_node_name(struct devlink_rate_get_req *req, struct devlink_rate_get_rsp { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -4953,6 +5577,7 @@ struct devlink_rate_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; char *rate_node_name; }; @@ -4967,6 +5592,9 @@ devlink_rate_get(struct ynl_sock *ys, struct devlink_rate_get_req *req); /* DEVLINK_CMD_RATE_GET - dump */ struct devlink_rate_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -4974,6 +5602,7 @@ struct devlink_rate_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_rate_get_req_dump * @@ -5003,6 +5632,13 @@ devlink_rate_get_req_dump_set_dev_name(struct devlink_rate_get_req_dump *req, memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_rate_get_req_dump_set_index(struct devlink_rate_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_rate_get_list { struct devlink_rate_get_list *next; @@ -5019,6 +5655,7 @@ devlink_rate_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_RATE_SET - do */ struct devlink_rate_set_req { struct { + __u32 index:1; __u32 rate_tx_share:1; __u32 rate_tx_max:1; __u32 rate_tx_priority:1; @@ -5036,6 +5673,7 @@ struct devlink_rate_set_req { char *bus_name; char *dev_name; + __u64 index; char *rate_node_name; __u64 rate_tx_share; __u64 rate_tx_max; @@ -5072,6 +5710,12 @@ devlink_rate_set_req_set_dev_name(struct devlink_rate_set_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_rate_set_req_set_index(struct devlink_rate_set_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_rate_set_req_set_rate_node_name(struct devlink_rate_set_req *req, const char *rate_node_name) { @@ -5142,6 +5786,7 @@ int devlink_rate_set(struct ynl_sock *ys, struct devlink_rate_set_req *req); /* DEVLINK_CMD_RATE_NEW - do */ struct devlink_rate_new_req { struct { + __u32 index:1; __u32 rate_tx_share:1; __u32 rate_tx_max:1; __u32 rate_tx_priority:1; @@ -5159,6 +5804,7 @@ struct devlink_rate_new_req { char *bus_name; char *dev_name; + __u64 index; char *rate_node_name; __u64 rate_tx_share; __u64 rate_tx_max; @@ -5195,6 +5841,12 @@ devlink_rate_new_req_set_dev_name(struct devlink_rate_new_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_rate_new_req_set_index(struct devlink_rate_new_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_rate_new_req_set_rate_node_name(struct devlink_rate_new_req *req, const char *rate_node_name) { @@ -5264,6 +5916,9 @@ int devlink_rate_new(struct ynl_sock *ys, struct devlink_rate_new_req *req); /* ============== DEVLINK_CMD_RATE_DEL ============== */ /* DEVLINK_CMD_RATE_DEL - do */ struct devlink_rate_del_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -5272,6 +5927,7 @@ struct devlink_rate_del_req { char *bus_name; char *dev_name; + __u64 index; char *rate_node_name; }; @@ -5302,6 +5958,12 @@ devlink_rate_del_req_set_dev_name(struct devlink_rate_del_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_rate_del_req_set_index(struct devlink_rate_del_req *req, __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_rate_del_req_set_rate_node_name(struct devlink_rate_del_req *req, const char *rate_node_name) { @@ -5321,6 +5983,7 @@ int devlink_rate_del(struct ynl_sock *ys, struct devlink_rate_del_req *req); /* DEVLINK_CMD_LINECARD_GET - do */ struct devlink_linecard_get_req { struct { + __u32 index:1; __u32 linecard_index:1; } _present; struct { @@ -5330,6 +5993,7 @@ struct devlink_linecard_get_req { char *bus_name; char *dev_name; + __u64 index; __u32 linecard_index; }; @@ -5361,6 +6025,13 @@ devlink_linecard_get_req_set_dev_name(struct devlink_linecard_get_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_linecard_get_req_set_index(struct devlink_linecard_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_linecard_get_req_set_linecard_index(struct devlink_linecard_get_req *req, __u32 linecard_index) { @@ -5370,6 +6041,7 @@ devlink_linecard_get_req_set_linecard_index(struct devlink_linecard_get_req *req struct devlink_linecard_get_rsp { struct { + __u32 index:1; __u32 linecard_index:1; } _present; struct { @@ -5379,6 +6051,7 @@ struct devlink_linecard_get_rsp { char *bus_name; char *dev_name; + __u64 index; __u32 linecard_index; }; @@ -5392,6 +6065,9 @@ devlink_linecard_get(struct ynl_sock *ys, struct devlink_linecard_get_req *req); /* DEVLINK_CMD_LINECARD_GET - dump */ struct devlink_linecard_get_req_dump { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -5399,6 +6075,7 @@ struct devlink_linecard_get_req_dump { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_linecard_get_req_dump * @@ -5429,6 +6106,13 @@ devlink_linecard_get_req_dump_set_dev_name(struct devlink_linecard_get_req_dump memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_linecard_get_req_dump_set_index(struct devlink_linecard_get_req_dump *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_linecard_get_list { struct devlink_linecard_get_list *next; @@ -5445,6 +6129,7 @@ devlink_linecard_get_dump(struct ynl_sock *ys, /* DEVLINK_CMD_LINECARD_SET - do */ struct devlink_linecard_set_req { struct { + __u32 index:1; __u32 linecard_index:1; } _present; struct { @@ -5455,6 +6140,7 @@ struct devlink_linecard_set_req { char *bus_name; char *dev_name; + __u64 index; __u32 linecard_index; char *linecard_type; }; @@ -5487,6 +6173,13 @@ devlink_linecard_set_req_set_dev_name(struct devlink_linecard_set_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_linecard_set_req_set_index(struct devlink_linecard_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_linecard_set_req_set_linecard_index(struct devlink_linecard_set_req *req, __u32 linecard_index) { @@ -5513,6 +6206,9 @@ int devlink_linecard_set(struct ynl_sock *ys, /* ============== DEVLINK_CMD_SELFTESTS_GET ============== */ /* DEVLINK_CMD_SELFTESTS_GET - do */ struct devlink_selftests_get_req { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -5520,6 +6216,7 @@ struct devlink_selftests_get_req { char *bus_name; char *dev_name; + __u64 index; }; static inline struct devlink_selftests_get_req * @@ -5549,8 +6246,18 @@ devlink_selftests_get_req_set_dev_name(struct devlink_selftests_get_req *req, memcpy(req->dev_name, dev_name, req->_len.dev_name); req->dev_name[req->_len.dev_name] = 0; } +static inline void +devlink_selftests_get_req_set_index(struct devlink_selftests_get_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} struct devlink_selftests_get_rsp { + struct { + __u32 index:1; + } _present; struct { __u32 bus_name; __u32 dev_name; @@ -5558,6 +6265,7 @@ struct devlink_selftests_get_rsp { char *bus_name; char *dev_name; + __u64 index; }; void devlink_selftests_get_rsp_free(struct devlink_selftests_get_rsp *rsp); @@ -5584,6 +6292,7 @@ devlink_selftests_get_dump(struct ynl_sock *ys); /* DEVLINK_CMD_SELFTESTS_RUN - do */ struct devlink_selftests_run_req { struct { + __u32 index:1; __u32 selftests:1; } _present; struct { @@ -5593,6 +6302,7 @@ struct devlink_selftests_run_req { char *bus_name; char *dev_name; + __u64 index; struct devlink_dl_selftest_id selftests; }; @@ -5624,6 +6334,13 @@ devlink_selftests_run_req_set_dev_name(struct devlink_selftests_run_req *req, req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_selftests_run_req_set_index(struct devlink_selftests_run_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_selftests_run_req_set_selftests_flash(struct devlink_selftests_run_req *req) { req->_present.selftests = 1; @@ -5640,6 +6357,7 @@ int devlink_selftests_run(struct ynl_sock *ys, /* DEVLINK_CMD_NOTIFY_FILTER_SET - do */ struct devlink_notify_filter_set_req { struct { + __u32 index:1; __u32 port_index:1; } _present; struct { @@ -5649,6 +6367,7 @@ struct devlink_notify_filter_set_req { char *bus_name; char *dev_name; + __u64 index; __u32 port_index; }; @@ -5681,6 +6400,13 @@ devlink_notify_filter_set_req_set_dev_name(struct devlink_notify_filter_set_req req->dev_name[req->_len.dev_name] = 0; } static inline void +devlink_notify_filter_set_req_set_index(struct devlink_notify_filter_set_req *req, + __u64 index) +{ + req->_present.index = 1; + req->index = index; +} +static inline void devlink_notify_filter_set_req_set_port_index(struct devlink_notify_filter_set_req *req, __u32 port_index) {