rdma: Set pointer to device name position
The dev and link execution callbacks expects that next command line argument is device or port name. Set pointer to device or port name position prior calls to rd_exec_dev()/rd_exec_link(). Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
parent
1174be72d1
commit
6e0de6e886
|
|
@ -87,6 +87,7 @@ int rd_exec_cmd(struct rd *rd, const struct rd_cmd *c, const char *str);
|
|||
int rd_exec_dev(struct rd *rd, int (*cb)(struct rd *rd));
|
||||
int rd_exec_link(struct rd *rd, int (*cb)(struct rd *rd), bool strict_port);
|
||||
void rd_free(struct rd *rd);
|
||||
int rd_set_arg_to_devname(struct rd *rd);
|
||||
int rd_argc(struct rd *rd);
|
||||
|
||||
/*
|
||||
|
|
|
|||
19
rdma/utils.c
19
rdma/utils.c
|
|
@ -412,6 +412,25 @@ void rd_free(struct rd *rd)
|
|||
filters_cleanup(rd);
|
||||
}
|
||||
|
||||
int rd_set_arg_to_devname(struct rd *rd)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
while (!rd_no_arg(rd)) {
|
||||
if (rd_argv_match(rd, "dev") || rd_argv_match(rd, "link")) {
|
||||
rd_arg_inc(rd);
|
||||
if (rd_no_arg(rd)) {
|
||||
pr_err("No device name was supplied\n");
|
||||
ret = -EINVAL;
|
||||
}
|
||||
goto out;
|
||||
}
|
||||
rd_arg_inc(rd);
|
||||
}
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
int rd_exec_link(struct rd *rd, int (*cb)(struct rd *rd), bool strict_port)
|
||||
{
|
||||
struct dev_map *dev_map;
|
||||
|
|
|
|||
Loading…
Reference in New Issue