netstack: github.com/google/netstack

Directories

PathSynopsis
gatePackage gate provides a usage Gate synchronization primitive.
ilistPackage ilist provides the implementation of intrusive linked lists.
randPackage rand implements a cryptographically secure pseudorandom number generator.
sleepPackage sleep allows goroutines to efficiently sleep on multiple sources of notifications (wakers).
tcpipPackage tcpip provides the interfaces and related types that users of the tcpip stack will use in order to create endpoints used to send and receive data over the network stack.
tcpip/adapters/gonetPackage gonet provides a Go net package compatible wrapper for a tcpip stack.
tcpip/bufferPackage buffer provides the implementation of a buffer view.
tcpip/checkerPackage checker provides helper functions to check networking packets for validity.
tcpip/hash/jenkinsPackage jenkins implements Jenkins's one_at_a_time, non-cryptographic hash functions created by by Bob Jenkins.
tcpip/headerPackage header provides the implementation of the encoding and decoding of network protocol headers.
tcpip/iptablesPackage iptables supports packet filtering and manipulation via the iptables tool.
tcpip/link/channelPackage channel provides the implemention of channel-based data-link layer endpoints.
tcpip/link/fdbasedPackage fdbased provides the implemention of data-link layer endpoints backed by boundary-preserving file descriptors (e.g., TUN devices, seqpacket/datagram sockets).
tcpip/link/loopbackPackage loopback provides the implemention of loopback data-link layer endpoints.
tcpip/link/muxedPackage muxed provides a muxed link endpoints.
tcpip/link/rawfilePackage rawfile contains utilities for using the netstack with raw host files on Linux hosts.
tcpip/link/sharedmemPackage sharedmem provides the implemention of data-link layer endpoints backed by shared memory.
tcpip/link/sharedmem/pipePackage pipe implements a shared memory ring buffer on which a single reader and a single writer can operate (read/write) concurrently.
tcpip/link/sharedmem/queuePackage queue provides the implementation of transmit and receive queues based on shared memory ring buffers.
tcpip/link/snifferPackage sniffer provides the implementation of data-link layer endpoints that wrap another endpoint and logs inbound and outbound packets.
tcpip/link/tunPackage tun contains methods to open TAP and TUN devices.
tcpip/link/waitablePackage waitable provides the implementation of data-link layer endpoints that wrap other endpoints, and can wait for inflight calls to WritePacket or DeliverNetworkPacket to finish (and new ones to be prevented).
tcpip/network/arpPackage arp implements the ARP network protocol.
tcpip/network/fragmentationPackage fragmentation contains the implementation of IP fragmentation.
tcpip/network/hashPackage hash contains utility functions for hashing.
tcpip/network/ipv4Package ipv4 contains the implementation of the ipv4 network protocol.
tcpip/network/ipv6Package ipv6 contains the implementation of the ipv6 network protocol.
tcpip/portsPackage ports provides PortManager that manages allocating, reserving and releasing ports.
tcpip/seqnumPackage seqnum defines the types and methods for TCP sequence numbers such that they fit in 32-bit words and work properly when overflows occur.
tcpip/stackPackage stack provides the glue between networking protocols and the consumers of the networking stack.
tcpip/transport/icmpPackage icmp contains the implementation of the ICMP and IPv6-ICMP transport protocols for use in ping.
tcpip/transport/packetPackage packet provides the implementation of packet sockets (see packet(7)).
tcpip/transport/rawPackage raw provides the implementation of raw sockets (see raw(7)).
tcpip/transport/tcpPackage tcp contains the implementation of the TCP transport protocol.
tcpip/transport/tcpconntrackPackage tcpconntrack implements a TCP connection tracking object.
tcpip/transport/tcp/testing/contextPackage context provides a test context for use in tcp tests.
tcpip/transport/udpPackage udp contains the implementation of the UDP transport protocol.
tmutexPackage tmutex provides the implementation of a mutex that implements an efficient TryLock function in addition to Lock and Unlock.
waiterPackage waiter provides the implementation of a wait queue, where waiters can be enqueued to be notified when an event of interest happens.

Updated 2019-12-16. Refresh now. Tools for package owners.