[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1468524136-3389846-6-git-send-email-tom@herbertland.com>
Date: Thu, 14 Jul 2016 12:22:16 -0700
From: Tom Herbert <tom@...bertland.com>
To: <davem@...emloft.net>, <netdev@...r.kernel.org>,
<shemming@...cade.com>
CC: <kernel-team@...com>, <haoxuany@...com>,
Tom Herbert <tom@...bertland.com>
Subject: [PATCH iproute 5/5] fou: Allowing configuring IPv6 listener
Signed-off-by: Tom Herbert <tom@...bertland.com>
---
ip/ipfou.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/ip/ipfou.c b/ip/ipfou.c
index 2a6ae17..d584a02 100644
--- a/ip/ipfou.c
+++ b/ip/ipfou.c
@@ -25,8 +25,8 @@
static void usage(void)
{
- fprintf(stderr, "Usage: ip fou add port PORT { ipproto PROTO | gue }\n");
- fprintf(stderr, " ip fou del port PORT\n");
+ fprintf(stderr, "Usage: ip fou add port PORT { ipproto PROTO | gue } [ -6 ]\n");
+ fprintf(stderr, " ip fou del port PORT [ -6 ]\n");
fprintf(stderr, "\n");
fprintf(stderr, "Where: PROTO { ipproto-name | 1..255 }\n");
fprintf(stderr, " PORT { 1..65535 }\n");
@@ -50,6 +50,7 @@ static int fou_parse_opt(int argc, char **argv, struct nlmsghdr *n,
__u8 ipproto, type;
bool gue_set = false;
int ipproto_set = 0;
+ unsigned short family = AF_INET;
while (argc > 0) {
if (!matches(*argv, "port")) {
@@ -71,6 +72,8 @@ static int fou_parse_opt(int argc, char **argv, struct nlmsghdr *n,
ipproto_set = 1;
} else if (!matches(*argv, "gue")) {
gue_set = true;
+ } else if (!matches(*argv, "-6")) {
+ family = AF_INET6;
} else {
fprintf(stderr, "fou: unknown command \"%s\"?\n", *argv);
usage();
@@ -98,6 +101,7 @@ static int fou_parse_opt(int argc, char **argv, struct nlmsghdr *n,
addattr16(n, 1024, FOU_ATTR_PORT, port);
addattr8(n, 1024, FOU_ATTR_TYPE, type);
+ addattr16(n, 1024, FOU_ATTR_AF, family);
if (ipproto_set)
addattr8(n, 1024, FOU_ATTR_IPPROTO, ipproto);
--
2.8.0.rc2
Powered by blists - more mailing lists