diff --git a/lib/libnetmap/nmreq.c b/lib/libnetmap/nmreq.c --- a/lib/libnetmap/nmreq.c +++ b/lib/libnetmap/nmreq.c @@ -54,8 +54,15 @@ nm_is_identifier(const char *s, const char *e) { for (; s != e; s++) { - if (!isalnum(*s) && *s != '_') { + switch (*s) { + case '^': /* only SW ring */ + case '*': /* NIC and SW */ + case '-': /* one NIC ring pair */ + case '/': /* start of flags */ + case '@': /* start of memid */ return 0; + default: + break; } }