Annotation of embedaddon/libnet/doc/RAWSOCKET.md, revision 1.1.1.1

1.1       misho       1: Raw Socket Non-Sequitur
                      2: =======================
                      3: by Mike D. Schiffman <mike@infonexus.com>
                      4: 
                      5: Raw sockets are horribly non-standard across implementations.  Here is
                      6: an incomplete list of some of the differences (corrections welcomed).
                      7: 
                      8: Solaris, for example, has terrible support for this packet interface.
                      9: Older OpenBSD versions and FreeBSD before 11 versions have the
                     10: `BSD_BYTE_SWAP` issue where the `ip_len` and `ip_frag` fields must be in
                     11: host byte order.  Linux apparently doesn't allow for the injection of
                     12: broadcast IP datagrams.  Whenever complete control over the IP header is
                     13: desired, use the link layer API.
                     14: 
                     15: 
                     16: Linux 2.2+
                     17: ----------
                     18: 
                     19:     IP fragmentation:       performed if packet is larger than MTU
                     20:     IP checksum:            always filled in
                     21:     IP total length:        always filled in
                     22:     IP ID:                  filled in when zero
                     23:     IP source address:      filled in when zero
                     24:     IP destination address: filled in when zero
                     25: 
                     26:     Max packet size before kernel complains: 1500 bytes
                     27: 
                     28: 
                     29: Solaris 2.6+
                     30: ------------
                     31: 
                     32:     IP fragmentation bits:  can't specify 
                     33:     IP fragmentation:       performed if packet is larger than MTU
                     34:     IP DF bit:              always set
                     35:     IP checksum:            always filled in
                     36: 
                     37:     Max packet size before kernel complains: ?
                     38: 
                     39: 
                     40: OpenBSD 2.8+
                     41: ------------
                     42: 
                     43:     IP fragmentation:       performed if packet is larger than MTU
                     44: 
                     45:     Max packet size before kernel complains: 8192 bytes
                     46: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>