mirror of
https://github.com/torvalds/linux.git
synced 2026-04-22 08:44:02 -04:00
netlink: specs: devlink: extend per-instance dump commands to accept instance attributes
Extend per-instance dump command definitions to accept instance attributes. Allow parsing of devlink handle attributes so they could be used for instance selection. Re-generate the related code. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Acked-by: Jakub Kicinski <kuba@kernel.org> Link: https://lore.kernel.org/r/20230811155714.1736405-12-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
4a1b5aa8b5
commit
34493336e7
@@ -210,6 +210,44 @@ struct devlink_port_get_rsp *
|
||||
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 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_port_get_req_dump *
|
||||
devlink_port_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_port_get_req_dump));
|
||||
}
|
||||
void devlink_port_get_req_dump_free(struct devlink_port_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_port_get_req_dump_set_bus_name(struct devlink_port_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_port_get_req_dump_set_dev_name(struct devlink_port_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_port_get_rsp_dump {
|
||||
struct {
|
||||
__u32 bus_name_len;
|
||||
@@ -229,7 +267,9 @@ struct devlink_port_get_rsp_list {
|
||||
|
||||
void devlink_port_get_rsp_list_free(struct devlink_port_get_rsp_list *rsp);
|
||||
|
||||
struct devlink_port_get_rsp_list *devlink_port_get_dump(struct ynl_sock *ys);
|
||||
struct devlink_port_get_rsp_list *
|
||||
devlink_port_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_port_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_SB_GET ============== */
|
||||
/* DEVLINK_CMD_SB_GET - do */
|
||||
@@ -299,6 +339,44 @@ struct devlink_sb_get_rsp *
|
||||
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 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_sb_get_req_dump *
|
||||
devlink_sb_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_sb_get_req_dump));
|
||||
}
|
||||
void devlink_sb_get_req_dump_free(struct devlink_sb_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_sb_get_req_dump_set_bus_name(struct devlink_sb_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_sb_get_req_dump_set_dev_name(struct devlink_sb_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_sb_get_list {
|
||||
struct devlink_sb_get_list *next;
|
||||
struct devlink_sb_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -306,7 +384,8 @@ struct devlink_sb_get_list {
|
||||
|
||||
void devlink_sb_get_list_free(struct devlink_sb_get_list *rsp);
|
||||
|
||||
struct devlink_sb_get_list *devlink_sb_get_dump(struct ynl_sock *ys);
|
||||
struct devlink_sb_get_list *
|
||||
devlink_sb_get_dump(struct ynl_sock *ys, struct devlink_sb_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_SB_POOL_GET ============== */
|
||||
/* DEVLINK_CMD_SB_POOL_GET - do */
|
||||
@@ -389,6 +468,45 @@ struct devlink_sb_pool_get_rsp *
|
||||
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 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_sb_pool_get_req_dump *
|
||||
devlink_sb_pool_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_sb_pool_get_req_dump));
|
||||
}
|
||||
void
|
||||
devlink_sb_pool_get_req_dump_free(struct devlink_sb_pool_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_sb_pool_get_req_dump_set_bus_name(struct devlink_sb_pool_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_sb_pool_get_req_dump_set_dev_name(struct devlink_sb_pool_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_sb_pool_get_list {
|
||||
struct devlink_sb_pool_get_list *next;
|
||||
struct devlink_sb_pool_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -396,7 +514,9 @@ struct devlink_sb_pool_get_list {
|
||||
|
||||
void devlink_sb_pool_get_list_free(struct devlink_sb_pool_get_list *rsp);
|
||||
|
||||
struct devlink_sb_pool_get_list *devlink_sb_pool_get_dump(struct ynl_sock *ys);
|
||||
struct devlink_sb_pool_get_list *
|
||||
devlink_sb_pool_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_sb_pool_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_SB_PORT_POOL_GET ============== */
|
||||
/* DEVLINK_CMD_SB_PORT_POOL_GET - do */
|
||||
@@ -493,6 +613,45 @@ devlink_sb_port_pool_get(struct ynl_sock *ys,
|
||||
struct devlink_sb_port_pool_get_req *req);
|
||||
|
||||
/* DEVLINK_CMD_SB_PORT_POOL_GET - dump */
|
||||
struct devlink_sb_port_pool_get_req_dump {
|
||||
struct {
|
||||
__u32 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_sb_port_pool_get_req_dump *
|
||||
devlink_sb_port_pool_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_sb_port_pool_get_req_dump));
|
||||
}
|
||||
void
|
||||
devlink_sb_port_pool_get_req_dump_free(struct devlink_sb_port_pool_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_sb_port_pool_get_req_dump_set_bus_name(struct devlink_sb_port_pool_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_sb_port_pool_get_req_dump_set_dev_name(struct devlink_sb_port_pool_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_sb_port_pool_get_list {
|
||||
struct devlink_sb_port_pool_get_list *next;
|
||||
struct devlink_sb_port_pool_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -502,7 +661,8 @@ void
|
||||
devlink_sb_port_pool_get_list_free(struct devlink_sb_port_pool_get_list *rsp);
|
||||
|
||||
struct devlink_sb_port_pool_get_list *
|
||||
devlink_sb_port_pool_get_dump(struct ynl_sock *ys);
|
||||
devlink_sb_port_pool_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_sb_port_pool_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_SB_TC_POOL_BIND_GET ============== */
|
||||
/* DEVLINK_CMD_SB_TC_POOL_BIND_GET - do */
|
||||
@@ -610,6 +770,45 @@ devlink_sb_tc_pool_bind_get(struct ynl_sock *ys,
|
||||
struct devlink_sb_tc_pool_bind_get_req *req);
|
||||
|
||||
/* DEVLINK_CMD_SB_TC_POOL_BIND_GET - dump */
|
||||
struct devlink_sb_tc_pool_bind_get_req_dump {
|
||||
struct {
|
||||
__u32 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_sb_tc_pool_bind_get_req_dump *
|
||||
devlink_sb_tc_pool_bind_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_sb_tc_pool_bind_get_req_dump));
|
||||
}
|
||||
void
|
||||
devlink_sb_tc_pool_bind_get_req_dump_free(struct devlink_sb_tc_pool_bind_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_sb_tc_pool_bind_get_req_dump_set_bus_name(struct devlink_sb_tc_pool_bind_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_sb_tc_pool_bind_get_req_dump_set_dev_name(struct devlink_sb_tc_pool_bind_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_sb_tc_pool_bind_get_list {
|
||||
struct devlink_sb_tc_pool_bind_get_list *next;
|
||||
struct devlink_sb_tc_pool_bind_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -619,7 +818,8 @@ void
|
||||
devlink_sb_tc_pool_bind_get_list_free(struct devlink_sb_tc_pool_bind_get_list *rsp);
|
||||
|
||||
struct devlink_sb_tc_pool_bind_get_list *
|
||||
devlink_sb_tc_pool_bind_get_dump(struct ynl_sock *ys);
|
||||
devlink_sb_tc_pool_bind_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_sb_tc_pool_bind_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_PARAM_GET ============== */
|
||||
/* DEVLINK_CMD_PARAM_GET - do */
|
||||
@@ -693,6 +893,44 @@ struct devlink_param_get_rsp *
|
||||
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 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_param_get_req_dump *
|
||||
devlink_param_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_param_get_req_dump));
|
||||
}
|
||||
void devlink_param_get_req_dump_free(struct devlink_param_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_param_get_req_dump_set_bus_name(struct devlink_param_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_param_get_req_dump_set_dev_name(struct devlink_param_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_param_get_list {
|
||||
struct devlink_param_get_list *next;
|
||||
struct devlink_param_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -700,7 +938,9 @@ struct devlink_param_get_list {
|
||||
|
||||
void devlink_param_get_list_free(struct devlink_param_get_list *rsp);
|
||||
|
||||
struct devlink_param_get_list *devlink_param_get_dump(struct ynl_sock *ys);
|
||||
struct devlink_param_get_list *
|
||||
devlink_param_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_param_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_REGION_GET ============== */
|
||||
/* DEVLINK_CMD_REGION_GET - do */
|
||||
@@ -785,6 +1025,44 @@ struct devlink_region_get_rsp *
|
||||
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 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_region_get_req_dump *
|
||||
devlink_region_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_region_get_req_dump));
|
||||
}
|
||||
void devlink_region_get_req_dump_free(struct devlink_region_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_region_get_req_dump_set_bus_name(struct devlink_region_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_region_get_req_dump_set_dev_name(struct devlink_region_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_region_get_list {
|
||||
struct devlink_region_get_list *next;
|
||||
struct devlink_region_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -792,7 +1070,9 @@ struct devlink_region_get_list {
|
||||
|
||||
void devlink_region_get_list_free(struct devlink_region_get_list *rsp);
|
||||
|
||||
struct devlink_region_get_list *devlink_region_get_dump(struct ynl_sock *ys);
|
||||
struct devlink_region_get_list *
|
||||
devlink_region_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_region_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_INFO_GET ============== */
|
||||
/* DEVLINK_CMD_INFO_GET - do */
|
||||
@@ -958,6 +1238,45 @@ devlink_health_reporter_get(struct ynl_sock *ys,
|
||||
struct devlink_health_reporter_get_req *req);
|
||||
|
||||
/* DEVLINK_CMD_HEALTH_REPORTER_GET - dump */
|
||||
struct devlink_health_reporter_get_req_dump {
|
||||
struct {
|
||||
__u32 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_health_reporter_get_req_dump *
|
||||
devlink_health_reporter_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_health_reporter_get_req_dump));
|
||||
}
|
||||
void
|
||||
devlink_health_reporter_get_req_dump_free(struct devlink_health_reporter_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_health_reporter_get_req_dump_set_bus_name(struct devlink_health_reporter_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_health_reporter_get_req_dump_set_dev_name(struct devlink_health_reporter_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_health_reporter_get_list {
|
||||
struct devlink_health_reporter_get_list *next;
|
||||
struct devlink_health_reporter_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -967,7 +1286,8 @@ void
|
||||
devlink_health_reporter_get_list_free(struct devlink_health_reporter_get_list *rsp);
|
||||
|
||||
struct devlink_health_reporter_get_list *
|
||||
devlink_health_reporter_get_dump(struct ynl_sock *ys);
|
||||
devlink_health_reporter_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_health_reporter_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_TRAP_GET ============== */
|
||||
/* DEVLINK_CMD_TRAP_GET - do */
|
||||
@@ -1041,6 +1361,44 @@ struct devlink_trap_get_rsp *
|
||||
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 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_trap_get_req_dump *
|
||||
devlink_trap_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_trap_get_req_dump));
|
||||
}
|
||||
void devlink_trap_get_req_dump_free(struct devlink_trap_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_trap_get_req_dump_set_bus_name(struct devlink_trap_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_trap_get_req_dump_set_dev_name(struct devlink_trap_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_trap_get_list {
|
||||
struct devlink_trap_get_list *next;
|
||||
struct devlink_trap_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -1048,7 +1406,9 @@ struct devlink_trap_get_list {
|
||||
|
||||
void devlink_trap_get_list_free(struct devlink_trap_get_list *rsp);
|
||||
|
||||
struct devlink_trap_get_list *devlink_trap_get_dump(struct ynl_sock *ys);
|
||||
struct devlink_trap_get_list *
|
||||
devlink_trap_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_trap_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_TRAP_GROUP_GET ============== */
|
||||
/* DEVLINK_CMD_TRAP_GROUP_GET - do */
|
||||
@@ -1124,6 +1484,45 @@ devlink_trap_group_get(struct ynl_sock *ys,
|
||||
struct devlink_trap_group_get_req *req);
|
||||
|
||||
/* DEVLINK_CMD_TRAP_GROUP_GET - dump */
|
||||
struct devlink_trap_group_get_req_dump {
|
||||
struct {
|
||||
__u32 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_trap_group_get_req_dump *
|
||||
devlink_trap_group_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_trap_group_get_req_dump));
|
||||
}
|
||||
void
|
||||
devlink_trap_group_get_req_dump_free(struct devlink_trap_group_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_trap_group_get_req_dump_set_bus_name(struct devlink_trap_group_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_trap_group_get_req_dump_set_dev_name(struct devlink_trap_group_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_trap_group_get_list {
|
||||
struct devlink_trap_group_get_list *next;
|
||||
struct devlink_trap_group_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -1132,7 +1531,8 @@ struct devlink_trap_group_get_list {
|
||||
void devlink_trap_group_get_list_free(struct devlink_trap_group_get_list *rsp);
|
||||
|
||||
struct devlink_trap_group_get_list *
|
||||
devlink_trap_group_get_dump(struct ynl_sock *ys);
|
||||
devlink_trap_group_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_trap_group_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_TRAP_POLICER_GET ============== */
|
||||
/* DEVLINK_CMD_TRAP_POLICER_GET - do */
|
||||
@@ -1207,6 +1607,45 @@ devlink_trap_policer_get(struct ynl_sock *ys,
|
||||
struct devlink_trap_policer_get_req *req);
|
||||
|
||||
/* DEVLINK_CMD_TRAP_POLICER_GET - dump */
|
||||
struct devlink_trap_policer_get_req_dump {
|
||||
struct {
|
||||
__u32 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_trap_policer_get_req_dump *
|
||||
devlink_trap_policer_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_trap_policer_get_req_dump));
|
||||
}
|
||||
void
|
||||
devlink_trap_policer_get_req_dump_free(struct devlink_trap_policer_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_trap_policer_get_req_dump_set_bus_name(struct devlink_trap_policer_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_trap_policer_get_req_dump_set_dev_name(struct devlink_trap_policer_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_trap_policer_get_list {
|
||||
struct devlink_trap_policer_get_list *next;
|
||||
struct devlink_trap_policer_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -1216,7 +1655,8 @@ void
|
||||
devlink_trap_policer_get_list_free(struct devlink_trap_policer_get_list *rsp);
|
||||
|
||||
struct devlink_trap_policer_get_list *
|
||||
devlink_trap_policer_get_dump(struct ynl_sock *ys);
|
||||
devlink_trap_policer_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_trap_policer_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_RATE_GET ============== */
|
||||
/* DEVLINK_CMD_RATE_GET - do */
|
||||
@@ -1301,6 +1741,44 @@ struct devlink_rate_get_rsp *
|
||||
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 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_rate_get_req_dump *
|
||||
devlink_rate_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_rate_get_req_dump));
|
||||
}
|
||||
void devlink_rate_get_req_dump_free(struct devlink_rate_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_rate_get_req_dump_set_bus_name(struct devlink_rate_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_rate_get_req_dump_set_dev_name(struct devlink_rate_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_rate_get_list {
|
||||
struct devlink_rate_get_list *next;
|
||||
struct devlink_rate_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -1308,7 +1786,9 @@ struct devlink_rate_get_list {
|
||||
|
||||
void devlink_rate_get_list_free(struct devlink_rate_get_list *rsp);
|
||||
|
||||
struct devlink_rate_get_list *devlink_rate_get_dump(struct ynl_sock *ys);
|
||||
struct devlink_rate_get_list *
|
||||
devlink_rate_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_rate_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_LINECARD_GET ============== */
|
||||
/* DEVLINK_CMD_LINECARD_GET - do */
|
||||
@@ -1380,6 +1860,45 @@ struct devlink_linecard_get_rsp *
|
||||
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 bus_name_len;
|
||||
__u32 dev_name_len;
|
||||
} _present;
|
||||
|
||||
char *bus_name;
|
||||
char *dev_name;
|
||||
};
|
||||
|
||||
static inline struct devlink_linecard_get_req_dump *
|
||||
devlink_linecard_get_req_dump_alloc(void)
|
||||
{
|
||||
return calloc(1, sizeof(struct devlink_linecard_get_req_dump));
|
||||
}
|
||||
void
|
||||
devlink_linecard_get_req_dump_free(struct devlink_linecard_get_req_dump *req);
|
||||
|
||||
static inline void
|
||||
devlink_linecard_get_req_dump_set_bus_name(struct devlink_linecard_get_req_dump *req,
|
||||
const char *bus_name)
|
||||
{
|
||||
free(req->bus_name);
|
||||
req->_present.bus_name_len = strlen(bus_name);
|
||||
req->bus_name = malloc(req->_present.bus_name_len + 1);
|
||||
memcpy(req->bus_name, bus_name, req->_present.bus_name_len);
|
||||
req->bus_name[req->_present.bus_name_len] = 0;
|
||||
}
|
||||
static inline void
|
||||
devlink_linecard_get_req_dump_set_dev_name(struct devlink_linecard_get_req_dump *req,
|
||||
const char *dev_name)
|
||||
{
|
||||
free(req->dev_name);
|
||||
req->_present.dev_name_len = strlen(dev_name);
|
||||
req->dev_name = malloc(req->_present.dev_name_len + 1);
|
||||
memcpy(req->dev_name, dev_name, req->_present.dev_name_len);
|
||||
req->dev_name[req->_present.dev_name_len] = 0;
|
||||
}
|
||||
|
||||
struct devlink_linecard_get_list {
|
||||
struct devlink_linecard_get_list *next;
|
||||
struct devlink_linecard_get_rsp obj __attribute__ ((aligned (8)));
|
||||
@@ -1388,7 +1907,8 @@ struct devlink_linecard_get_list {
|
||||
void devlink_linecard_get_list_free(struct devlink_linecard_get_list *rsp);
|
||||
|
||||
struct devlink_linecard_get_list *
|
||||
devlink_linecard_get_dump(struct ynl_sock *ys);
|
||||
devlink_linecard_get_dump(struct ynl_sock *ys,
|
||||
struct devlink_linecard_get_req_dump *req);
|
||||
|
||||
/* ============== DEVLINK_CMD_SELFTESTS_GET ============== */
|
||||
/* DEVLINK_CMD_SELFTESTS_GET - do */
|
||||
|
||||
Reference in New Issue
Block a user