Linux Kernel Networking [electronic resource] : Implementation and Theory /
Rosen, Rami.author.
Linux Kernel Networking takes you on a guided in-depth tour of the current Linux networking implementation and the theory behind it. Linux kernel networking is a complex topic, so the book won't burden you with topics not directly related to networking. This book will also not overload you with cumbersome line-by-line code walkthroughs not directly related to what you're searching for; you'll find just what you need, with in-depth explanations in each chapter and a quick reference at the end of each chapter. Linux Kernel Networking is the only up-to-date reference guide to understanding how networking is implemented, and it will be indispensable in years to come since so many devices now use Linux or operating systems based on Linux, like Android, and since Linux is so prevalent in the data center arena, including Linux-based virtualization technologies like Xen and KVM.
""Contents at a Glance""; ""Contents""; ""About the Author""; ""About the Technical Reviewer""; ""Acknowledgments""; ""Preface""; ""Chapter 1: Introduction""; ""The Linux Network Stack""; ""The Network Device""; ""New API (NAPI) in Network Devices""; ""Receiving and Transmitting Packets""; ""The Socket Buffer""; ""The Linux Kernel Networking Development Model""; ""Summary""; ""Chapter 2: Netlink Sockets""; ""The Netlink Family""; ""Netlink Sockets Libraries""; ""The sockaddr_nl Structure""; ""Userspace Packages for Controlling TCP/IP Networking""; ""Kernel Netlink Sockets""
""The Netlink Message Header""""NETLINK_ROUTE Messages""; ""Adding and Deleting a Routing Entry in a Routing Table""; ""Generic Netlink Protocol""; ""Creating and Sending Generic Netlink Messages""; ""Socket Monitoring Interface""; ""Summary""; ""Quick Reference""; ""Chapter 3: Internet Control Message Protocol (ICMP)""; ""ICMPv4""; ""ICMPv4 Initialization""; ""ICMPv4 Header""; ""Receiving ICMPv4 Messages""; ""Sending ICMPv4 Messages: â€œDestination Unreachableâ€?""; ""Code 2: ICMP_PROT_UNREACH (Protocol Unreachable)""; ""Code 3: ICMP_PORT_UNREACH (â€œPort Unreachableâ€?)""
""Code 4: ICMP_FRAG_NEEDED""""Code 5: ICMP_SR_FAILED""; ""ICMPv6""; ""ICMPv6 Initialization""; ""ICMPv6 Header""; ""Receiving ICMPv6 Messages""; ""Sending ICMPv6 Messages""; ""Example: Sending â€œHop Limit Time Exceededâ€? ICMPv6 Messages""; ""Example: Sending â€œFragment Reassembly Time Exceededâ€? ICMPv6 Messages""; ""Example: Sending â€œDestination Unreachableâ€?/â€œPort Unreachableâ€? ICMPv6 Messages""; ""Example: Sending â€œFragmentation Neededâ€? ICMPv6 Messages""; ""Example: Sending â€œParameter Problemâ€? ICMPv6 Messages""; ""ICMP Sockets (â€œPing socketsâ€?)""; ""Summary""
""Quick Reference""""Methods""; ""int icmp_rcv(struct sk_buff *skb); ""; ""extern void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info); ""; ""struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb); ""; ""void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info); ""; ""void icmpv6_param_prob(struct sk_buff *skb, u8 code, int pos); ""; ""Tables""; ""procfs entries""; ""sysctl_icmp_echo_ignore_all""; ""sysctl_icmp_echo_ignore_broadcasts""; ""sysctl_icmp_ignore_bogus_error_responses""; ""sysctl_icmp_ratelimit""; ""sysctl_icmp_ratemask""
""sysctl_icmp_errors_use_inbound_ifaddr""""Creating â€œDestination Unreachableâ€? Messages with iptables""; ""Chapter 4: IPv4""; ""IPv4 Header""; ""IPv4 Initialization""; ""Receiving IPv4 Packets""; ""Receiving IPv4 Multicast Packets""; ""IP Options""; ""Timestamp Option""; ""Record Route Option""; ""IP Options and Fragmentation""; ""Building IP Options""; ""Sending IPv4 Packets""; ""Fragmentation""; ""Fast Path""; ""Slow Path""; ""Defragmentation""; ""Forwarding""; ""Summary""; ""Quick Reference""; ""Methods""; ""int ip_queue_xmit(struct sk_buff *skb, struct flowi *fl); ""
""int ip_append_data(struct sock *sk, struct flowi4 *fl4, int getfrag(void *from, char *to, int offset, int len, int odd, str...""
"A Complete, in-depth Reference Guide to Understanding Linux Kernel Networking"--Cover.
Includes index.
Linux Kernel Networking takes you on a guided in-depth tour of the current Linux networking implementation and the theory behind it. Linux kernel networking is a complex topic, so the book won't burden you with topics not directly related to networking. This book will also not overload you with cumbersome line-by-line code walkthroughs not directly related to what you're searching for; you'll find just what you need, with in-depth explanations in each chapter and a quick reference at the end of each chapter. Linux Kernel Networking is the only up-to-date reference guide to understanding how networking is implemented, and it will be indispensable in years to come since so many devices now use Linux or operating systems based on Linux, like Android, and since Linux is so prevalent in the data center arena, including Linux-based virtualization technologies like Xen and KVM.
Linux.
Open source software.
Computer programming.
Software engineering.
Open Source.
Software Engineering/Programming and Operating Systems.