From 67e1d73be1b8e92f2daa403164b841ace820ff54 Mon Sep 17 00:00:00 2001 From: Vadim Kochan Date: Wed, 24 Dec 2014 23:04:11 +0200 Subject: tc: Allow to easy change network namespace Added new '-netns' option to simplify executing following cmd: ip netns exec NETNS tc OPTIONS COMMAND OBJECT to tc -n[etns] NETNS OPTIONS COMMAND OBJECT e.g.: tc -net vnet0 qdisc Signed-off-by: Vadim Kochan Signed-off-by: Jiri Pirko --- tc/tc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tc/tc.c') diff --git a/tc/tc.c b/tc/tc.c index 25a1c682..93803058 100644 --- a/tc/tc.c +++ b/tc/tc.c @@ -29,6 +29,7 @@ #include "utils.h" #include "tc_util.h" #include "tc_common.h" +#include "namespace.h" int show_stats = 0; int show_details = 0; @@ -186,7 +187,8 @@ static void usage(void) fprintf(stderr, "Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }\n" " tc [-force] -batch filename\n" "where OBJECT := { qdisc | class | filter | action | monitor }\n" - " OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }\n"); + " OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] | " + "-n[etns] name }\n"); } static int do_cmd(int argc, char **argv) @@ -296,6 +298,10 @@ int main(int argc, char **argv) if (argc <= 1) usage(); batch_file = argv[1]; + } else if (matches(argv[1], "-netns") == 0) { + NEXT_ARG(); + if (netns_switch(argv[1])) + return -1; } else { fprintf(stderr, "Option \"%s\" is unknown, try \"tc -help\".\n", argv[1]); return -1; -- cgit v1.2.3