====== Networking / TCP etc. ====== ===== Current status ===== Bi-weekly phone conference meetings occur [[/TransportProtocols|Transport Protocol Minutes]] - things being discussed include * Bug fixing * Pluggable network stacks * Timer fixing * Pluggable TCP stacks * Fast path stack * Rack 100G Mellanox drivers exist and are actively in use by Netflix 100G cards and switches available in Netperf cluster Drivers for all major 40Gb and 10Gb cards are in the tree. Netflix are gradually upstreaming changes, inc. async sendfile, sendfile TLS encryption in kernel ===== Presentations, small talks and discussions ===== [[/MarieHeleneKvello-Aune]] presented on libifconfig - breaking out core ifconfig functionalities into a library. * Code available on github, https://github.com/Savagedlight/libifconfig * Aim to allow code treuse and to make ifconfig easier to maintain. * Intent to create unit tests for code [[/HannesMehnert|HannesMehnert]] talked about Huginn-TCP, a TCP/IP model and test suite. * Based on DTrace. * https://www.cl.cam.ac.uk/~pes20/HuginnTCP/ * Code on github, https://github.com/PeterSewell/netsem Discussion about congestion control. * Some bugs, but hiren@ has fixed several of them in e.g. cc_cubic * CC API is clean, but only provides data that the current pluggable modules require - would need extending for more experimental algos * Is DCTCP in use? Unknown how much it is in use [[/RuslanBukin|RuslanBukin]] presented on his working on ARM and MIPS BPF JIT. * ATF tests exist in %%NetBSD%%, looking at porting. See presentation. [[/LucianCarata|LucianCarata]] presented on eBPF. Linux wants to use it as a generic tracing infrastructure. * Offers 11 64-bit registers (vs 2 32-bit registers in BPF), direct mapping to x86 etc registers. * eBPF offers more operations and a BPF_CALL function, generic key/value stores, can obtain a hash of current stack trace for stats gathering. * See presentation. [[/AyakaKoshibe|AyakaKoshibe]] talked about SDN, [[AyakaKoshibe/Mininet|mininet]]. Working on %%FreeBSD%% port, using bhyve/jails. * if_bridge does not support openflow/openvswitch, but would be good if it did. This could possibly make a %%GSoC%% project? * Possibility to use or transport and congestion control testing. * Actions: * if_bridge support for OVS * create [[AyakaKoshibe/Mininet|mininet]] wiki page * mininet+VIMAGE. %%DragonflyBSD%% has re-implemented ipfw, which is lockless in the data path.