From: vadimk Date: Tue, 16 Sep 2014 20:54:34 +0000 (+0300) Subject: ip tuntap: Add checking if tun/tap mode was set by default X-Git-Tag: v3.17.0~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f1a505aca8e44081b388cbde3ddd73cab720f884;p=thirdparty%2Fiproute2.git ip tuntap: Add checking if tun/tap mode was set by default 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 --- diff --git a/ip/iptuntap.c b/ip/iptuntap.c index 2391af2bf..c6dacd761 100644 --- a/ip/iptuntap.c +++ b/ip/iptuntap.c @@ -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); }