Skip to content

Latest commit

 

History

History
73 lines (53 loc) · 4.66 KB

resources.md

File metadata and controls

73 lines (53 loc) · 4.66 KB

Resources

Tun/Tap:

There was some initial debate on the environment to write this on.

A large part of the decision came down to whether it was possible grab L2 data from the kernel. I wanted to grab L2 data as that would've meant the ability to implement another (lower!) layer.

(https://en.wikipedia.org/wiki/TUN/TAP)

The following is some discoveries made along the way of making that decision:

Ethernet

Sk_buff

This was the carrier for each packet throughout our stack. Inspired by the Linux implementation of sk_buff: https://docs.kernel.org/networking/kapi.html#c.sk_buff

ARP

IPv4

ICMP

TCP

Sockets API

Curl & HTTP

Helper functions: