Starting from DPDK 21.05, pkg-config
becomes the only official way to build DPDK apps. Because of it go-dpdk
uses #cgo pkg-config
directive to link against your DPDK distribution.
Go compiler may fail to accept some C compiler flags. You can fix it by submitting those flags to environment:
export CGO_CFLAGS_ALLOW="-mrtm"
export CGO_LDFLAGS_ALLOW="-Wl,--(?:no-)?whole-archive"
- Only dynamic linking is viable at this point.
- If you isolate CPU cores with
isolcpus
kernel parameter thenGOMAXPROCS
should be manually specified to reflect the actual number of logical cores in CPU mask. E.g. ifisolcpus=12-95
on a 96-core machine then default value forGOMAXPROCS
would be 12 but it should be at least 84.