]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
tc: m_tunnel_key: Allow key-less tunnels
authorAdi Nissim <adin@mellanox.com>
Thu, 10 Jan 2019 13:03:50 +0000 (15:03 +0200)
committerStephen Hemminger <stephen@networkplumber.org>
Tue, 22 Jan 2019 03:04:07 +0000 (16:04 +1300)
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@mellanox.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
man/man8/tc-tunnel_key.8
tc/m_tunnel_key.c

index dc8421b4515a7fefa0eedd7d99a08ecb352771f5..2145eb62e70e275b6670f68ed666ad8bc32c90ad 100644 (file)
@@ -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
index e9e71e41a0812dc04af94876b52bdbdc8f6fb2b7..9449287ea0b4fd77efaad7f6b6e788204f952208 100644 (file)
@@ -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;