]> git.proxmox.com Git - mirror_iproute2.git/blobdiff - ip/link_vti6.c
ll_map: Add function to remove link cache entry by index
[mirror_iproute2.git] / ip / link_vti6.c
index 1df6579bff103aeb57681c38e6b98dec8f6225e9..f13c08583103a5f0a67e0fec5c31a600ac13dfd8 100644 (file)
@@ -144,11 +144,8 @@ get_failed:
                } else if (!matches(*argv, "dev")) {
                        NEXT_ARG();
                        link = ll_name_to_index(*argv);
-                       if (link == 0) {
-                               fprintf(stderr, "Cannot find device \"%s\"\n",
-                                       *argv);
-                               exit(-1);
-                       }
+                       if (!link)
+                               exit(nodev(*argv));
                } else if (strcmp(*argv, "fwmark") == 0) {
                        NEXT_ARG();
                        if (get_u32(&fwmark, *argv, 0))
@@ -162,9 +159,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)
@@ -213,7 +210,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);
                }
        }
 }