Since f-stack run with polling mode, nginx will call gettimeofday every loop, and cost a lot.
With this commit, f-stack will update current timespec periodically in
ff_hardclock_job. And ff_gettimeofday will get this value.
In nginx, hijack gettimeofday to call ff_gettimeofday.
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.
RX: VLAN strip, CRC strip, IP/TCP/UDP checksum.
TX: IP/TCP/UDP checksum, TSO.
Note that TSO has a problem: when enable TSO,
F-Stack is much slower(Temporarily not resolved).
So TSO is disabled by default.
Edit config.ini to enable it.