]> git.proxmox.com Git - mirror_iproute2.git/blobdiff - ip/link_vti6.c
addr: Fix noprefixroute and autojoin for IPv4
[mirror_iproute2.git] / ip / link_vti6.c
index 4263615b2aecfaf3a3370441deeb0e6a6a93e8e1..0b080fa9f4ddad30d787855198ea57e3f543b33d 100644 (file)
@@ -28,22 +28,16 @@ static void vti6_print_help(struct link_util *lu, int argc, char **argv,
                            FILE *f)
 {
        fprintf(f,
-               "Usage: ... %-4s [ remote ADDR ]\n",
-               lu->id
-       );
-       fprintf(f,
-               "                [ local ADDR ]\n"
-               "                [ [i|o]key KEY ]\n"
-               "                [ dev PHYS_DEV ]\n"
-               "                [ fwmark MARK ]\n"
+               "Usage: ... %-4s        [ remote ADDR ]\n"
+               "               [ local ADDR ]\n"
+               "               [ [i|o]key KEY ]\n"
+               "               [ dev PHYS_DEV ]\n"
+               "               [ fwmark MARK ]\n"
                "\n"
-       );
-       fprintf(f,
-               "Where: ADDR := { IP%s_ADDRESS }\n"
-               "       KEY  := { DOTTED_QUAD | NUMBER }\n"
-               "       MARK := { 0x0..0xffffffff }\n",
-               "V6"
-       );
+               "Where: ADDR := { IPV6_ADDRESS }\n"
+               "       KEY  := { DOTTED_QUAD | NUMBER }\n"
+               "       MARK := { 0x0..0xffffffff }\n",
+               lu->id);
 }
 
 static int vti6_parse_opt(struct link_util *lu, int argc, char **argv,
@@ -159,9 +153,9 @@ get_failed:
 
        addattr32(n, 1024, IFLA_VTI_IKEY, ikey);
        addattr32(n, 1024, IFLA_VTI_OKEY, okey);
-       if (is_addrtype_inet(&saddr))
+       if (is_addrtype_inet_not_unspec(&saddr))
                addattr_l(n, 1024, IFLA_VTI_LOCAL, saddr.data, saddr.bytelen);
-       if (is_addrtype_inet(&daddr))
+       if (is_addrtype_inet_not_unspec(&daddr))
                addattr_l(n, 1024, IFLA_VTI_REMOTE, daddr.data, daddr.bytelen);
        addattr32(n, 1024, IFLA_VTI_FWMARK, fwmark);
        if (link)
@@ -210,7 +204,7 @@ static void vti6_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
 
                if (fwmark) {
                        print_0xhex(PRINT_ANY,
-                                   "fwmark", "fwmark 0x%x ", fwmark);
+                                   "fwmark", "fwmark %#llx ", fwmark);
                }
        }
 }