{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,21]],"date-time":"2026-07-21T19:20:34Z","timestamp":1784661634138,"version":"3.55.0"},"reference-count":66,"publisher":"IEEE","license":[{"start":{"date-parts":[[2019,5,20]],"date-time":"2019-05-20T00:00:00Z","timestamp":1558310400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2019,5,20]],"date-time":"2019-05-20T00:00:00Z","timestamp":1558310400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019,5,20]]},"DOI":"10.23919\/ifipnetworking.2019.8816857","type":"proceedings-article","created":{"date-parts":[[2019,8,29]],"date-time":"2019-08-29T21:35:56Z","timestamp":1567114556000},"page":"1-9","source":"Crossref","is-referenced-by-count":7,"title":["Beyond socket options: making the Linux TCP stack truly extensible"],"prefix":"10.23919","author":[{"given":"Viet-Hoang","family":"Tran","sequence":"first","affiliation":[{"name":"ICTEAM, UCLouvain, Louvain-la-Neuve, Belgium"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Olivier","family":"Bonaventure","sequence":"additional","affiliation":[{"name":"ICTEAM, UCLouvain, Louvain-la-Neuve, Belgium"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"263","reference":[{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1145\/2602204.2602212"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1145\/2068816.2068834"},{"key":"ref33","author":"gregg","year":"2018","journal-title":"Linux Performance"},{"key":"ref32","author":"greear","year":"2012","journal-title":"Linux Kernel [RFC] TCP Support configurable delayed-ack parameters"},{"key":"ref31","first-page":"29","article-title":"An analysis of Iongitudinal TCP passive measurements","author":"fukuda","year":"2011","journal-title":"TMA Workshop"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.17487\/rfc6824"},{"key":"ref37","author":"heiland-jorgensen","year":"0","journal-title":"The eXpress data path fast programmable packet processing in the operating system kernel"},{"key":"ref36","doi-asserted-by":"publisher","DOI":"10.1145\/2716281.2836113"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.1145\/1400097.1400105"},{"key":"ref34","first-page":"317","article-title":"Deploying Safe User-Level Network Services with icTCP","author":"gunawi","year":"2004","journal-title":"OSDI"},{"key":"ref60","doi-asserted-by":"publisher","DOI":"10.1145\/3139645.3139657"},{"key":"ref62","author":"wang","year":"2018","journal-title":"Epload"},{"key":"ref61","author":"wang","year":"2013","journal-title":"Linux Kernel tcp introduce a per-route knob for quick ack"},{"key":"ref63","first-page":"387","article-title":"How speedy is SPDY?","author":"wang","year":"2014","journal-title":"Proc 11th NSDI USENIX"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.17487\/rfc5482"},{"key":"ref64","author":"cheng","year":"2017","journal-title":"IETF draft TCP Low Latency Option"},{"key":"ref27","article-title":"The uIP embedded TCP\/IP stack","volume":"1","author":"dunkels","year":"2006","journal-title":"UIP"},{"key":"ref65","volume":"2","author":"wright","year":"1995","journal-title":"TCP\/IP Illustrated"},{"key":"ref66","doi-asserted-by":"publisher","DOI":"10.1145\/3281411.3281426"},{"key":"ref29","first-page":"11","author":"fastabend","year":"0","journal-title":"BPF control flow supporting loops and other patterns"},{"key":"ref2","year":"2017"},{"key":"ref1","year":"0","journal-title":"Sample bpf program to set initial cwnd"},{"key":"ref20","author":"chu","year":"2013","journal-title":"RFC 6928 Increasing TCP's initial window"},{"key":"ref22","article-title":"Pluggable congestion avoidance modules","author":"corbet","year":"2005","journal-title":"Linux Weekly News"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1109\/35.29545"},{"key":"ref24","doi-asserted-by":"publisher","DOI":"10.1145\/1823844.1823848"},{"key":"ref23","author":"jon","year":"0","journal-title":"iperf 3 tool for active measurements of the maximum achievable bandwidth on ip networks"},{"key":"ref26","article-title":"Design and Implementation of the lwIP TCP\/IP Stack","volume":"2","author":"dunkels","year":"2001","journal-title":"Swedish Institute of Computer Science"},{"key":"ref25","article-title":"Tail loss probe (TLP): An algorithm for fast recovery of tail losses","author":"dukkipati","year":"2013","journal-title":"draft-dukkipati-tcpm-tcploss-probe-01 txt"},{"key":"ref50","author":"paxson","year":"1999","journal-title":"Known TCP Implementation Problems RFC 2525 (Informational)"},{"key":"ref51","author":"postel","year":"1981","journal-title":"Transmission control protocol RFC 793"},{"key":"ref59","doi-asserted-by":"publisher","DOI":"10.17487\/rfc6994"},{"key":"ref58","author":"schueren","year":"2017","journal-title":"TCPSnitch Dissecting the Usage of the Socket API"},{"key":"ref57","author":"salim","year":"2003","journal-title":"Linux Netlink as an IP Services Protocol RFC 3549 (Informational)"},{"key":"ref56","doi-asserted-by":"publisher","DOI":"10.23919\/TMA.2018.8506549"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1145\/3131365.3131370"},{"key":"ref54","first-page":"29","article-title":"How hard can it be? Designing and implementing a deployable multipath TCP","author":"raiciu","year":"2012","journal-title":"9th USENIX NSDI"},{"key":"ref53","doi-asserted-by":"publisher","DOI":"10.1145\/2079296.2079317"},{"key":"ref52","first-page":"328","article-title":"LKL: The Linux kernel library","author":"purdila","year":"2010","journal-title":"Roedunet International Conference (RoEduNet) 2010 9th"},{"key":"ref10","article-title":"TCP-BPF: Programmatically tuning TCP behavior through BPF","author":"brakmo","year":"2017","journal-title":"NetDev 2 2"},{"key":"ref11","author":"brakmo","year":"2018","journal-title":"Linux Kernel patchset bpf More sock_ops callbacks"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.17487\/rfc1323"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1109\/49.464716"},{"key":"ref13","author":"cardwell","year":"2015","journal-title":"Linux Kernel Merge branch fix stretch ACK bugs in TCP CUBIC and Reno"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1145\/3009824"},{"key":"ref15","article-title":"Spotify Labs","volume":"8","author":"carlsson","year":"2018","journal-title":"Smoother Streaming with BBR"},{"key":"ref16","first-page":"359","article-title":"Improving Server Application Performance via Pure TCP ACK Receive Optimization","author":"chan","year":"2013","journal-title":"USENIX Annual Technical Conference"},{"key":"ref17","author":"cheng","year":"2014","journal-title":"TCP Fast Open RFC 7413"},{"key":"ref18","author":"cheng","year":"2013","journal-title":"Linux Kernel commit 9f9843a751d0 tcp properly handle stretch acks in slow start"},{"key":"ref19","author":"yuchung","year":"2018","journal-title":"RACK a time-based fast loss detection algorithm for TCP draft-ietf-tcpm-rack-04"},{"key":"ref4","article-title":"RFC 3390: Increasing TCPs initial window","author":"allman","year":"2002","journal-title":"IETF Request Comments"},{"key":"ref3","author":"allman","year":"2009","journal-title":"TCP Congestion Control RFC 5681 (Draft Standard)"},{"key":"ref6","author":"balasubramanian","year":"2016","journal-title":"IETF 96 Transports advancements in the Windows network stack IETF"},{"key":"ref5","first-page":"97","article-title":"The design and implementation of hyperupcalls","author":"amit","year":"2018","journal-title":"2018 USENIX ATC"},{"key":"ref8","author":"brakmo","year":"2017","journal-title":"Linux Kernel patchset bpf add support for BASE RTT"},{"key":"ref7","first-page":"24","article-title":"Multipath TCP deployments","volume":"12","author":"bonaventure","year":"2016","journal-title":"IET Journal"},{"key":"ref49","doi-asserted-by":"publisher","DOI":"10.1145\/1165389.945447"},{"key":"ref9","author":"brakmo","year":"2017","journal-title":"Linux Kernel patchset bpf BPF support for sock_ops"},{"key":"ref46","author":"mathis","year":"1996","journal-title":"TCP selective acknowledgment options RFC 2018"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1145\/1868447.1868466"},{"key":"ref48","first-page":"30","article-title":"Restructuring endpoint congestion control","author":"narayan","year":"2018","journal-title":"Proceedings of the SIGCOMM 2018"},{"key":"ref47","doi-asserted-by":"crossref","first-page":"99","DOI":"10.1145\/972374.972392","article-title":"Unveiling the transport","volume":"34","author":"jeffrey","year":"2004","journal-title":"ACM SIGCOMM Computer Communication Review"},{"key":"ref42","first-page":"489","article-title":"mTCP: a Highly Scalable User-level TCP Stack for Multicore Systems","volume":"14","author":"jeong","year":"2014","journal-title":"NSDI"},{"key":"ref41","first-page":"314","volume":"18","author":"van","year":"1988","journal-title":"Congestion avoidance and control"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1145\/3098822.3098842"},{"key":"ref43","article-title":"Kernel probes (kprobes)","author":"keniston","year":"2016","journal-title":"Documentation provided with the Linux kernel sources (v2 6 29)"}],"event":{"name":"2019 IFIP Networking Conference (IFIP Networking)","location":"Warsaw, Poland","start":{"date-parts":[[2019,5,20]]},"end":{"date-parts":[[2019,5,22]]}},"container-title":["2019 IFIP Networking Conference (IFIP Networking)"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/8811689\/8816828\/08816857.pdf?arnumber=8816857","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,9,4]],"date-time":"2025-09-04T18:19:57Z","timestamp":1757009997000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/8816857\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,5,20]]},"references-count":66,"URL":"https:\/\/doi.org\/10.23919\/ifipnetworking.2019.8816857","relation":{},"subject":[],"published":{"date-parts":[[2019,5,20]]}}}