According to the FreeBSD Manual Page:
- When kevent() returns and if `flags` is EVFILT_READ, sockets which have previously been passed to listen() return when there is an incoming connection pending. `data` contains the size of the listen backlog.
So if an EVFILT_READ event reaches and it is the listen socket, we must accept `event->data` times. And for `ff_epoll` interface, we should continue to accept until it fails.
In the previous version, we only accept once when event reaches, it will cause listen queue overflow.
Changes:
Remove directory `ipc`, and add a new directory `compat`.
Directory `compat` includes some FreeBSD source files to be compatible
with Linux.
Port FreeBSD ifconfig to F-Stack.
This commit contains an ipc library implemented by dpdk rte_ring and
sysctl tool ported from FreeBSD.
With this commit we can get and set FreeBSD kernel state in runtime.
Because pkg-config(version before 0.28) reordered -Wl,--whole-archive -Wl,--no-whole-archive not to surround the dpdk libraries, so we remove pkg-config and do it ourselves.