Skip to content
  • Jonas Termansen's avatar
    Add networking stack. · 2ef6804e
    Jonas Termansen authored
    This change adds all the kernel parts of a network stack. The network stack
    is partial but implements many of the important parts.
    
    Add if(4) network interface abstraction. Network interfaces are registered
    in a global list that can be iterated and each assigned an unique integer
    identifier.
    
    Add reference counted packets with a cache that recycles recent packets.
    
    Add support for lo(4) loopback and ether(4) ethernet network interfaces.
    The /dev/lo0 loopback device is created automatically on boot.
    
    Add arp(4) address resolution protocol driver for translation of inet(4)
    network layer addresses into ether(4) link layer addresses. arp(4) entries
    are cached and evicted from the cache when needed or when the entry has not
    been used for a while. The cache is limited to 256 entries for now.
    
    Add ip(4) internet protocol version 4 support. IP fragmentation and options
    are not implemented yet.
    
    Add tcp(4) transmission control protocol sockets for a reliable transport
    layer protocol that prov...
    2ef6804e
To learn more about this project, read the wiki.