]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
ip tuntap: Add checking if tun/tap mode was set by default
authorvadimk <vadim4j@gmail.com>
Tue, 16 Sep 2014 20:54:34 +0000 (23:54 +0300)
committerStephen Hemminger <stephen@networkplumber.org>
Sun, 28 Sep 2014 23:19:31 +0000 (16:19 -0700)
This checking was performed only when adding interface but
it is needed also when deleting, otherwise the error will be:

    ioctl(TUNSETIFF): Invalid argument

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
ip/iptuntap.c

index 2391af2bf923bf05a259b17aa247626e42ded3a7..c6dacd761cc975dde63ae31117c845cbe5cebcb6 100644 (file)
@@ -186,6 +186,11 @@ static int parse_args(int argc, char **argv, struct ifreq *ifr, uid_t *uid, gid_
                argc--; argv++;
        }
 
+       if (!(ifr->ifr_flags & TUN_TYPE_MASK)) {
+               fprintf(stderr, "You failed to specify a tunnel mode\n");
+               return -1;
+       }
+
        return 0;
 }
 
@@ -199,10 +204,6 @@ static int do_add(int argc, char **argv)
        if (parse_args(argc, argv, &ifr, &uid, &gid) < 0)
                return -1;
 
-       if (!(ifr.ifr_flags & TUN_TYPE_MASK)) {
-               fprintf(stderr, "You failed to specify a tunnel mode\n");
-               return -1;
-       }
        return tap_add_ioctl(&ifr, uid, gid);
 }