Linux
Table of Contents
Introduction
A collection of Linux internals, mostly geared towards Computer Networking.
Packet Processing
- Queueing in the Linux Network Stack
- Kernel-bypass techniques for high-speed network packet processing
- Illustrated Guide to Monitoring and Tuning the Linux Networking Stack: Receiving Data
- How Linux processes your network packet
- SYN packet handling in the wild
- Listening to Networks
- The Network Packet’s Diary: A Kernel Journey
- Path of a Packet in the Linux Kernel Stack
- New API (NAPI)
Packet Handling
- Socket
- socket(7) describes the Linux networking socket layer user interface and socket(2) creates an endpoint for communication and returns a file descriptor that refers to that endpoint.
- What the numbers
2
and7
mean: The Linux man-pages project (check ‘intro’ pages)
- What the numbers
- Socket/Address family (
AF_INET
,AF_INET6
, etc.) - Socket type (
SOCK_STREAM
,SOCK_DGRAM
, etc.)
- socket(7) describes the Linux networking socket layer user interface and socket(2) creates an endpoint for communication and returns a file descriptor that refers to that endpoint.
- bind(2)
- recvmsg(2)
- System calls: syscalls(2)
- sysctl(8) system administration command to configure kernel parameters at runtime.
Traffic Control
- tc(8) stands for ‘Traffic Control’ and it shows and manipulates traffic control settings.
NAPI
- NAPI: New Application Programming Interface
- NAPI is a part of the packet processing framework of Linux and provides interrupt mitigation and packet throttling to improve the performance of high-speed networking.
- New API (NAPI)
- What are the advantages NAPI before the IRQ Coalesce?