Linux Networking Documentation¶
Contents:
- netdev FAQ
- What is netdev?
- How do the changes posted to netdev make their way into Linux?
- How often do changes from these trees make it to the mainline Linus tree?
- So where are we now in this cycle?
- How do I indicate which tree (net vs. net-next) my patch should be in?
- I sent a patch and I’m wondering what happened to it - how can I tell whether it got merged?
- The above only says “Under Review”. How can I find out more?
- I submitted multiple versions of the patch series. Should I directly update patchwork for the previous versions of these patch series?
- I made changes to only a few patches in a patch series should I resend only those changed?
- I submitted multiple versions of a patch series and it looks like a version other than the last one has been accepted, what should I do?
- Are there special rules regarding stable submissions on netdev?
- Is the comment style convention different for the networking content?
- I am working in existing code that has the former comment style and not the latter. Should I submit new code in the former style or the latter?
- I found a bug that might have possible security implications or similar. Should I mail the main netdev maintainer off-list?
- What level of testing is expected before I submit my change?
- How do I post corresponding changes to user space components?
- Can I reproduce the checks from patchwork on my local machine?
- Running all the builds and checks locally is a pain, can I post my patches and have the patchwork bot validate them?
- netdevsim is great, can I extend it for my out-of-tree tests?
- Is netdevsim considered a “user” of an API?
- Any other tips to help ensure my net/net-next patch gets OK’d?
- AF_XDP
- Bare UDP Tunnelling Module Documentation
- batman-adv
- SocketCAN - Controller Area Network
- The UCAN Protocol
- Hardware Device Drivers
- AppleTalk Device Drivers
- Asynchronous Transfer Mode (ATM) Device Drivers
- Cable Modem Device Drivers
- Cellular Modem Device Drivers
- Ethernet Device Drivers
- Fiber Distributed Data Interface (FDDI) Device Drivers
- Amateur Radio Device Drivers
- QLogic QLGE Device Drivers
- Classic WAN Device Drivers
- Wi-Fi Device Drivers
- WWAN Device Drivers
- 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
- Request translation
- IEEE 802.15.4 Developer’s Guide
- 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
- 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)
- Linux DECnet Networking Layer Information
- 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
- Generic networking statistics for netlink users
- The Linux kernel GTP tunneling module
- Identifier Locator Addressing (ILA)
- IOAM6 Sysfs variables
- AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation
- 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
- MPTCP Sysfs variables
- HOWTO for multiqueue network device support
- 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 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
- 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
- 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
- RxRPC Network Protocol
- SOCKET OPTIONS
- SECURITY
- EXAMPLE CLIENT USAGE
- Linux Kernel SCTP
- LSM/SeLinux secid
- Seg6 Sysfs variables
- Interface statistics
- Stream Parser (strparser)
- Ethernet switch device driver model (switchdev)
- Sysfs tagging
- TC Actions - Environmental Rules
- 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
- Packet Layer to Device Driver
- Device Driver to Packet Layer
- Requirements for the device driver
- Linux X.25 Project
- XFRM device - offloading the IPsec computations
- XFRM proc - /proc/net/xfrm_* files
- XFRM
- XFRM Syscall