struct iphdr { #if defined(__LITTLE_ENDIAN_BITFIELD)__u8 ihl:4,version:4;#elif defined (__BIG_ENDIAN_BITFIELD)__u8 version:4,ihl:4;#else#error "Please fix <asm/byteorder.h>"#endif__u8 tos;__be16 -tot_len;__be16 -id;__be16 -frag_off;__u8 ttl;__u8 protocol;__be16 -check;__be32 -saddr;__be32 -daddr;};31 0|----|----|------|--|-------------------|---------- |ver |ihl | -tos | -| tot_len ||----|----|------|--|-------------------|| id | frag_off -||---------|---------|-------------------|| ttl |protocol | check | 20 Bytes|---------|---------|-------------------|| saddr ||---------------------------------------|| daddr ||---------------------------------------|----------| &