Networking¶
Refer to Networking subsystem (netdev) for a guide on netdev development process specifics.
Contents:
- AF_XDP
- Bare UDP Tunnelling Module Documentation
- batman-adv
- SocketCAN - Controller Area Network
- The UCAN Protocol
- Hardware Device Drivers
- Networking Diagnostics
- Distributed Switch Architecture
- Linux Devlink Documentation
- CAIF
- Netlink interface for ethtool
- Basic information
- Conventions
- Request header
- Bit sets
- List of message types
- STRSET_GET
- LINKINFO_GET
- LINKINFO_SET
- LINKMODES_GET
- LINKMODES_SET
- LINKSTATE_GET
- DEBUG_GET
- DEBUG_SET
- WOL_GET
- WOL_SET
- FEATURES_GET
- FEATURES_SET
- PRIVFLAGS_GET
- PRIVFLAGS_SET
- RINGS_GET
- RINGS_SET
- CHANNELS_GET
- CHANNELS_SET
- COALESCE_GET
- COALESCE_SET
- PAUSE_GET
- PAUSE_SET
- EEE_GET
- EEE_SET
- TSINFO_GET
- CABLE_TEST
- CABLE_TEST TDR
- TUNNEL_INFO
- FEC_GET
- FEC_SET
- MODULE_EEPROM_GET
- STATS_GET
- PHC_VCLOCKS_GET
- MODULE_GET
- MODULE_SET
- PSE_GET
- PSE_SET
- RSS_GET
- PLCA_GET_CFG
- PLCA_SET_CFG
- PLCA_GET_STATUS
- MM_GET
- MM_SET
- MODULE_FW_FLASH_ACT
- PHY_GET
- Request translation
- IEEE 802.15.4 Developer’s Guide
- ISO 15765-2 (ISO-TP)
- J1939 Documentation
- Linux Networking and Network Devices APIs
- MSG_ZEROCOPY
- FAILOVER
- Net DIM - Generic Network Dynamic Interrupt Moderation
- NET_FAILOVER
- Page Pool API
- PHY Abstraction Layer
- phylink
- IP-Aliasing
- Ethernet Bridging
- SNMP counter
- General IPv4 counters
- ICMP counters
- General TCP counters
- TCP Fast Open
- TCP Fast Path
- TCP abort
- TCP Hybrid Slow Start
- TCP retransmission and congestion control
- DSACK
- invalid SACK and DSACK
- SACK shift
- TCP out of order
- TCP PAWS
- TCP ACK skip
- TCP receive window
- Delayed ACK
- Tail Loss Probe (TLP)
- TCP Fast Open description
- SYN cookies
- Challenge ACK
- prune
- examples
- Checksum Offloads
- Segmentation Offloads
- Scaling in the Linux Networking Stack
- Kernel TLS
- Kernel TLS offload
- In-Kernel TLS Handshake
- Linux NFC subsystem
- Netdev private dataroom for 6lowpan interfaces
- 6pack Protocol
- ARCnet Hardware
- Introduction to ARCnet
- Cabling ARCnet Networks
- Setting the Jumpers
- Unclassified Stuff
- Standard Microsystems Corp (SMC)
- Possibly SMC
- PureData Corp
- CNet Technology Inc. (8-bit cards)
- CNet Technology Inc. (16-bit cards)
- Lantech
- Acer
- Datapoint?
- Topware
- Thomas-Conrad
- Waterloo Microsystems Inc. ??
- No Name
- Tiara
- Other Cards
- ARCnet
- ATM
- AX.25
- Linux Ethernet Bonding Driver HOWTO
- Introduction
- 1. Bonding Driver Installation
- 2. Bonding Driver Options
- 3. Configuring Bonding Devices
- 4 Querying Bonding Configuration
- 5. Switch Configuration
- 6. 802.1q VLAN Support
- 7. Link Monitoring
- 8. Potential Sources of Trouble
- 9. SNMP agents
- 10. Promiscuous mode
- 11. Configuring Bonding for High Availability
- 12. Configuring Bonding for Maximum Throughput
- 13. Switch Behavior Issues
- 14. Hardware Specific Considerations
- 15. Frequently Asked Questions
- 16. Resources and Links
- cdc_mbim - Driver for CDC MBIM Mobile Broadband modems
- DCCP protocol
- DCTCP (DataCenter TCP)
- Device Memory TCP
- DNS Resolver Module
- Softnet Driver Issues
- EQL Driver: Serial IP Load Balancing HOWTO
- LC-trie implementation notes
- Linux Socket Filtering aka Berkeley Packet Filter (BPF)
- Generic HDLC layer
- Generic Netlink
- Netlink Family Specifications
- Family
devlink
netlink specification - Family
dpll
netlink specification - Family
ethtool
netlink specification - Family
fou
netlink specification - Family
handshake
netlink specification - Family
mptcp_pm
netlink specification - Family
net-shaper
netlink specification - Family
netdev
netlink specification - Family
nfsd
netlink specification - Family
nftables
netlink specification - Family
nlctrl
netlink specification - Family
ovs_datapath
netlink specification - Family
ovs_flow
netlink specification - Family
ovs_vport
netlink specification - Family
rt-addr
netlink specification - Family
rt-link
netlink specification - Family
rt-neigh
netlink specification - Family
rt-route
netlink specification - Family
rt-rule
netlink specification - Family
tc
netlink specification - Family
tcp_metrics
netlink specification - Family
team
netlink specification
- Family
- Generic networking statistics for netlink users
- The Linux kernel GTP tunneling module
- Identifier Locator Addressing (ILA)
- IOAM6 Sysfs variables
- IP dynamic address hack-port v0.03
- IPsec
- IP Sysctl
- IPv6
- IPVLAN Driver HOWTO
- IPvs-sysctl
- Kernel Connection Multiplexor
- L2TP
- The Linux LAPB Module Interface
- How to use packet injection with mac80211
- Management Component Transport Protocol (MCTP)
- MPLS Sysfs variables
- Multipath TCP (MPTCP)
- MPTCP Sysfs variables
- HOWTO for multiqueue network device support
- Multi-PF Netdev
- NAPI
- Common Networking Struct Cachelines
- Netconsole
- Netdev features mess and how to get out from it alive
- Network Devices, the Kernel, and You!
- Netfilter Sysfs variables
- NETIF Msg Level
- Resilient Next-hop Groups
- Netfilter Conntrack Sysfs variables
- Netfilter’s flowtable infrastructure
- OPEN Alliance 10BASE-T1x MAC-PHY Serial Interface (TC6) Framework Support
- Open vSwitch datapath developer documentation
- Operational States
- Packet MMAP
- Abstract
- Why use PACKET_MMAP
- How to use mmap() to improve capture process
- How to use mmap() directly to improve capture process
- How to use mmap() directly to improve transmission process
- PACKET_MMAP settings
- PACKET_MMAP setting constraints
- PACKET_MMAP buffer size calculator
- What TPACKET versions are available and when to use them?
- AF_PACKET fanout mode
- AF_PACKET TPACKET_V3 example
- PACKET_QDISC_BYPASS
- PACKET_TIMESTAMP
- Miscellaneous bits
- THANKS
- Linux Phonet protocol family
- PHY link topology
- HOWTO for the linux packet generator
- PLIP: The Parallel Line Internet Protocol Device
- PPP Generic Driver and Channel Interface
- The proc/net/tcp and proc/net/tcp6 variables
- Power Sourcing Equipment (PSE) Documentation
- How to use radiotap headers
- RDS
- Linux wireless regulatory documentation
- Keeping regulatory domains in userspace
- How to get regulatory domains to the kernel
- How to get regulatory domains to the kernel (old CRDA solution)
- Who asks for regulatory domains?
- Example code - drivers hinting an alpha2:
- Example code - drivers providing a built in regulatory domain:
- Statically compiled regulatory database
- Network Function Representors
- RxRPC Network Protocol
- SOCKET OPTIONS
- SECURITY
- EXAMPLE CLIENT USAGE
- Linux Kernel SCTP
- LSM/SeLinux secid
- Seg6 Sysfs variables
- struct sk_buff
- SMC Sysctl
- NIC SR-IOV APIs
- Interface statistics
- Stream Parser (strparser)
- Ethernet switch device driver model (switchdev)
- Sysfs tagging
- TC Actions - Environmental Rules
- TC queue based filtering
- TCP Authentication Option Linux implementation (RFC5925)
- Thin-streams and TCP
- Team
- Timestamping
- Linux Kernel TIPC
- Transparent proxy support
- Universal TUN/TAP device driver
- The UDP-Lite protocol (RFC 3828)
- Virtual Routing and Forwarding (VRF)
- Virtual eXtensible Local Area Networking documentation
- Linux X.25 Project
- X.25 Device Driver Interface
- XFRM device - offloading the IPsec computations
- XFRM proc - /proc/net/xfrm_* files
- XFRM
- XFRM Syscall
- XDP RX Metadata
- AF_XDP TX Metadata