diff options
author | Joachim Nilsson <troglobit@gmail.com> | 2019-10-15 06:52:03 +0200 |
---|---|---|
committer | Joachim Nilsson <troglobit@gmail.com> | 2019-10-15 06:52:03 +0200 |
commit | 3eb53ad1c2fe171869705f278d38fe579c31ad60 (patch) | |
tree | 90bca2bc860a0ae63661cfccf753878d08a6b593 /doc/RAWSOCKET.md | |
parent | a181ce51915f2e2ee5bf276bb489bfb1de4b3a87 (diff) | |
download | libnet-3eb53ad1c2fe171869705f278d38fe579c31ad60.tar.gz |
doc: Rename and convert Raw socket heads-up to Markdown
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
Diffstat (limited to 'doc/RAWSOCKET.md')
-rw-r--r-- | doc/RAWSOCKET.md | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/doc/RAWSOCKET.md b/doc/RAWSOCKET.md new file mode 100644 index 0000000..f942ab7 --- /dev/null +++ b/doc/RAWSOCKET.md @@ -0,0 +1,46 @@ +Raw Socket Non-Sequitur +======================= +by Mike D. Schiffman <mike@infonexus.com> + +Raw sockets are horribly non-standard across implementations. Here is +an incomplete list of some of the differences (corrections welcomed). + +Solaris, for example, has terrible support for this packet interface. +Older OpenBSD versions and FreeBSD before 11 versions have the +`BSD_BYTE_SWAP` issue where the `ip_len` and `ip_frag` fields must be in +host byte order. Linux apparently doesn't allow for the injection of +broadcast IP datagrams. Whenever complete control over the IP header is +desired, use the link layer API. + + +Linux 2.2+ +---------- + + IP fragmentation: performed if packet is larger than MTU + IP checksum: always filled in + IP total length: always filled in + IP ID: filled in when zero + IP source address: filled in when zero + IP destination address: filled in when zero + + Max packet size before kernel complains: 1500 bytes + + +Solaris 2.6+ +------------ + + IP fragmentation bits: can't specify + IP fragmentation: performed if packet is larger than MTU + IP DF bit: always set + IP checksum: always filled in + + Max packet size before kernel complains: ? + + +OpenBSD 2.8+ +------------ + + IP fragmentation: performed if packet is larger than MTU + + Max packet size before kernel complains: 8192 bytes + |