This gist contains all my note related to TCP.
But this file itself is only a placeholer. Nothing here.
Comparison between FStack and YaStack.
Fstack | YAStack | |
---|---|---|
Layers | DPDK + FreeBSD + POSIX api + Nginx //+ Redis | FStack - Nginx + Envoy |
Event loop | Nginx's | libevent |
Multi-core flow distribution | Hardware RSS (NIC's) | Software RSS--a layer of vswitch ( not much detail collected) |
Lock | Removed locks of FreeBSD stack | same |
Scheduling | Removed kernel, interupt and timer thread of FreeBSD stack | same |
Other works | Ported netgraph, sysctl, ifconfig, netstat, IPfw, and pf | Adapted build system to cmake |
Developers of FStack had tested SeaStar. Their comments are following:
In my opinion, the major contributions of FStack are
A list of major modification of FreeBSD:
//TODO
Reference
This gist is about everything useful I found during researching TFO
//TODO
Check linux kernel version. It has to be higher than 3.7.x. uname -r
can return the kernel version.
vim /etc/sysctl.conf
to add TFO parameter to override default kernel parameter values set by sysctl.
# add following line
net.ipv4.tcp_fastopen = 3
sysctl -p
to bring the modified config into effect
(Optional) If want to keep TFO option enabled after reboot. vim /etc/rc.local
to add following line
echo 3 > /proc/sys/net/ipv4/tcp_fastopen
Check TFO connection stats.
# list all tcp connection
ip tcp_metrics
# monitor tfo stats
grep '^TcpExt:' /proc/net/netstat | cut -d ' ' -f 87-92 | column -t
//TODO