1 (* Create an IPv4 header.
8 let hdrlen = 5 (* no options *)
10 let length = 64 (* total packet length *)
11 let identification = 0
15 let protocol = 17 (* UDP *)
17 let source = 0xc0a80202_l (* 192.168.2.2 *)
18 let dest = 0xc0a80201_l (* 192.168.2.1 *)
19 let options = Bitstring.empty_bitstring
20 let payload_length = (length - hdrlen*4) * 8
21 let payload = Bitstring.create_bitstring payload_length
25 version : 4; hdrlen : 4; tos : 8; length : 16;
26 identification : 16; flags : 3; fragoffset : 13;
27 ttl : 8; protocol : 8; checksum : 16;
31 Not implemented at the moment XXX
32 options : -1 : bitstring;
33 payload : payload_length : bitstring
37 let () = Bitstring.bitstring_to_file header "ipv4_header_out.dat"