From 6197f02044e2fe6689b52dad0a0c75bdc0eb185b Mon Sep 17 00:00:00 2001 From: Vadim Kochan Date: Tue, 20 Sep 2016 21:37:35 +0300 Subject: mz: Check device argument by ifindex instead of name prefix Check device argument by valid ifindex instead of guessing it by different device name prefixes like "eth", "ath", "ens", "enp". Use __device_ifindex(...) function for this, which needs to add few more dependencies like sock.o, link.o to the Makefile for mausezahn. Closes #159 Suggested-by: Tobias Klauser Signed-off-by: Vadim Kochan Signed-off-by: Tobias Klauser --- staging/mausezahn.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'staging') diff --git a/staging/mausezahn.c b/staging/mausezahn.c index 70f1e72..32bcdc5 100644 --- a/staging/mausezahn.c +++ b/staging/mausezahn.c @@ -30,6 +30,7 @@ #include "config.h" #include "llist.h" #include "die.h" +#include "dev.h" int verbose_level = 0; @@ -597,13 +598,8 @@ int getopts (int argc, char *argv[]) } break; case 1: // arg_string OR device given => find out! - if ( (strncmp(argv[optind],"eth",3)==0) - || (strncmp(argv[optind],"ath",3)==0) - || ((strncmp(argv[optind],"lo",2)==0)&&(strncmp(argv[optind],"log",3)!=0)) - || (strncmp(argv[optind],"vmnet",5)==0) - || (strncmp(argv[optind],"wifi",4)==0) ) { - // device has been specified! - strncpy (tx.device, argv[optind], 16); + if (__device_ifindex(argv[optind]) > 0) { + strncpy(tx.device, argv[optind], 16); } else { /// arg_string given => no device has been specified -- let's find one! strncpy (tx.arg_string, argv[optind], MAX_PAYLOAD_SIZE); -- cgit v1.2.3-54-g00ecf