diff mbox

[iproute2] ip tuntap: Add checking if tun/tap mode was set by default

Message ID 1410900874-8317-1-git-send-email-vadim4j@gmail.com
State Accepted, archived
Delegated to: stephen hemminger
Headers show

Commit Message

Vadym Kochan Sept. 16, 2014, 8:54 p.m. UTC
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 | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
diff mbox

Patch

diff --git a/ip/iptuntap.c b/ip/iptuntap.c
index 2391af2..c6dacd7 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);
 }