cmd/auxstats: improve network device name matcher in Linux

This commit is contained in:
Nicola Girardi 2021-10-17 19:46:13 +01:00 committed by Dan Cross
parent 0ac2a105ae
commit 7b0b2065fa

View file

@ -120,9 +120,11 @@ xnet(int first)
vlong totb, totp, tote, totin, totou, totinb, totoub, b, p, e, in, ou, inb, oub; vlong totb, totp, tote, totin, totou, totinb, totoub, b, p, e, in, ou, inb, oub;
char *q; char *q;
static int fd = -1; static int fd = -1;
static Reprog *netdev = nil;
if(first){ if(first){
fd = open("/proc/net/dev", OREAD); fd = open("/proc/net/dev", OREAD);
netdev = regcomp("^(eth[0-9]+|wlan[0-9]+|enp[0-9]+s[0-9]+f[0-9]+|wlp[0-9]+s[0-9]+)$");
return; return;
} }
@ -141,7 +143,7 @@ xnet(int first)
tokens(i); tokens(i);
if(ntok < 8+8) if(ntok < 8+8)
continue; continue;
if(strncmp(tok[0], "eth", 3) != 0 && strncmp(tok[0], "wlan", 4) != 0) if(regexec(netdev, tok[0], nil, 0) != 1)
continue; continue;
inb = atoll(tok[1]); inb = atoll(tok[1]);
oub = atoll(tok[9]); oub = atoll(tok[9]);