@article{cerf1974protocol, author = {Cerf, Vinton G. and Kahn, Robert E.}, title = {A Protocol for Packet Network Intercommunication}, journaltitle = {IEEE Transactions on Communications}, volume = {22}, number = {5}, pages = {637--648}, date = {1974-05}, doi = {10.1109/TCOM.1974.1092259} } @techreport{rfc791, author = {Postel, Jon}, title = {Internet Protocol}, type = {RFC}, number = {791}, institution = {RFC Editor}, date = {1981-09}, doi = {10.17487/RFC0791} } @techreport{rfc793, author = {Postel, Jon}, title = {Transmission Control Protocol}, type = {RFC}, number = {793}, institution = {RFC Editor}, date = {1981-09}, doi = {10.17487/RFC0793} } @techreport{rfc1122, author = {Braden, Robert}, title = {Requirements for Internet Hosts -- Communication Layers}, type = {RFC}, number = {1122}, institution = {RFC Editor}, date = {1989-10}, doi = {10.17487/RFC1122} } @techreport{rfc1812, author = {Baker, Fred}, title = {Requirements for {IP} Version 4 Routers}, type = {RFC}, number = {1812}, institution = {RFC Editor}, date = {1995-06}, doi = {10.17487/RFC1812} } @techreport{rfc3022, author = {Srisuresh, Pyda and Egevang, Kjeld}, title = {Traditional {IP} Network Address Translator ({Traditional NAT})}, type = {RFC}, number = {3022}, institution = {RFC Editor}, date = {2001-01}, doi = {10.17487/RFC3022} } @inproceedings{stephan2024packetpath, author = {Stephan, Alexander and W{\"u}strich, Lars}, title = {The Path of a Packet Through the Linux Kernel}, booktitle = {Seminar IITM WS 23}, date = {2024}, doi = {10.2313/NET-2024-04-1\_16}, url = {https://www.net.in.tum.de/fileadmin/TUM/NET/NET-2024-04-1/NET-2024-04-1_16.pdf} } @inproceedings{hoilandjorgensen2018xdp, author = {H{\o}iland-J{\o}rgensen, Toke and Brouer, Jesper Dangaard and Borkmann, Daniel and Fastabend, John and Herbert, Tom and Ahern, David and Miller, David}, title = {The {eXpress} Data Path: Fast Programmable Packet Processing in the Operating System Kernel}, booktitle = {Proceedings of the 14th International Conference on Emerging Networking Experiments and Technologies}, series = {CoNEXT '18}, pages = {54--66}, publisher = {Association for Computing Machinery}, location = {Heraklion, Greece}, date = {2018}, doi = {10.1145/3281411.3281443}, url = {https://doi.org/10.1145/3281411.3281443} } @inproceedings{scholz2018ebpfpacketfiltering, author = {Scholz, Dominik and Raumer, Daniel and Emmerich, Paul and Kurtz, Alexander and Lesiak, Krzysztof and Carle, Georg}, title = {Performance Implications of Packet Filtering with {Linux eBPF}}, booktitle = {2018 30th International Teletraffic Congress}, series = {ITC 30}, pages = {209--217}, publisher = {IEEE}, location = {Vienna, Austria}, date = {2018}, doi = {10.1109/ITC30.2018.00039}, url = {https://www.net.in.tum.de/fileadmin/bibtex/publications/papers/ITC30-Packet-Filtering-eBPF-XDP.pdf} } @online{gbadamosi2024ebpfruntime, author = {Gbadamosi, Bolaji and Leonardi, Luigi and Pulls, Tobias and H{\o}iland-J{\o}rgensen, Toke and Ferlin-Reiter, Simone and Sorce, Simo and Brunstr{\"o}m, Anna}, title = {The {eBPF} Runtime in the {Linux} Kernel}, date = {2024-10-03}, eprint = {2410.00026}, eprinttype = {arXiv}, doi = {10.48550/arXiv.2410.00026}, url = {https://arxiv.org/abs/2410.00026}, urldate = {2026-05-15} } @inproceedings{westphal2016bridgefiltering, author = {Westphal, Florian}, title = {Bridge Filtering with {nftables}}, booktitle = {Proceedings of Netdev 1.1}, location = {Seville, Spain}, date = {2016}, url = {https://netdevconf.org/1.1/proceedings/papers/Bridge-filter-with-nftables.pdf}, urldate = {2026-05-15} } @article{conti2016mitmsurvey, author = {Conti, Mauro and Dragoni, Nicola and Lesyk, Viktor}, title = {A Survey of {Man In The Middle} Attacks}, journaltitle = {IEEE Communications Surveys \& Tutorials}, volume = {18}, number = {3}, pages = {2027--2051}, date = {2016}, doi = {10.1109/COMST.2016.2548426}, url = {https://doi.org/10.1109/COMST.2016.2548426} } @article{nam2012arpmitm, author = {Nam, Seung Yeob and Jurayev, Sirojiddin and Kim, Seung-Sik and Choi, Kwonhue and Choi, Gyu Sang}, title = {Mitigating {ARP} Poisoning-Based {Man-in-the-Middle} Attacks in Wired or Wireless {LAN}}, journaltitle = {EURASIP Journal on Wireless Communications and Networking}, volume = {2012}, number = {1}, eid = {89}, date = {2012}, doi = {10.1186/1687-1499-2012-89}, url = {https://doi.org/10.1186/1687-1499-2012-89} } @inproceedings{zhang2007portmirroring, author = {Zhang, Jian and Moore, Andrew W.}, title = {Traffic Trace Artifacts due to Monitoring Via Port Mirroring}, booktitle = {2007 Workshop on End-to-End Monitoring Techniques and Services}, series = {E2EMON '07}, pages = {1--8}, publisher = {IEEE}, date = {2007}, doi = {10.1109/E2EMON.2007.375317}, url = {https://www.cl.cam.ac.uk/research/srg/netos/papers/2007-zhang2007traffic.pdf}, urldate = {2026-05-16} } @inproceedings{durumeric2017httpsinterception, author = {Durumeric, Zakir and Ma, Zane and Springall, Drew and Barnes, Richard and Sullivan, Nick and Bursztein, Elie and Bailey, Michael and Halderman, J. Alex and Paxson, Vern}, title = {The Security Impact of {HTTPS} Interception}, booktitle = {Proceedings of the Network and Distributed System Security Symposium}, series = {NDSS '17}, date = {2017}, doi = {10.14722/ndss.2017.23456}, url = {https://doi.org/10.14722/ndss.2017.23456} } @inproceedings{waked2018tlsinterception, author = {Waked, Louis and Mannan, Mohammad and Youssef, Amr}, title = {To Intercept or Not to Intercept: Analyzing {TLS} Interception in Network Appliances}, booktitle = {Proceedings of the 2018 {ACM Asia} Conference on Computer and Communications Security}, series = {ASIACCS '18}, pages = {399--412}, publisher = {Association for Computing Machinery}, location = {Incheon, Republic of Korea}, date = {2018}, doi = {10.1145/3196494.3196528}, url = {https://doi.org/10.1145/3196494.3196528} } @article{decarnedecarnavalet2023tlsinterception, author = {de Carn{\'e} de Carnavalet, Xavier and van Oorschot, Paul C.}, title = {A Survey and Analysis of {TLS} Interception Mechanisms and Motivations}, journaltitle = {ACM Computing Surveys}, volume = {55}, number = {13s}, articleno = {269}, pages = {1--40}, date = {2023}, doi = {10.1145/3580522}, url = {https://doi.org/10.1145/3580522} } @manual{ieee8021q2022, author = {{IEEE}}, title = {{IEEE Standard for Local and Metropolitan Area Networks--Bridges and Bridged Networks}}, organization = {IEEE}, type = {IEEE Std 802.1Q-2022}, date = {2022-12-22}, url = {https://standards.ieee.org/ieee/802.1Q/10323/}, urldate = {2026-05-16} } @inproceedings{perlman1985spanningtree, author = {Perlman, Radia}, title = {An Algorithm for Distributed Computation of a Spanningtree in an Extended {LAN}}, booktitle = {Proceedings of the Ninth Symposium on Data Communications}, series = {SIGCOMM '85}, pages = {44--53}, publisher = {Association for Computing Machinery}, location = {Whistler Mountain, British Columbia, Canada}, date = {1985}, doi = {10.1145/319056.319004}, url = {https://doi.org/10.1145/319056.319004} } @online{linuxkernelnetworkingdocs, author = {{The Linux Kernel Documentation Authors}}, title = {Networking --- The Linux Kernel documentation}, year = {2026}, url = {https://docs.kernel.org/networking/index.html}, urldate = {2026-04-18} } @online{linuxkernelskbuffdocs, author = {{The Linux Kernel Documentation Authors}}, title = {struct sk\_buff --- The Linux Kernel documentation}, year = {2026}, url = {https://docs.kernel.org/networking/skbuff.html}, urldate = {2026-04-18} } @online{linuxkernelbridgedocs, author = {{The Linux Kernel Documentation Authors}}, title = {Ethernet Bridging --- The Linux Kernel documentation}, year = {2026}, url = {https://docs.kernel.org/networking/bridge.html}, urldate = {2026-04-18} } @online{linuxkernelswitchdevdocs, author = {{The Linux Kernel Documentation Authors}}, title = {Ethernet switch device driver model (switchdev) --- The Linux Kernel documentation}, year = {2026}, url = {https://www.kernel.org/doc/html/latest/networking/switchdev.html}, urldate = {2026-05-16} } @online{linuxkernelflowtabledocs, author = {{The Linux Kernel Documentation Authors}}, title = {Netfilter's Flowtable Infrastructure --- The Linux Kernel documentation}, year = {2026}, url = {https://docs.kernel.org/networking/nf_flowtable.html}, urldate = {2026-05-15} } @online{linuxkernelscalingdocs, author = {{The Linux Kernel Documentation Authors}}, title = {Scaling in the Linux Networking Stack --- The Linux Kernel documentation}, year = {2026}, url = {https://docs.kernel.org/networking/scaling.html}, urldate = {2026-05-15} } @online{linuxkerneltracepointsdocs, author = {{The Linux Kernel Documentation Authors}}, title = {Using the Linux Kernel Tracepoints --- The Linux Kernel documentation}, year = {2026}, url = {https://www.kernel.org/doc/html/latest/trace/tracepoints.html}, urldate = {2026-05-16} } @online{man7packet, author = {{Linux man-pages project}}, title = {packet(7) --- Linux manual page}, date = {2025-09-21}, url = {https://man7.org/linux/man-pages/man7/packet.7.html}, urldate = {2026-05-16} } @online{man7tcbpf, author = {{Linux man-pages project}}, title = {tc-bpf(8) --- Linux manual page}, date = {2025-08-08}, url = {https://man7.org/linux/man-pages/man8/tc-bpf.8.html}, urldate = {2026-05-16} } @online{man7bridge, author = {{Linux man-pages project}}, title = {bridge(8) --- Linux manual page}, date = {2012-08-01}, url = {https://man7.org/linux/man-pages/man8/bridge.8.html}, urldate = {2026-05-16} } @online{man7iplink, author = {{Linux man-pages project}}, title = {ip-link(8) --- Linux manual page}, date = {2012-12-13}, url = {https://man7.org/linux/man-pages/man8/ip-link.8.html}, urldate = {2026-05-16} } @online{nftableshooks, author = {{The nftables Project}}, title = {Netfilter Hooks}, year = {2023}, url = {https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks}, urldate = {2026-05-15} } @online{nftablesbridgefiltering, author = {{The nftables Project}}, title = {Bridge Filtering}, year = {2021}, url = {https://wiki.nftables.org/wiki-nftables/index.php/Bridge_filtering}, urldate = {2026-05-15} }