af_xdp: fix NUMA node parsing
Non-NUMA systems might report -1 as NUMA node.
Type: fix
Change-Id: I092c817ea670009d6f530cc70ad13d45e15fd363
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 4317b8efb1
)
This commit is contained in:

committed by
Andrew Yourtchenko

parent
73a3476602
commit
087d81dafa
@ -22,6 +22,7 @@
|
||||
#include <vlib/vlib.h>
|
||||
#include <vlib/unix/unix.h>
|
||||
#include <vlib/pci/pci.h>
|
||||
#include <vppinfra/linux/sysfs.h>
|
||||
#include <vppinfra/unix.h>
|
||||
#include <vnet/ethernet/ethernet.h>
|
||||
#include "af_xdp.h"
|
||||
@ -273,21 +274,18 @@ err0:
|
||||
static int
|
||||
af_xdp_get_numa (const char *ifname)
|
||||
{
|
||||
FILE *fptr;
|
||||
char *path;
|
||||
clib_error_t *err;
|
||||
int numa;
|
||||
char *s;
|
||||
|
||||
s = (char *) format (0, "/sys/class/net/%s/device/numa_node%c", ifname, 0);
|
||||
fptr = fopen (s, "rb");
|
||||
vec_free (s);
|
||||
|
||||
if (!fptr)
|
||||
return 0;
|
||||
|
||||
if (fscanf (fptr, "%d\n", &numa) != 1)
|
||||
path =
|
||||
(char *) format (0, "/sys/class/net/%s/device/numa_node%c", ifname, 0);
|
||||
err = clib_sysfs_read (path, "%d", &numa);
|
||||
if (err || numa < 0)
|
||||
numa = 0;
|
||||
|
||||
fclose (fptr);
|
||||
clib_error_free (err);
|
||||
vec_free (path);
|
||||
return numa;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user