[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1547125430-4251-1-git-send-email-adin@mellanox.com>
Date: Thu, 10 Jan 2019 15:03:50 +0200
From: Adi Nissim <adin@...lanox.com>
To: dsahern@...il.com
Cc: netdev@...r.kernel.org, Adi Nissim <adin@...lanox.com>
Subject: [PATCH iproute-next] tc: m_tunnel_key: Allow key-less tunnels
Change the id parameter of the tunnel_key set action from mandatory to
optional.
Some tunneling protocols (e.g. GRE) specify the id as an optional field.
Signed-off-by: Adi Nissim <adin@...lanox.com>
---
man/man8/tc-tunnel_key.8 | 4 ++--
tc/m_tunnel_key.c | 6 ++----
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/man/man8/tc-tunnel_key.8 b/man/man8/tc-tunnel_key.8
index dc8421b..2145eb6 100644
--- a/man/man8/tc-tunnel_key.8
+++ b/man/man8/tc-tunnel_key.8
@@ -59,12 +59,12 @@ above).
.TP
.B set
Set tunnel metadata to be used by the IP tunnel device. Requires
-.B id
-,
.B src_ip
and
.B dst_ip
options.
+.B id
+,
.B dst_port
and
.B geneve_opts
diff --git a/tc/m_tunnel_key.c b/tc/m_tunnel_key.c
index e9e71e4..9449287 100644
--- a/tc/m_tunnel_key.c
+++ b/tc/m_tunnel_key.c
@@ -25,7 +25,7 @@ static void explain(void)
fprintf(stderr, " tunnel_key set <TUNNEL_KEY>\n");
fprintf(stderr,
"Where TUNNEL_KEY is a combination of:\n"
- "id <TUNNELID> (mandatory)\n"
+ "id <TUNNELID>\n"
"src_ip <IP> (mandatory)\n"
"dst_ip <IP> (mandatory)\n"
"dst_port <UDP_PORT>\n"
@@ -217,7 +217,6 @@ static int parse_tunnel_key(struct action_util *a, int *argc_p, char ***argv_p,
int ret;
int has_src_ip = 0;
int has_dst_ip = 0;
- int has_key_id = 0;
int csum = 1;
if (matches(*argv, "tunnel_key") != 0)
@@ -273,7 +272,6 @@ static int parse_tunnel_key(struct action_util *a, int *argc_p, char ***argv_p,
fprintf(stderr, "Illegal \"id\"\n");
return -1;
}
- has_key_id = 1;
} else if (matches(*argv, "dst_port") == 0) {
NEXT_ARG();
ret = tunnel_key_parse_dst_port(*argv,
@@ -335,7 +333,7 @@ static int parse_tunnel_key(struct action_util *a, int *argc_p, char ***argv_p,
}
if (action == TCA_TUNNEL_KEY_ACT_SET &&
- (!has_src_ip || !has_dst_ip || !has_key_id)) {
+ (!has_src_ip || !has_dst_ip)) {
fprintf(stderr, "set needs tunnel_key parameters\n");
explain();
return -1;
--
1.8.3.1
Powered by blists - more mailing lists