devlink: introduce cmdline option to switch to a different namespace
Similar to ip tool, add an option to devlink to operate under certain network namespace. Unfortunately, "-n" is already taken, so use "-N" instead. Example: $ devlink -N testns1 dev show Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David Ahern <dsahern@kernel.org>
This commit is contained in:
parent
f93134841e
commit
29993df876
|
|
@ -32,6 +32,7 @@
|
|||
#include "mnlg.h"
|
||||
#include "json_writer.h"
|
||||
#include "utils.h"
|
||||
#include "namespace.h"
|
||||
|
||||
#define ESWITCH_MODE_LEGACY "legacy"
|
||||
#define ESWITCH_MODE_SWITCHDEV "switchdev"
|
||||
|
|
@ -7023,7 +7024,7 @@ static int cmd_trap(struct dl *dl)
|
|||
static void help(void)
|
||||
{
|
||||
pr_err("Usage: devlink [ OPTIONS ] OBJECT { COMMAND | help }\n"
|
||||
" devlink [ -f[orce] ] -b[atch] filename\n"
|
||||
" devlink [ -f[orce] ] -b[atch] filename -N[etns] netnsname\n"
|
||||
"where OBJECT := { dev | port | sb | monitor | dpipe | resource | region | health | trap }\n"
|
||||
" OPTIONS := { -V[ersion] | -n[o-nice-names] | -j[son] | -p[retty] | -v[erbose] -s[tatistics] }\n");
|
||||
}
|
||||
|
|
@ -7173,6 +7174,7 @@ int main(int argc, char **argv)
|
|||
{ "pretty", no_argument, NULL, 'p' },
|
||||
{ "verbose", no_argument, NULL, 'v' },
|
||||
{ "statistics", no_argument, NULL, 's' },
|
||||
{ "Netns", required_argument, NULL, 'N' },
|
||||
{ NULL, 0, NULL, 0 }
|
||||
};
|
||||
const char *batch_file = NULL;
|
||||
|
|
@ -7188,7 +7190,7 @@ int main(int argc, char **argv)
|
|||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
while ((opt = getopt_long(argc, argv, "Vfb:njpvs",
|
||||
while ((opt = getopt_long(argc, argv, "Vfb:njpvsN:",
|
||||
long_options, NULL)) >= 0) {
|
||||
|
||||
switch (opt) {
|
||||
|
|
@ -7217,6 +7219,12 @@ int main(int argc, char **argv)
|
|||
case 's':
|
||||
dl->stats = true;
|
||||
break;
|
||||
case 'N':
|
||||
if (netns_switch(optarg)) {
|
||||
ret = EXIT_FAILURE;
|
||||
goto dl_free;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
pr_err("Unknown option.\n");
|
||||
help();
|
||||
|
|
|
|||
|
|
@ -55,6 +55,10 @@ Turn on verbose output.
|
|||
.BR "\-s" , " --statistics"
|
||||
Output statistics.
|
||||
|
||||
.TP
|
||||
.BR "\-N", " \-Netns " <NETNSNAME>
|
||||
Switches to the specified network namespace.
|
||||
|
||||
.SS
|
||||
.I OBJECT
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue