diff options
| author | Michael Tuexen <tuexen@fh-muenster.de> | 2019-05-01 18:44:30 +0200 |
|---|---|---|
| committer | Michael Tüxen <tuexen@fh-muenster.de> | 2019-05-01 19:27:45 +0200 |
| commit | 7516d9fa9301d2dfa5beaf49d93563f8048694aa (patch) | |
| tree | d7d5eb9b4c2beef37660e4cd809bf17da8ec3c43 | |
| parent | 618456b4f4f74528ac6b9d709b1870d0e1d70eb2 (diff) | |
sys/freebsd: add support for various network protocols
Add support for Ethernet, IPv4, ICMP, IPv6, ICMP6, TCP, and UDP.
This work is based on the corresponding Linux support.
| -rw-r--r-- | executor/defs.h | 2 | ||||
| -rw-r--r-- | sys/freebsd/gen/amd64.go | 1130 | ||||
| -rw-r--r-- | sys/freebsd/vnet.txt | 913 | ||||
| -rw-r--r-- | sys/freebsd/vnet_amd64.const | 425 |
4 files changed, 2461 insertions, 9 deletions
diff --git a/executor/defs.h b/executor/defs.h index 4262de67f..f183b7110 100644 --- a/executor/defs.h +++ b/executor/defs.h @@ -20,7 +20,7 @@ #if GOARCH_amd64 #define GOARCH "amd64" -#define SYZ_REVISION "4b5db889742657ae7fe970feaa45dbf6b13e405b" +#define SYZ_REVISION "e540c106993372e0b27ed5e2d9ec82c4eed76447" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 diff --git a/sys/freebsd/gen/amd64.go b/sys/freebsd/gen/amd64.go index 6322b3459..2fc056343 100644 --- a/sys/freebsd/gen/amd64.go +++ b/sys/freebsd/gen/amd64.go @@ -50,6 +50,32 @@ var structDescs_amd64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "af_name", TypeSize: 16, ArgDir: 1}, Kind: 2, SubKind: "accept_filter_names", Values: []string{"accf_data\x00\x00\x00\x00\x00\x00\x00", "accf_dns\x00\x00\x00\x00\x00\x00\x00\x00", "accf_http\x00\x00\x00\x00\x00\x00\x00"}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "af_arg", TypeSize: 240, ArgDir: 1}, Kind: 1, RangeBegin: 240, RangeEnd: 240}, }}}, + {Key: StructKey{Name: "arp_ether_ipv4_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "arp_ether_ipv4_packet", TypeSize: 28}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ar_hrd", TypeSize: 2}, ArgFormat: 1}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ar_pro", TypeSize: 2}, ArgFormat: 1}, Val: 2048}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ar_hln", TypeSize: 1}}, Val: 6}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ar_pln", TypeSize: 1}}, Val: 4}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "arp_ops", FldName: "ar_op", TypeSize: 2}, ArgFormat: 1}, Vals: []uint64{1, 2, 3, 4, 8, 9}}, + &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "ar_sha"}, + &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "ar_spa"}, + &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "ar_tha"}, + &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "ar_tpa"}, + }}}, + {Key: StructKey{Name: "arp_generic_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "arp_generic_packet", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "arp_hrds", FldName: "ar_hrd", TypeSize: 2}, ArgFormat: 1}, Vals: []uint64{1, 6, 15, 24, 32}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ether_types", FldName: "ar_pro", TypeSize: 2}, ArgFormat: 1}, Vals: []uint64{4, 512, 512, 1280, 1536, 1537, 1632, 1633, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2304, 2560, 2561, 2989, 2990, 2991, 4660, 5632, 6537, 6549, 15360, 15361, 15362, 15363, 15364, 15365, 15366, 15367, 15368, 15369, 15370, 15371, 15372, 15373, 16962, 16972, 17185, 19522, 21000, 24576, 24577, 24578, 24579, 24580, 24581, 24582, 24583, 24584, 24585, 25944, 25945, 28672, 28673, 28674, 28675, 28677, 28679, 28681, 28720, 28721, 28724, 32771, 32772, 32773, 32774, 32776, 32784, 32787, 32788, 32789, 32790, 32793, 32814, 32815, 32821, 32822, 32823, 32824, 32825, 32826, 32827, 32828, 32829, 32830, 32831, 32832, 32833, 32836, 32840, 32841, 32859, 32860, 32861, 32864, 32866, 32871, 32872, 32873, 32874, 32876, 32877, 32890, 32891, 32892, 32896, 32923, 32927, 32966, 32967, 32981, 32989, 33010, 33011, 33015, 33024, 33026, 33027, 33067, 33072, 33072, 33073, 33079, 33080, 33087, 33093, 33094, 33095, 33096, 33097, 33098, 33100, 33103, 33104, 33149, 33150, 33152, 33153, 33165, 33169, 33680, 34091, 34178, 34523, 34525, 34526, 34527, 34617, 34618, 34667, 34668, 34669, 34824, 34825, 34827, 34848, 34850, 34887, 34888, 34902, 34915, 34916, 34952, 34958, 34984, 36864, 36865, 36866, 36867, 43690, 64245, 65280}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ar_hln", TypeSize: 1}}, Val: 6}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "ar_pln", TypeSize: 1}}, Buf: "ar_spa"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "arp_ops", FldName: "ar_op", TypeSize: 2}, ArgFormat: 1}, Vals: []uint64{1, 2, 3, 4, 8, 9}}, + &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "ar_sha"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "ar_spa", IsVarlen: true}, Kind: 1, RangeEnd: 16}, + &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "ar_tha"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "ar_tpa", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "arp_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "arp_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "arp_generic_packet"}, FldName: "generic"}, + &StructType{Key: StructKey{Name: "arp_ether_ipv4_packet"}, FldName: "ether_ipv4"}, + }}}, {Key: StructKey{Name: "cmsghdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "cmsg_len", TypeSize: 8}}, Buf: "parent"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "cmsg_levels", FldName: "cmsg_level", TypeSize: 4}}, Vals: []uint64{65535, 0, 41, 1, 58, 132, 6, 17, 136}}, @@ -127,6 +153,37 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "fds", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}, }, AlignAttr: 8}}, + {Key: StructKey{Name: "eth2_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "eth2_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "eth2_packet_generic"}, FldName: "generic"}, + &StructType{Key: StructKey{Name: "eth2_packet_t[ETHERTYPE_ARP, arp_packet]"}, FldName: "arp"}, + &StructType{Key: StructKey{Name: "eth2_packet_t[ETHERTYPE_IP, ipv4_packet]"}, FldName: "ipv4"}, + &StructType{Key: StructKey{Name: "eth2_packet_t[ETHERTYPE_IPV6, ipv6_packet]"}, FldName: "ipv6"}, + }}}, + {Key: StructKey{Name: "eth2_packet_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "eth2_packet_generic", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ether_types", FldName: "etype", TypeSize: 2}, ArgFormat: 1}, Vals: []uint64{4, 512, 512, 1280, 1536, 1537, 1632, 1633, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2304, 2560, 2561, 2989, 2990, 2991, 4660, 5632, 6537, 6549, 15360, 15361, 15362, 15363, 15364, 15365, 15366, 15367, 15368, 15369, 15370, 15371, 15372, 15373, 16962, 16972, 17185, 19522, 21000, 24576, 24577, 24578, 24579, 24580, 24581, 24582, 24583, 24584, 24585, 25944, 25945, 28672, 28673, 28674, 28675, 28677, 28679, 28681, 28720, 28721, 28724, 32771, 32772, 32773, 32774, 32776, 32784, 32787, 32788, 32789, 32790, 32793, 32814, 32815, 32821, 32822, 32823, 32824, 32825, 32826, 32827, 32828, 32829, 32830, 32831, 32832, 32833, 32836, 32840, 32841, 32859, 32860, 32861, 32864, 32866, 32871, 32872, 32873, 32874, 32876, 32877, 32890, 32891, 32892, 32896, 32923, 32927, 32966, 32967, 32981, 32989, 33010, 33011, 33015, 33024, 33026, 33027, 33067, 33072, 33072, 33073, 33079, 33080, 33087, 33093, 33094, 33095, 33096, 33097, 33098, 33100, 33103, 33104, 33149, 33150, 33152, 33153, 33165, 33169, 33680, 34091, 34178, 34523, 34525, 34526, 34527, 34617, 34618, 34667, 34668, 34669, 34824, 34825, 34827, 34848, 34850, 34887, 34888, 34902, 34915, 34916, 34952, 34958, 34984, 36864, 36865, 36866, 36867, 43690, 64245, 65280}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", IsVarlen: true}}, + }}}, + {Key: StructKey{Name: "eth2_packet_t[ETHERTYPE_ARP, arp_packet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "eth2_packet_t[ETHERTYPE_ARP, arp_packet]", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "etype", TypeSize: 2}, ArgFormat: 1}, Val: 2054}, + &UnionType{Key: StructKey{Name: "arp_packet"}, FldName: "payload"}, + }}}, + {Key: StructKey{Name: "eth2_packet_t[ETHERTYPE_IP, ipv4_packet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "eth2_packet_t[ETHERTYPE_IP, ipv4_packet]", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "etype", TypeSize: 2}, ArgFormat: 1}, Val: 2048}, + &StructType{Key: StructKey{Name: "ipv4_packet"}, FldName: "payload"}, + }}}, + {Key: StructKey{Name: "eth2_packet_t[ETHERTYPE_IPV6, ipv6_packet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "eth2_packet_t[ETHERTYPE_IPV6, ipv6_packet]", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "etype", TypeSize: 2}, ArgFormat: 1}, Val: 34525}, + &StructType{Key: StructKey{Name: "ipv6_packet"}, FldName: "payload"}, + }}}, + {Key: StructKey{Name: "eth_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "eth_packet", IsVarlen: true}, Fields: []Type{ + &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "dst_mac"}, + &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "src_mac"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "vtag", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "vlan_tag"}}, Kind: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "eth_payload"}, FldName: "payload"}, + }}}, + {Key: StructKey{Name: "eth_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "eth_payload", IsVarlen: true}, Fields: []Type{ + &UnionType{Key: StructKey{Name: "eth2_packet"}, FldName: "eth2"}, + }}}, {Key: StructKey{Name: "fd_set", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fd_set", TypeSize: 64, ArgDir: 2}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "mask0", TypeSize: 8, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "mask1", TypeSize: 8, ArgDir: 2}}}, @@ -191,6 +248,289 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_group"}, &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_source"}, }}}, + {Key: StructKey{Name: "icmp_dest_unreach_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_dest_unreach_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 3}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmp_dest_unreach_codes", FldName: "code", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "unused", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "length", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "mtu", TypeSize: 2}, ArgFormat: 1}}, + &StructType{Key: StructKey{Name: "icmp_ipv4_header"}, FldName: "iph"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 8}, + }}}, + {Key: StructKey{Name: "icmp_echo_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_echo_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 8}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "id", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "seq_num", TypeSize: 2}, ArgFormat: 1}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, + }}}, + {Key: StructKey{Name: "icmp_echo_reply_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_echo_reply_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "id", TypeSize: 2}, ArgFormat: 1}, Kind: 2, RangeBegin: 100, RangeEnd: 104}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "seq_num", TypeSize: 2}, ArgFormat: 1}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, + }}}, + {Key: StructKey{Name: "icmp_generic_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_generic_packet", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmp_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 30, 31, 32, 33, 34, 35, 36, 39, 40}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, + }}}, + {Key: StructKey{Name: "icmp_info_reply_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_info_reply_packet", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 16}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "id", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "seq_num", TypeSize: 2}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "icmp_info_request_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_info_request_packet", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 15}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "id", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "seq_num", TypeSize: 2}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "icmp_ipv4_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_ipv4_header", IsVarlen: true}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "ihl", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, BitSize: 32, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ecn", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dscp", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 6}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "total_len", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "id", TypeSize: 2}, ArgFormat: 1}, Kind: 2, RangeBegin: 100, RangeEnd: 104}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "frag_off", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ttl", TypeSize: 1}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv4_types", FldName: "protocol", TypeSize: 1}}, Vals: []uint64{1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 108, 108, 135, 136, 139, 140, 103, 112, 113, 137, 240}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "csum", TypeSize: 2}, ArgFormat: 1}}, + &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "src_ip"}, + &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "dst_ip"}, + &StructType{Key: StructKey{Name: "ipv4_options"}, FldName: "options"}, + }}}, + {Key: StructKey{Name: "icmp_mask_reply_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_mask_reply_packet", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 18}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "mask", TypeSize: 4}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "icmp_mask_request_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_mask_request_packet", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 17}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "mask", TypeSize: 4}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "icmp_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "icmp_generic_packet"}, FldName: "generic"}, + &StructType{Key: StructKey{Name: "icmp_echo_reply_packet"}, FldName: "echo_reply"}, + &StructType{Key: StructKey{Name: "icmp_dest_unreach_packet"}, FldName: "dest_unreach"}, + &StructType{Key: StructKey{Name: "icmp_source_quench_packet"}, FldName: "source_quench"}, + &StructType{Key: StructKey{Name: "icmp_redirect_packet"}, FldName: "redirect"}, + &StructType{Key: StructKey{Name: "icmp_echo_packet"}, FldName: "echo"}, + &StructType{Key: StructKey{Name: "icmp_time_exceeded_packet"}, FldName: "time_exceeded"}, + &StructType{Key: StructKey{Name: "icmp_parameter_prob_packet"}, FldName: "parameter_prob"}, + &StructType{Key: StructKey{Name: "icmp_timestamp_packet"}, FldName: "timestamp"}, + &StructType{Key: StructKey{Name: "icmp_timestamp_reply_packet"}, FldName: "timestamp_reply"}, + &StructType{Key: StructKey{Name: "icmp_info_request_packet"}, FldName: "info_request"}, + &StructType{Key: StructKey{Name: "icmp_info_reply_packet"}, FldName: "info_reply"}, + &StructType{Key: StructKey{Name: "icmp_mask_request_packet"}, FldName: "mask_request"}, + &StructType{Key: StructKey{Name: "icmp_mask_reply_packet"}, FldName: "mask_reply"}, + }}}, + {Key: StructKey{Name: "icmp_parameter_prob_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_parameter_prob_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 12}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmp_parameter_prob_codes", FldName: "code", TypeSize: 1}}, Vals: []uint64{0, 1, 2}, BitMask: true}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "pointer", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "length", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "unused", TypeSize: 2}}}, + &StructType{Key: StructKey{Name: "icmp_ipv4_header"}, FldName: "iph"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 8}, + }}}, + {Key: StructKey{Name: "icmp_redirect_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_redirect_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 5}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmp_redirect_codes", FldName: "code", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "ip"}, + &StructType{Key: StructKey{Name: "icmp_ipv4_header"}, FldName: "iph"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 8}, + }}}, + {Key: StructKey{Name: "icmp_source_quench_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_source_quench_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "unused", TypeSize: 4}}}, + &StructType{Key: StructKey{Name: "icmp_ipv4_header"}, FldName: "iph"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 8}, + }}}, + {Key: StructKey{Name: "icmp_time_exceeded_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_time_exceeded_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 11}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmp_time_exceeded_codes", FldName: "code", TypeSize: 1}}, Vals: []uint64{0, 1}, BitMask: true}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "unused1", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "length", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "unused2", TypeSize: 2}}}, + &StructType{Key: StructKey{Name: "icmp_ipv4_header"}, FldName: "iph"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 8}, + }}}, + {Key: StructKey{Name: "icmp_timestamp_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_timestamp_packet", TypeSize: 20}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "id", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "seq_num", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "orig_ts", TypeSize: 4}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "recv_ts", TypeSize: 4}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "trans_ts", TypeSize: 4}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "icmp_timestamp_reply_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmp_timestamp_reply_packet", TypeSize: 20}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 14}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "id", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "seq_num", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "orig_ts", TypeSize: 4}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "recv_ts", TypeSize: 4}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "trans_ts", TypeSize: 4}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "icmpv6_dest_unreach_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_dest_unreach_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmpv6_dest_unreach_codes", FldName: "code", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 2, 3, 4, 5, 6, 7}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "length", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unused", TypeSize: 3}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 3, RangeEnd: 3}, + &StructType{Key: StructKey{Name: "icmpv6_ipv6_packet"}, FldName: "packet"}, + }}}, + {Key: StructKey{Name: "icmpv6_echo_reply_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_echo_reply_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 129}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "id", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "seq_num", TypeSize: 2}, ArgFormat: 1}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, + }}}, + {Key: StructKey{Name: "icmpv6_echo_request_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_echo_request_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 128}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "id", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "seq_num", TypeSize: 2}, ArgFormat: 1}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, + }}}, + {Key: StructKey{Name: "icmpv6_ipv6_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_ipv6_packet", IsVarlen: true}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "priority", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 6}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "flow_label", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "length", TypeSize: 2}, ArgFormat: 1}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 108, 108, 135, 136, 139, 140, 103, 112, 113, 137, 240}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "hop_limit", TypeSize: 1}}}, + &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "src_ip"}, + &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "dst_ip"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "ext_headers", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_ext_header"}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, + }}}, + {Key: StructKey{Name: "icmpv6_mld_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_mld_packet", TypeSize: 24}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmpv6_mld_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{130, 131, 132}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "mrd", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "unused", TypeSize: 2}}}, + &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "addr"}, + }}}, + {Key: StructKey{Name: "icmpv6_ndisc_neigh_advert_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_ndisc_neigh_advert_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 136}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "neighbor_flags", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unused", TypeSize: 3}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 3, RangeEnd: 3}, + &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "target_addr"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "icmpv6_ndisc_option"}}}, + }}}, + {Key: StructKey{Name: "icmpv6_ndisc_neigh_solicit_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_ndisc_neigh_solicit_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 135}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "target_addr"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "icmpv6_ndisc_option"}}}, + }}}, + {Key: StructKey{Name: "icmpv6_ndisc_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_ndisc_option", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmpv6_ndisc_option_types", FldName: "option_type", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 14, 24, 25, 31}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "parent"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, + }}}, + {Key: StructKey{Name: "icmpv6_ndisc_redir_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_ndisc_redir_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 137}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unused", TypeSize: 4}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 4, RangeEnd: 4}, + &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "target_addr"}, + &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "dst_addr"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "icmpv6_ndisc_option"}}}, + }}}, + {Key: StructKey{Name: "icmpv6_ndisc_router_advert_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_ndisc_router_advert_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 134}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "cur_hop_limit", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "router_flags", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "router_lifetime", TypeSize: 2}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "reachable_time", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "retrans_time", TypeSize: 4}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "icmpv6_ndisc_option"}}}, + }}}, + {Key: StructKey{Name: "icmpv6_ndisc_router_solicit_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_ndisc_router_solicit_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 133}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unused", TypeSize: 4}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 4, RangeEnd: 4}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "icmpv6_ndisc_option"}}}, + }}}, + {Key: StructKey{Name: "icmpv6_ni_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_ni_packet", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmpv6_ni_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{139, 140}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "qtype", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "flags", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64be", FldName: "nonce", TypeSize: 8}, ArgFormat: 1}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, + }}}, + {Key: StructKey{Name: "icmpv6_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "icmpv6_dest_unreach_packet"}, FldName: "dest_unreach"}, + &StructType{Key: StructKey{Name: "icmpv6_pkt_toobig_packet"}, FldName: "pkt_toobig"}, + &StructType{Key: StructKey{Name: "icmpv6_time_exceed_packet"}, FldName: "time_exceed"}, + &StructType{Key: StructKey{Name: "icmpv6_param_prob_packet"}, FldName: "param_prob"}, + &StructType{Key: StructKey{Name: "icmpv6_echo_request_packet"}, FldName: "echo_request"}, + &StructType{Key: StructKey{Name: "icmpv6_echo_reply_packet"}, FldName: "echo_reply"}, + &StructType{Key: StructKey{Name: "icmpv6_mld_packet"}, FldName: "mld"}, + &StructType{Key: StructKey{Name: "icmpv6_ni_packet"}, FldName: "ni"}, + &StructType{Key: StructKey{Name: "icmpv6_ndisc_router_solicit_packet"}, FldName: "ndisc_rs"}, + &StructType{Key: StructKey{Name: "icmpv6_ndisc_router_advert_packet"}, FldName: "ndisc_ra"}, + &StructType{Key: StructKey{Name: "icmpv6_ndisc_neigh_advert_packet"}, FldName: "ndisc_na"}, + &StructType{Key: StructKey{Name: "icmpv6_ndisc_neigh_solicit_packet"}, FldName: "ndisc_ns"}, + &StructType{Key: StructKey{Name: "icmpv6_ndisc_redir_packet"}, FldName: "ndisc_redir"}, + }}}, + {Key: StructKey{Name: "icmpv6_param_prob_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_param_prob_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmpv6_param_prob_codes", FldName: "code", TypeSize: 1}}, Vals: []uint64{0, 1, 2}, BitMask: true}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "pointer", TypeSize: 4}, ArgFormat: 1}}, + &StructType{Key: StructKey{Name: "icmpv6_ipv6_packet"}, FldName: "packet"}, + }}}, + {Key: StructKey{Name: "icmpv6_pkt_toobig_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_pkt_toobig_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "mtu", TypeSize: 4}, ArgFormat: 1}}, + &StructType{Key: StructKey{Name: "icmpv6_ipv6_packet"}, FldName: "packet"}, + }}}, + {Key: StructKey{Name: "icmpv6_time_exceed_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "icmpv6_time_exceed_packet", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 3}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "icmpv6_time_exceed_codes", FldName: "code", TypeSize: 1}}, Vals: []uint64{0, 1}, BitMask: true}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 58}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "length", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unused", TypeSize: 3}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 3, RangeEnd: 3}, + &StructType{Key: StructKey{Name: "icmpv6_ipv6_packet"}, FldName: "packet"}, + }}}, {Key: StructKey{Name: "in6_pktinfo"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "in6_pktinfo", TypeSize: 20}, Fields: []Type{ &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "ipi6_addr"}, &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ipi6_ifindex", TypeSize: 4}}, @@ -317,23 +657,119 @@ var structDescs_amd64 = []*KeyedStruct{ &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "a2", TypeSize: 1, ArgDir: 2}}, ValuesPerProc: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a3", TypeSize: 1, ArgDir: 2}}, Val: 187}, }}}, + {Key: StructKey{Name: "ipv4_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_header", IsVarlen: true}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "ihl", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, BitSize: 32, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ecn", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dscp", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 6}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "total_len", TypeSize: 2}, ArgFormat: 1}, Buf: "ipv4_packet"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "id", TypeSize: 2}, ArgFormat: 1}, Kind: 2, RangeBegin: 100, RangeEnd: 104}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "frag_off", TypeSize: 2}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ttl", TypeSize: 1}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv4_types", FldName: "protocol", TypeSize: 1}}, Vals: []uint64{1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 108, 108, 135, 136, 139, 140, 103, 112, 113, 137, 240}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "src_ip"}, + &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "dst_ip"}, + &StructType{Key: StructKey{Name: "ipv4_options"}, FldName: "options"}, + }}}, + {Key: StructKey{Name: "ipv4_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_option", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "ipv4_option_generic"}, FldName: "generic"}, + &StructType{Key: StructKey{Name: "ipv4_option_end"}, FldName: "end"}, + &StructType{Key: StructKey{Name: "ipv4_option_noop"}, FldName: "noop"}, + &StructType{Key: StructKey{Name: "ipv4_option_lsrr"}, FldName: "lsrr"}, + &StructType{Key: StructKey{Name: "ipv4_option_ssrr"}, FldName: "ssrr"}, + &StructType{Key: StructKey{Name: "ipv4_option_rr"}, FldName: "rr"}, + &StructType{Key: StructKey{Name: "ipv4_option_timestamp"}, FldName: "timestamp"}, + &StructType{Key: StructKey{Name: "ipv4_option_ra"}, FldName: "ra"}, + }}}, + {Key: StructKey{Name: "ipv4_option_end"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_option_end", TypeSize: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "ipv4_option_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_option_generic", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv4_option_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 1, 7, 68, 130, 131, 133, 134, 136, 137, 148}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "ipv4_option_lsrr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_option_lsrr", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 131}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "pointer", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv4_addr"}}}, + }}}, + {Key: StructKey{Name: "ipv4_option_noop"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_option_noop", TypeSize: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + }}}, + {Key: StructKey{Name: "ipv4_option_ra"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_option_ra", TypeSize: 6}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 148}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "value", TypeSize: 4}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "ipv4_option_rr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_option_rr", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 7}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "pointer", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv4_addr"}}}, + }}}, + {Key: StructKey{Name: "ipv4_option_ssrr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_option_ssrr", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 137}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "pointer", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv4_addr"}}}, + }}}, + {Key: StructKey{Name: "ipv4_option_timestamp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_option_timestamp", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 68}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "pointer", TypeSize: 1}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv4_option_timestamp_flags", FldName: "flg", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 3}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "oflw", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "timestamps", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "ipv4_option_timestamp_timestamp"}}}, + }}}, + {Key: StructKey{Name: "ipv4_option_timestamp_timestamp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_option_timestamp_timestamp", IsVarlen: true}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "addr", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv4_addr"}}, Kind: 1, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "timestamp", TypeSize: 4}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "ipv4_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_options", IsVarlen: true}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv4_option"}}}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "ipv4_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "ipv4_header"}, FldName: "header"}, + &UnionType{Key: StructKey{Name: "ipv4_payload"}, FldName: "payload"}, + }}}, + {Key: StructKey{Name: "ipv4_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv4_payload", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "generic", IsVarlen: true}}, + &StructType{Key: StructKey{Name: "tcp_packet"}, FldName: "tcp"}, + &StructType{Key: StructKey{Name: "udp_packet"}, FldName: "udp"}, + &UnionType{Key: StructKey{Name: "icmp_packet"}, FldName: "icmp"}, + }}}, {Key: StructKey{Name: "ipv6_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr", TypeSize: 16}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "rand_addr", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, &StructType{Key: StructKey{Name: "ipv6_addr_empty"}, FldName: "empty"}, &StructType{Key: StructKey{Name: "ipv6_addr_local"}, FldName: "local"}, &StructType{Key: StructKey{Name: "ipv6_addr_remote"}, FldName: "remote"}, &StructType{Key: StructKey{Name: "ipv6_addr_loopback"}, FldName: "loopback"}, + &StructType{Key: StructKey{Name: "ipv6_addr_ipv4"}, FldName: "ipv4"}, + &StructType{Key: StructKey{Name: "ipv6_addr_multicast1"}, FldName: "mcast1"}, + &StructType{Key: StructKey{Name: "ipv6_addr_multicast2"}, FldName: "mcast2"}, }}}, {Key: StructKey{Name: "ipv6_addr", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr", TypeSize: 16, ArgDir: 1}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "rand_addr", TypeSize: 16, ArgDir: 1}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, &StructType{Key: StructKey{Name: "ipv6_addr_empty", Dir: 1}, FldName: "empty"}, &StructType{Key: StructKey{Name: "ipv6_addr_local", Dir: 1}, FldName: "local"}, &StructType{Key: StructKey{Name: "ipv6_addr_remote", Dir: 1}, FldName: "remote"}, &StructType{Key: StructKey{Name: "ipv6_addr_loopback", Dir: 1}, FldName: "loopback"}, + &StructType{Key: StructKey{Name: "ipv6_addr_ipv4", Dir: 1}, FldName: "ipv4"}, + &StructType{Key: StructKey{Name: "ipv6_addr_multicast1", Dir: 1}, FldName: "mcast1"}, + &StructType{Key: StructKey{Name: "ipv6_addr_multicast2", Dir: 1}, FldName: "mcast2"}, }}}, {Key: StructKey{Name: "ipv6_addr", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr", TypeSize: 16, ArgDir: 2}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "rand_addr", TypeSize: 16, ArgDir: 2}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, &StructType{Key: StructKey{Name: "ipv6_addr_empty", Dir: 2}, FldName: "empty"}, &StructType{Key: StructKey{Name: "ipv6_addr_local", Dir: 2}, FldName: "local"}, &StructType{Key: StructKey{Name: "ipv6_addr_remote", Dir: 2}, FldName: "remote"}, &StructType{Key: StructKey{Name: "ipv6_addr_loopback", Dir: 2}, FldName: "loopback"}, + &StructType{Key: StructKey{Name: "ipv6_addr_ipv4", Dir: 2}, FldName: "ipv4"}, + &StructType{Key: StructKey{Name: "ipv6_addr_multicast1", Dir: 2}, FldName: "mcast1"}, + &StructType{Key: StructKey{Name: "ipv6_addr_multicast2", Dir: 2}, FldName: "mcast2"}, }}}, {Key: StructKey{Name: "ipv6_addr_empty"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_empty", TypeSize: 16}, Fields: []Type{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a0", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, @@ -344,6 +780,21 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "ipv6_addr_empty", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_empty", TypeSize: 16, ArgDir: 2}, Fields: []Type{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a0", TypeSize: 16, ArgDir: 2}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1, ArgDir: 2}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, }}}, + {Key: StructKey{Name: "ipv6_addr_ipv4"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_ipv4", TypeSize: 16}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a0", TypeSize: 10}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 10, RangeEnd: 10}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a1", TypeSize: 2}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}, Val: 255}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "a3"}, + }}}, + {Key: StructKey{Name: "ipv6_addr_ipv4", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_ipv4", TypeSize: 16, ArgDir: 1}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a0", TypeSize: 10, ArgDir: 1}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1, ArgDir: 1}}}, Kind: 1, RangeBegin: 10, RangeEnd: 10}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a1", TypeSize: 2, ArgDir: 1}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1, ArgDir: 1}}, Val: 255}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + &UnionType{Key: StructKey{Name: "ipv4_addr", Dir: 1}, FldName: "a3"}, + }}}, + {Key: StructKey{Name: "ipv6_addr_ipv4", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_ipv4", TypeSize: 16, ArgDir: 2}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a0", TypeSize: 10, ArgDir: 2}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1, ArgDir: 2}}}, Kind: 1, RangeBegin: 10, RangeEnd: 10}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a1", TypeSize: 2, ArgDir: 2}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1, ArgDir: 2}}, Val: 255}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + &UnionType{Key: StructKey{Name: "ipv4_addr", Dir: 2}, FldName: "a3"}, + }}}, {Key: StructKey{Name: "ipv6_addr_local"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_local", TypeSize: 16}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a0", TypeSize: 1}}, Val: 254}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 1}}, Val: 128}, @@ -377,6 +828,42 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a0", TypeSize: 8, ArgDir: 2}, ArgFormat: 1}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 8, ArgDir: 2}, ArgFormat: 1}, Val: 1}, }}}, + {Key: StructKey{Name: "ipv6_addr_multicast1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_multicast1", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a0", TypeSize: 1}}, Val: 255}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 1}}, Val: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a2", TypeSize: 13}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 13, RangeEnd: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a3", TypeSize: 1}}, Val: 1}, + }}}, + {Key: StructKey{Name: "ipv6_addr_multicast1", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_multicast1", TypeSize: 16, ArgDir: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a0", TypeSize: 1, ArgDir: 1}}, Val: 255}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 1, ArgDir: 1}}, Val: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a2", TypeSize: 13, ArgDir: 1}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1, ArgDir: 1}}}, Kind: 1, RangeBegin: 13, RangeEnd: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a3", TypeSize: 1, ArgDir: 1}}, Val: 1}, + }}}, + {Key: StructKey{Name: "ipv6_addr_multicast1", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_multicast1", TypeSize: 16, ArgDir: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a0", TypeSize: 1, ArgDir: 2}}, Val: 255}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 1, ArgDir: 2}}, Val: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a2", TypeSize: 13, ArgDir: 2}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1, ArgDir: 2}}}, Kind: 1, RangeBegin: 13, RangeEnd: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a3", TypeSize: 1, ArgDir: 2}}, Val: 1}, + }}}, + {Key: StructKey{Name: "ipv6_addr_multicast2"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_multicast2", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a0", TypeSize: 1}}, Val: 255}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 1}}, Val: 2}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a2", TypeSize: 13}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 13, RangeEnd: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a3", TypeSize: 1}}, Val: 1}, + }}}, + {Key: StructKey{Name: "ipv6_addr_multicast2", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_multicast2", TypeSize: 16, ArgDir: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a0", TypeSize: 1, ArgDir: 1}}, Val: 255}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 1, ArgDir: 1}}, Val: 2}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a2", TypeSize: 13, ArgDir: 1}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1, ArgDir: 1}}}, Kind: 1, RangeBegin: 13, RangeEnd: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a3", TypeSize: 1, ArgDir: 1}}, Val: 1}, + }}}, + {Key: StructKey{Name: "ipv6_addr_multicast2", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_multicast2", TypeSize: 16, ArgDir: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a0", TypeSize: 1, ArgDir: 2}}, Val: 255}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 1, ArgDir: 2}}, Val: 2}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a2", TypeSize: 13, ArgDir: 2}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1, ArgDir: 2}}}, Kind: 1, RangeBegin: 13, RangeEnd: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a3", TypeSize: 1, ArgDir: 2}}, Val: 1}, + }}}, {Key: StructKey{Name: "ipv6_addr_remote"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_addr_remote", TypeSize: 16}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a0", TypeSize: 1}}, Val: 254}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 1}}, Val: 128}, @@ -398,6 +885,100 @@ var structDescs_amd64 = []*KeyedStruct{ &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "a3", TypeSize: 1, ArgDir: 2}}, ValuesPerProc: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a4", TypeSize: 1, ArgDir: 2}}, Val: 187}, }}}, + {Key: StructKey{Name: "ipv6_dstopts_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_dstopts_ext_header", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 108, 108, 135, 136, 139, 140, 103, 112, 113, 137, 240}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "options"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}}, + }, AlignAttr: 8}}, + {Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"}, + &StructType{Key: StructKey{Name: "ipv6_rt_hdr"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_fragment_ext_header"}, FldName: "fragment"}, + &StructType{Key: StructKey{Name: "ipv6_dstopts_ext_header"}, FldName: "dstopts"}, + }}}, + {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 108, 108, 135, 136, 139, 140, 103, 112, 113, 137, 240}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "m_flag", TypeSize: 1}, BitfieldLen: 1, BitfieldMdl: true}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_lo", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 5}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "identification", TypeSize: 4}}, Kind: 2, RangeBegin: 100, RangeEnd: 104}, + }, AlignAttr: 8}}, + {Key: StructKey{Name: "ipv6_hopots_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_hopots_ext_header", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 108, 108, 135, 136, 139, 140, 103, 112, 113, 137, 240}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "options"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}}, + }, AlignAttr: 8}}, + {Key: StructKey{Name: "ipv6_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_packet", IsVarlen: true}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "priority", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 6}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "flow_label", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, ArgFormat: 1}, Buf: "payload"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 108, 108, 135, 136, 139, 140, 103, 112, 113, 137, 240}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "hop_limit", TypeSize: 1}}}, + &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "src_ip"}, + &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "dst_ip"}, + &StructType{Key: StructKey{Name: "ipv6_packet_payload"}, FldName: "payload"}, + }}}, + {Key: StructKey{Name: "ipv6_packet_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_packet_payload", IsVarlen: true}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "ext_headers", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_ext_header"}}}, + &UnionType{Key: StructKey{Name: "ipv6_payload"}, FldName: "payload"}, + }}}, + {Key: StructKey{Name: "ipv6_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_payload", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "generic", IsVarlen: true}}, + &StructType{Key: StructKey{Name: "tcp_packet"}, FldName: "tcp"}, + &StructType{Key: StructKey{Name: "udp_packet"}, FldName: "udp"}, + &UnionType{Key: StructKey{Name: "icmpv6_packet"}, FldName: "icmpv6"}, + }}}, + {Key: StructKey{Name: "ipv6_rt_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_rt_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 108, 108, 135, 136, 139, 140, 103, 112, 113, 137, 240}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "data"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{0, 1, 0}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "segments_left", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, + }, AlignAttr: 8}}, + {Key: StructKey{Name: "ipv6_tlv_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_generic", IsVarlen: true}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "data"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, + }}}, + {Key: StructKey{Name: "ipv6_tlv_jumbo"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_jumbo", TypeSize: 6}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 194}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "pkt_len", TypeSize: 4}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "ipv6_tlv_generic"}, FldName: "generic"}, + &StructType{Key: StructKey{Name: "ipv6_tlv_pad1"}, FldName: "pad1"}, + &StructType{Key: StructKey{Name: "ipv6_tlv_padn"}, FldName: "padn"}, + &StructType{Key: StructKey{Name: "ipv6_tlv_jumbo"}, FldName: "jumbo"}, + &StructType{Key: StructKey{Name: "ipv6_tlv_tun_lim"}, FldName: "enc_lim"}, + &StructType{Key: StructKey{Name: "ipv6_tlv_ra"}, FldName: "ra"}, + }}}, + {Key: StructKey{Name: "ipv6_tlv_pad1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_pad1", TypeSize: 3}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "ipv6_tlv_padn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_padn", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 1}}, Buf: "pad"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", IsVarlen: true}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}}, + }}}, + {Key: StructKey{Name: "ipv6_tlv_ra"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_ra", TypeSize: 4}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "ra", TypeSize: 2}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "ipv6_tlv_tun_lim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_tun_lim", TypeSize: 3}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "encap_limit", TypeSize: 1}}}, + }}}, {Key: StructKey{Name: "itimerval"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "itimerval", TypeSize: 32}, Fields: []Type{ &StructType{Key: StructKey{Name: "timeval"}, FldName: "interv"}, &StructType{Key: StructKey{Name: "timeval"}, FldName: "value"}, @@ -414,6 +995,21 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "onoff", TypeSize: 4, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "linger", TypeSize: 4, ArgDir: 1}}}, }}}, + {Key: StructKey{Name: "mac_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "mac_addr", TypeSize: 6}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "empty", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6}, + &StructType{Key: StructKey{Name: "mac_addr_t[const[0xaa, int8]]"}, FldName: "local"}, + &StructType{Key: StructKey{Name: "mac_addr_t[const[0xbb, int8]]"}, FldName: "remote"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "broadcast", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}, Val: 255}, Kind: 1, RangeBegin: 6, RangeEnd: 6}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "random", TypeSize: 6}, Kind: 1, RangeBegin: 6, RangeEnd: 6}, + }}}, + {Key: StructKey{Name: "mac_addr_t[const[0xaa, int8]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "mac_addr_t[const[0xaa, int8]]", TypeSize: 6}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a0", TypeSize: 5}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}, Val: 170}, Kind: 1, RangeBegin: 5, RangeEnd: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 1}}, Val: 170}, + }}}, + {Key: StructKey{Name: "mac_addr_t[const[0xbb, int8]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "mac_addr_t[const[0xbb, int8]]", TypeSize: 6}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "a0", TypeSize: 5}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}, Val: 170}, Kind: 1, RangeBegin: 5, RangeEnd: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a1", TypeSize: 1}}, Val: 187}, + }}}, {Key: StructKey{Name: "mf6cctl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "mf6cctl", TypeSize: 92}, Fields: []Type{ &StructType{Key: StructKey{Name: "sockaddr_in6"}, FldName: "mf6cc_origin"}, &StructType{Key: StructKey{Name: "sockaddr_in6"}, FldName: "mf6cc_mcastgrp"}, @@ -1037,18 +1633,100 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "gen", TypeSize: 8, ArgDir: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "__spare", TypeSize: 80, ArgDir: 1}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8, ArgDir: 1}}}, Kind: 1, RangeBegin: 10, RangeEnd: 10}, }}}, + {Key: StructKey{Name: "tcp_eol_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_eol_option", TypeSize: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, + }}}, {Key: StructKey{Name: "tcp_fastopen"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_fastopen", TypeSize: 20}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "enable", TypeSize: 4}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "psk", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, }}}, + {Key: StructKey{Name: "tcp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_fastopen_option", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 34}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 16}, + }}}, {Key: StructKey{Name: "tcp_function_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_function_set", TypeSize: 36}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "function_set_name", TypeSize: 32}, Kind: 2, SubKind: "tcp_function_set_names", Values: []string{"freebsd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rack\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bbr\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pcbcnt", TypeSize: 4}}}, }}}, + {Key: StructKey{Name: "tcp_generic_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_generic_option", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "tcp_option_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 8, 19, 34}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "tcp_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_header", IsVarlen: true}, Fields: []Type{ + &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "src_port", TypeSize: 2}, ArgFormat: 1}, ValuesStart: 20000, ValuesPerProc: 4}, + &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dst_port", TypeSize: 2}, ArgFormat: 1}, ValuesStart: 20000, ValuesPerProc: 4}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "tcp_seq_num", FldName: "seq_num", TypeSize: 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "tcp_seq_num", FldName: "ack_num", TypeSize: 4}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ns", TypeSize: 1}, BitfieldLen: 1, BitfieldMdl: true}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 3, BitfieldMdl: true}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "data_off", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, BitSize: 32, Buf: "parent"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "tcp_flags", FldName: "flags", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 8, 16, 32, 64, 128}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "window_size", TypeSize: 2}, ArgFormat: 1}}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "tcp_packet", Protocol: 6}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "urg_ptr", TypeSize: 2}, ArgFormat: 1}}, + &StructType{Key: StructKey{Name: "tcp_options"}, FldName: "options"}, + }}}, + {Key: StructKey{Name: "tcp_md5sig_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_md5sig_option", TypeSize: 18}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 19}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "md5", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "tcp_mss_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_mss_option", TypeSize: 4}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "seg_size", TypeSize: 2}}}, + }}}, + {Key: StructKey{Name: "tcp_nop_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_nop_option", TypeSize: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + }}}, + {Key: StructKey{Name: "tcp_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_option", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "tcp_generic_option"}, FldName: "generic"}, + &StructType{Key: StructKey{Name: "tcp_nop_option"}, FldName: "nop"}, + &StructType{Key: StructKey{Name: "tcp_eol_option"}, FldName: "eol"}, + &StructType{Key: StructKey{Name: "tcp_mss_option"}, FldName: "mss"}, + &StructType{Key: StructKey{Name: "tcp_window_option"}, FldName: "window"}, + &StructType{Key: StructKey{Name: "tcp_sack_perm_option"}, FldName: "sack_perm"}, + &StructType{Key: StructKey{Name: "tcp_sack_option"}, FldName: "sack"}, + &StructType{Key: StructKey{Name: "tcp_timestamp_option"}, FldName: "timestamp"}, + &StructType{Key: StructKey{Name: "tcp_md5sig_option"}, FldName: "md5sig"}, + &StructType{Key: StructKey{Name: "tcp_fastopen_option"}, FldName: "fastopen"}, + }}}, + {Key: StructKey{Name: "tcp_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_options", IsVarlen: true}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "tcp_option"}}}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "tcp_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "tcp_header"}, FldName: "header"}, + &StructType{Key: StructKey{Name: "tcp_payload"}, FldName: "payload"}, + }}}, + {Key: StructKey{Name: "tcp_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_payload", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "tcp_resources", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_resources", TypeSize: 8, ArgDir: 1}, Fields: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "tcp_seq_num", FldName: "seq", TypeSize: 4, ArgDir: 1}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "tcp_seq_num", FldName: "ack", TypeSize: 4, ArgDir: 1}}, }}}, + {Key: StructKey{Name: "tcp_sack_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_sack_option", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 5}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", TypeSize: 4}, ArgFormat: 1}}}, + }}}, + {Key: StructKey{Name: "tcp_sack_perm_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_sack_perm_option", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + }}}, + {Key: StructKey{Name: "tcp_timestamp_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_timestamp_option", TypeSize: 10}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 8}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "tsval", TypeSize: 4}, ArgFormat: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "tsecr", TypeSize: 4}, ArgFormat: 1}}, + }}}, + {Key: StructKey{Name: "tcp_window_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_window_option", TypeSize: 3}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 3}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "shift", TypeSize: 1}}}, + }}}, {Key: StructKey{Name: "timespec"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "timespec", TypeSize: 16}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", TypeSize: 8}}}, @@ -1069,10 +1747,39 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", TypeSize: 8, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", TypeSize: 8, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "udp_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_header", TypeSize: 8}, Fields: []Type{ + &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "src_port", TypeSize: 2}, ArgFormat: 1}, ValuesStart: 20000, ValuesPerProc: 4}, + &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dst_port", TypeSize: 2}, ArgFormat: 1}, ValuesStart: 20000, ValuesPerProc: 4}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, ArgFormat: 1}, Buf: "parent"}, + &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, Kind: 1, Buf: "parent", Protocol: 17}, + }}}, + {Key: StructKey{Name: "udp_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "udp_header"}, FldName: "header"}, + &StructType{Key: StructKey{Name: "udp_payload"}, FldName: "payload"}, + }}}, + {Key: StructKey{Name: "udp_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_payload", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "unix_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "unix_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd0", TypeSize: 4, ArgDir: 1}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd1", TypeSize: 4, ArgDir: 1}}, }}}, + {Key: StructKey{Name: "vlan_tag"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vlan_tag", IsVarlen: true}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "tag_ad", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "vlan_tag_ad"}}, Kind: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "vlan_tag_q"}, FldName: "tag_q"}, + }}}, + {Key: StructKey{Name: "vlan_tag_ad"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vlan_tag_ad", TypeSize: 4}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "tpid", TypeSize: 2}, ArgFormat: 1}, Val: 34984}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "pcp", TypeSize: 2}, BitfieldLen: 3, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dei", TypeSize: 2}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "vid", TypeSize: 2}, BitfieldOff: 4, BitfieldLen: 12}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "vlan_tag_q"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vlan_tag_q", TypeSize: 4}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "tpid", TypeSize: 2}, ArgFormat: 1}, Val: 33024}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "pcp", TypeSize: 2}, BitfieldLen: 3, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dei", TypeSize: 2}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "vid", TypeSize: 2}, BitfieldOff: 4, BitfieldLen: 12}, Kind: 2, RangeEnd: 4}, + }}}, } var syscalls_amd64 = []*Syscall{ @@ -3932,7 +4639,7 @@ var syscalls_amd64 = []*Syscall{ {NR: 36, Name: "sync", CallName: "sync"}, {Name: "syz_emit_ethernet", CallName: "syz_emit_ethernet", Args: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "packet"}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "packet", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "packet", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "eth_packet"}}}, }}, {Name: "syz_execute_func", CallName: "syz_execute_func", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "text", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "text", IsVarlen: true}, Kind: 4}}, @@ -3994,6 +4701,17 @@ var consts_amd64 = []ConstValue{ {Name: "AF_IPX", Value: 23}, {Name: "AF_UNIX", Value: 1}, {Name: "AF_UNSPEC"}, + {Name: "ARPHRD_ETHER", Value: 1}, + {Name: "ARPHRD_FRELAY", Value: 15}, + {Name: "ARPHRD_IEEE1394", Value: 24}, + {Name: "ARPHRD_IEEE802", Value: 6}, + {Name: "ARPHRD_INFINIBAND", Value: 32}, + {Name: "ARPOP_INVREPLY", Value: 9}, + {Name: "ARPOP_INVREQUEST", Value: 8}, + {Name: "ARPOP_REPLY", Value: 2}, + {Name: "ARPOP_REQUEST", Value: 1}, + {Name: "ARPOP_REVREPLY", Value: 4}, + {Name: "ARPOP_REVREQUEST", Value: 3}, {Name: "AT_FDCWD", Value: 18446744073709551516}, {Name: "AT_REMOVEDIR", Value: 2048}, {Name: "AT_SYMLINK_FOLLOW", Value: 1024}, @@ -4060,6 +4778,184 @@ var consts_amd64 = []ConstValue{ {Name: "DIOCXBEGIN", Value: 3222291537}, {Name: "DIOCXCOMMIT", Value: 3222291538}, {Name: "DIOCXROLLBACK", Value: 3222291539}, + {Name: "ETHERTYPE_8023", Value: 4}, + {Name: "ETHERTYPE_AARP", Value: 33011}, + {Name: "ETHERTYPE_ACCTON", Value: 33680}, + {Name: "ETHERTYPE_AEONIC", Value: 32822}, + {Name: "ETHERTYPE_ALPHA", Value: 33098}, + {Name: "ETHERTYPE_AMBER", Value: 24584}, + {Name: "ETHERTYPE_AMOEBA", Value: 33093}, + {Name: "ETHERTYPE_APOLLO", Value: 33015}, + {Name: "ETHERTYPE_APOLLODOMAIN", Value: 32793}, + {Name: "ETHERTYPE_APPLITEK", Value: 32967}, + {Name: "ETHERTYPE_ARGONAUT", Value: 32826}, + {Name: "ETHERTYPE_ARP", Value: 2054}, + {Name: "ETHERTYPE_ATALK", Value: 32923}, + {Name: "ETHERTYPE_ATOMIC", Value: 34527}, + {Name: "ETHERTYPE_ATT", Value: 32873}, + {Name: "ETHERTYPE_ATTSTANFORD", Value: 32776}, + {Name: "ETHERTYPE_AUTOPHON", Value: 32874}, + {Name: "ETHERTYPE_AXIS", Value: 34902}, + {Name: "ETHERTYPE_BCLOOP", Value: 36867}, + {Name: "ETHERTYPE_BOFL", Value: 33026}, + {Name: "ETHERTYPE_CABLETRON", Value: 28724}, + {Name: "ETHERTYPE_CHAOS", Value: 2052}, + {Name: "ETHERTYPE_COMDESIGN", Value: 32876}, + {Name: "ETHERTYPE_COMPUGRAPHIC", Value: 32877}, + {Name: "ETHERTYPE_COUNTERPOINT", Value: 32866}, + {Name: "ETHERTYPE_CRONUS", Value: 32772}, + {Name: "ETHERTYPE_CRONUSVLN", Value: 32771}, + {Name: "ETHERTYPE_DCA", Value: 4660}, + {Name: "ETHERTYPE_DDE", Value: 32891}, + {Name: "ETHERTYPE_DEBNI", Value: 43690}, + {Name: "ETHERTYPE_DECAM", Value: 32840}, + {Name: "ETHERTYPE_DECCUST", Value: 24582}, + {Name: "ETHERTYPE_DECDIAG", Value: 24581}, + {Name: "ETHERTYPE_DECDNS", Value: 32828}, + {Name: "ETHERTYPE_DECDTS", Value: 32830}, + {Name: "ETHERTYPE_DECEXPER", Value: 24576}, + {Name: "ETHERTYPE_DECLAST", Value: 32833}, + {Name: "ETHERTYPE_DECLTM", Value: 32831}, + {Name: "ETHERTYPE_DECMUMPS", Value: 24585}, + {Name: "ETHERTYPE_DECNETBIOS", Value: 32832}, + {Name: "ETHERTYPE_DECnet", Value: 24579}, + {Name: "ETHERTYPE_DELTACON", Value: 34526}, + {Name: "ETHERTYPE_DIDDLE", Value: 17185}, + {Name: "ETHERTYPE_DLOG1", Value: 1632}, + {Name: "ETHERTYPE_DLOG2", Value: 1633}, + {Name: "ETHERTYPE_DOGFIGHT", Value: 6537}, + {Name: "ETHERTYPE_DSMD", Value: 32825}, + {Name: "ETHERTYPE_ECMA", Value: 2051}, + {Name: "ETHERTYPE_ENCRYPT", Value: 32829}, + {Name: "ETHERTYPE_ES", Value: 32861}, + {Name: "ETHERTYPE_EXCELAN", Value: 32784}, + {Name: "ETHERTYPE_EXPERDATA", Value: 32841}, + {Name: "ETHERTYPE_FLIP", Value: 33094}, + {Name: "ETHERTYPE_FLOWCONTROL", Value: 34824}, + {Name: "ETHERTYPE_FRARP", Value: 2056}, + {Name: "ETHERTYPE_GENDYN", Value: 32872}, + {Name: "ETHERTYPE_HAYES", Value: 33072}, + {Name: "ETHERTYPE_HIPPI_FP", Value: 33152}, + {Name: "ETHERTYPE_HITACHI", Value: 34848}, + {Name: "ETHERTYPE_HP", Value: 32773}, + {Name: "ETHERTYPE_IEEEPUP", Value: 2560}, + {Name: "ETHERTYPE_IEEEPUPAT", Value: 2561}, + {Name: "ETHERTYPE_IMLBL", Value: 19522}, + {Name: "ETHERTYPE_IMLBLDIAG", Value: 16972}, + {Name: "ETHERTYPE_IP", Value: 2048}, + {Name: "ETHERTYPE_IPAS", Value: 34668}, + {Name: "ETHERTYPE_IPV6", Value: 34525}, + {Name: "ETHERTYPE_IPX", Value: 33079}, + {Name: "ETHERTYPE_IPXNEW", Value: 32823}, + {Name: "ETHERTYPE_KALPANA", Value: 34178}, + {Name: "ETHERTYPE_LANBRIDGE", Value: 32824}, + {Name: "ETHERTYPE_LANPROBE", Value: 34952}, + {Name: "ETHERTYPE_LAT", Value: 24580}, + {Name: "ETHERTYPE_LITTLE", Value: 32864}, + {Name: "ETHERTYPE_LOGICRAFT", Value: 33096}, + {Name: "ETHERTYPE_LOOPBACK", Value: 36864}, + {Name: "ETHERTYPE_MATRA", Value: 32890}, + {Name: "ETHERTYPE_MERIT", Value: 32892}, + {Name: "ETHERTYPE_MICP", Value: 34618}, + {Name: "ETHERTYPE_MOPDL", Value: 24577}, + {Name: "ETHERTYPE_MOPRC", Value: 24578}, + {Name: "ETHERTYPE_MOTOROLA", Value: 33165}, + {Name: "ETHERTYPE_MPLS", Value: 34887}, + {Name: "ETHERTYPE_MPLS_MCAST", Value: 34888}, + {Name: "ETHERTYPE_MUMPS", Value: 33087}, + {Name: "ETHERTYPE_NBPCC", Value: 15364}, + {Name: "ETHERTYPE_NBPCLAIM", Value: 15369}, + {Name: "ETHERTYPE_NBPCLREQ", Value: 15365}, + {Name: "ETHERTYPE_NBPCLRSP", Value: 15366}, + {Name: "ETHERTYPE_NBPCREQ", Value: 15362}, + {Name: "ETHERTYPE_NBPCRSP", Value: 15363}, + {Name: "ETHERTYPE_NBPDG", Value: 15367}, + {Name: "ETHERTYPE_NBPDGB", Value: 15368}, + {Name: "ETHERTYPE_NBPDLTE", Value: 15370}, + {Name: "ETHERTYPE_NBPRAR", Value: 15372}, + {Name: "ETHERTYPE_NBPRAS", Value: 15371}, + {Name: "ETHERTYPE_NBPRST", Value: 15373}, + {Name: "ETHERTYPE_NBPSCD", Value: 15361}, + {Name: "ETHERTYPE_NBPVCD", Value: 15360}, + {Name: "ETHERTYPE_NBS", Value: 2050}, + {Name: "ETHERTYPE_NCD", Value: 33097}, + {Name: "ETHERTYPE_NESTAR", Value: 32774}, + {Name: "ETHERTYPE_NETBEUI", Value: 33169}, + {Name: "ETHERTYPE_NOVELL", Value: 33080}, + {Name: "ETHERTYPE_NS", Value: 1536}, + {Name: "ETHERTYPE_NSAT", Value: 1537}, + {Name: "ETHERTYPE_NSCOMPAT", Value: 2055}, + {Name: "ETHERTYPE_OS9", Value: 28679}, + {Name: "ETHERTYPE_OS9NET", Value: 28681}, + {Name: "ETHERTYPE_PACER", Value: 32966}, + {Name: "ETHERTYPE_PAE", Value: 34958}, + {Name: "ETHERTYPE_PCS", Value: 16962}, + {Name: "ETHERTYPE_PLANNING", Value: 32836}, + {Name: "ETHERTYPE_PPP", Value: 34827}, + {Name: "ETHERTYPE_PPPOE", Value: 34916}, + {Name: "ETHERTYPE_PPPOEDISC", Value: 34915}, + {Name: "ETHERTYPE_PRIMENTS", Value: 28721}, + {Name: "ETHERTYPE_PUP", Value: 512}, + {Name: "ETHERTYPE_PUPAT", Value: 512}, + {Name: "ETHERTYPE_QINQ", Value: 34984}, + {Name: "ETHERTYPE_RACAL", Value: 28720}, + {Name: "ETHERTYPE_RATIONAL", Value: 33104}, + {Name: "ETHERTYPE_RAWFR", Value: 25945}, + {Name: "ETHERTYPE_RCL", Value: 6549}, + {Name: "ETHERTYPE_RDP", Value: 34617}, + {Name: "ETHERTYPE_RETIX", Value: 33010}, + {Name: "ETHERTYPE_REVARP", Value: 32821}, + {Name: "ETHERTYPE_SCA", Value: 24583}, + {Name: "ETHERTYPE_SECTRA", Value: 34523}, + {Name: "ETHERTYPE_SECUREDATA", Value: 34669}, + {Name: "ETHERTYPE_SGITW", Value: 33150}, + {Name: "ETHERTYPE_SG_BOUNCE", Value: 32790}, + {Name: "ETHERTYPE_SG_DIAG", Value: 32787}, + {Name: "ETHERTYPE_SG_NETGAMES", Value: 32788}, + {Name: "ETHERTYPE_SG_RESV", Value: 32789}, + {Name: "ETHERTYPE_SIMNET", Value: 21000}, + {Name: "ETHERTYPE_SLOW", Value: 34825}, + {Name: "ETHERTYPE_SNA", Value: 32981}, + {Name: "ETHERTYPE_SNMP", Value: 33100}, + {Name: "ETHERTYPE_SONIX", Value: 64245}, + {Name: "ETHERTYPE_SPIDER", Value: 32927}, + {Name: "ETHERTYPE_SPRITE", Value: 1280}, + {Name: "ETHERTYPE_STP", Value: 33153}, + {Name: "ETHERTYPE_TALARIS", Value: 33067}, + {Name: "ETHERTYPE_TALARISMC", Value: 34091}, + {Name: "ETHERTYPE_TCPCOMP", Value: 34667}, + {Name: "ETHERTYPE_TCPSM", Value: 36866}, + {Name: "ETHERTYPE_TEC", Value: 33103}, + {Name: "ETHERTYPE_TEST", Value: 34850}, + {Name: "ETHERTYPE_TIGAN", Value: 32815}, + {Name: "ETHERTYPE_TRANSETHER", Value: 25944}, + {Name: "ETHERTYPE_TYMSHARE", Value: 32814}, + {Name: "ETHERTYPE_UBBST", Value: 28677}, + {Name: "ETHERTYPE_UBDEBUG", Value: 2304}, + {Name: "ETHERTYPE_UBDIAGLOOP", Value: 28674}, + {Name: "ETHERTYPE_UBDL", Value: 28672}, + {Name: "ETHERTYPE_UBNIU", Value: 28673}, + {Name: "ETHERTYPE_UBNMC", Value: 28675}, + {Name: "ETHERTYPE_VALID", Value: 5632}, + {Name: "ETHERTYPE_VARIAN", Value: 32989}, + {Name: "ETHERTYPE_VAXELN", Value: 32827}, + {Name: "ETHERTYPE_VEECO", Value: 32871}, + {Name: "ETHERTYPE_VEXP", Value: 32859}, + {Name: "ETHERTYPE_VGLAB", Value: 33073}, + {Name: "ETHERTYPE_VINES", Value: 2989}, + {Name: "ETHERTYPE_VINESECHO", Value: 2991}, + {Name: "ETHERTYPE_VINESLOOP", Value: 2990}, + {Name: "ETHERTYPE_VITAL", Value: 65280}, + {Name: "ETHERTYPE_VLAN", Value: 33024}, + {Name: "ETHERTYPE_VLTLMAN", Value: 32896}, + {Name: "ETHERTYPE_VPROD", Value: 32860}, + {Name: "ETHERTYPE_VURESERVED", Value: 33095}, + {Name: "ETHERTYPE_WATERLOO", Value: 33072}, + {Name: "ETHERTYPE_WELLFLEET", Value: 33027}, + {Name: "ETHERTYPE_X25", Value: 2053}, + {Name: "ETHERTYPE_X75", Value: 2049}, + {Name: "ETHERTYPE_XNSSM", Value: 36865}, + {Name: "ETHERTYPE_XTP", Value: 33149}, {Name: "FASYNC", Value: 64}, {Name: "FD_CLOEXEC", Value: 1}, {Name: "F_DUPFD"}, @@ -4081,7 +4977,84 @@ var consts_amd64 = []ConstValue{ {Name: "GETPID", Value: 4}, {Name: "GETVAL", Value: 5}, {Name: "GETZCNT", Value: 7}, + {Name: "ICMP6_DST_UNREACH", Value: 1}, + {Name: "ICMP6_DST_UNREACH_ADDR", Value: 3}, + {Name: "ICMP6_DST_UNREACH_ADMIN", Value: 1}, + {Name: "ICMP6_DST_UNREACH_BEYONDSCOPE", Value: 2}, + {Name: "ICMP6_DST_UNREACH_NOPORT", Value: 4}, + {Name: "ICMP6_DST_UNREACH_NOROUTE"}, + {Name: "ICMP6_DST_UNREACH_NOTNEIGHBOR", Value: 2}, + {Name: "ICMP6_DST_UNREACH_POLICY", Value: 5}, + {Name: "ICMP6_DST_UNREACH_REJECT", Value: 6}, + {Name: "ICMP6_DST_UNREACH_SRCROUTE", Value: 7}, + {Name: "ICMP6_ECHO_REPLY", Value: 129}, + {Name: "ICMP6_ECHO_REQUEST", Value: 128}, + {Name: "ICMP6_NI_QUERY", Value: 139}, + {Name: "ICMP6_NI_REPLY", Value: 140}, + {Name: "ICMP6_PACKET_TOO_BIG", Value: 2}, + {Name: "ICMP6_PARAMPROB_HEADER"}, + {Name: "ICMP6_PARAMPROB_NEXTHEADER", Value: 1}, + {Name: "ICMP6_PARAMPROB_OPTION", Value: 2}, + {Name: "ICMP6_PARAM_PROB", Value: 4}, + {Name: "ICMP6_TIME_EXCEEDED", Value: 3}, + {Name: "ICMP6_TIME_EXCEED_REASSEMBLY", Value: 1}, + {Name: "ICMP6_TIME_EXCEED_TRANSIT"}, + {Name: "ICMP_ALTHOSTADDR", Value: 6}, + {Name: "ICMP_DATACONVERR", Value: 31}, + {Name: "ICMP_ECHO", Value: 8}, + {Name: "ICMP_ECHOREPLY"}, + {Name: "ICMP_IPV6_IAMHERE", Value: 34}, + {Name: "ICMP_IPV6_WHEREAREYOU", Value: 33}, + {Name: "ICMP_IREQ", Value: 15}, + {Name: "ICMP_IREQREPLY", Value: 16}, + {Name: "ICMP_MASKREPLY", Value: 18}, + {Name: "ICMP_MASKREQ", Value: 17}, + {Name: "ICMP_MOBILE_REDIRECT", Value: 32}, + {Name: "ICMP_MOBILE_REGREPLY", Value: 36}, + {Name: "ICMP_MOBILE_REGREQUEST", Value: 35}, + {Name: "ICMP_PARAMPROB", Value: 12}, + {Name: "ICMP_PARAMPROB_ERRATPTR"}, + {Name: "ICMP_PARAMPROB_LENGTH", Value: 2}, + {Name: "ICMP_PARAMPROB_OPTABSENT", Value: 1}, + {Name: "ICMP_PHOTURIS", Value: 40}, + {Name: "ICMP_REDIRECT", Value: 5}, + {Name: "ICMP_REDIRECT_HOST", Value: 1}, + {Name: "ICMP_REDIRECT_NET"}, + {Name: "ICMP_REDIRECT_TOSHOST", Value: 3}, + {Name: "ICMP_REDIRECT_TOSNET", Value: 2}, + {Name: "ICMP_ROUTERADVERT", Value: 9}, + {Name: "ICMP_ROUTERSOLICIT", Value: 10}, + {Name: "ICMP_SKIP", Value: 39}, + {Name: "ICMP_SOURCEQUENCH", Value: 4}, + {Name: "ICMP_TIMXCEED", Value: 11}, + {Name: "ICMP_TIMXCEED_INTRANS"}, + {Name: "ICMP_TIMXCEED_REASS", Value: 1}, + {Name: "ICMP_TRACEROUTE", Value: 30}, + {Name: "ICMP_TSTAMP", Value: 13}, + {Name: "ICMP_TSTAMPREPLY", Value: 14}, + {Name: "ICMP_UNREACH", Value: 3}, + {Name: "ICMP_UNREACH_FILTER_PROHIB", Value: 13}, + {Name: "ICMP_UNREACH_HOST", Value: 1}, + {Name: "ICMP_UNREACH_HOST_PRECEDENCE", Value: 14}, + {Name: "ICMP_UNREACH_HOST_PROHIB", Value: 10}, + {Name: "ICMP_UNREACH_HOST_UNKNOWN", Value: 7}, + {Name: "ICMP_UNREACH_ISOLATED", Value: 8}, + {Name: "ICMP_UNREACH_NEEDFRAG", Value: 4}, + {Name: "ICMP_UNREACH_NET"}, + {Name: "ICMP_UNREACH_NET_PROHIB", Value: 9}, + {Name: "ICMP_UNREACH_NET_UNKNOWN", Value: 6}, + {Name: "ICMP_UNREACH_PORT", Value: 3}, + {Name: "ICMP_UNREACH_PRECEDENCE_CUTOFF", Value: 15}, + {Name: "ICMP_UNREACH_PROTOCOL", Value: 2}, + {Name: "ICMP_UNREACH_SRCFAIL", Value: 5}, + {Name: "ICMP_UNREACH_TOSHOST", Value: 12}, + {Name: "ICMP_UNREACH_TOSNET", Value: 11}, {Name: "IFNAMSIZ", Value: 16}, + {Name: "IP6OPT_JUMBO", Value: 194}, + {Name: "IP6OPT_PAD1"}, + {Name: "IP6OPT_PADN", Value: 1}, + {Name: "IP6OPT_ROUTER_ALERT", Value: 5}, + {Name: "IP6OPT_TUNNEL_LIMIT", Value: 4}, {Name: "IPC_CREAT", Value: 512}, {Name: "IPC_EXCL", Value: 1024}, {Name: "IPC_INFO", Value: 3}, @@ -4090,14 +5063,130 @@ var consts_amd64 = []ConstValue{ {Name: "IPC_RMID"}, {Name: "IPC_SET", Value: 1}, {Name: "IPC_STAT", Value: 2}, + {Name: "IPOPT_CIPSO", Value: 134}, + {Name: "IPOPT_EOL"}, + {Name: "IPOPT_ESO", Value: 133}, + {Name: "IPOPT_LSRR", Value: 131}, + {Name: "IPOPT_NOP", Value: 1}, + {Name: "IPOPT_RA", Value: 148}, + {Name: "IPOPT_RR", Value: 7}, + {Name: "IPOPT_SATID", Value: 136}, + {Name: "IPOPT_SECURITY", Value: 130}, + {Name: "IPOPT_SSRR", Value: 137}, + {Name: "IPOPT_TS", Value: 68}, + {Name: "IPOPT_TS_PRESPEC", Value: 3}, + {Name: "IPOPT_TS_TSANDADDR", Value: 1}, + {Name: "IPOPT_TS_TSONLY"}, + {Name: "IPPROTO_3PC", Value: 34}, + {Name: "IPPROTO_ADFS", Value: 68}, + {Name: "IPPROTO_AH", Value: 51}, + {Name: "IPPROTO_AHIP", Value: 61}, + {Name: "IPPROTO_APES", Value: 99}, + {Name: "IPPROTO_ARGUS", Value: 13}, + {Name: "IPPROTO_AX25", Value: 93}, + {Name: "IPPROTO_BHA", Value: 49}, + {Name: "IPPROTO_BLT", Value: 30}, + {Name: "IPPROTO_BRSATMON", Value: 76}, + {Name: "IPPROTO_CARP", Value: 112}, + {Name: "IPPROTO_CFTP", Value: 62}, + {Name: "IPPROTO_CHAOS", Value: 16}, + {Name: "IPPROTO_CMTP", Value: 38}, + {Name: "IPPROTO_CPHB", Value: 73}, + {Name: "IPPROTO_CPNX", Value: 72}, + {Name: "IPPROTO_DDP", Value: 37}, + {Name: "IPPROTO_DGP", Value: 86}, + {Name: "IPPROTO_DSTOPTS", Value: 60}, + {Name: "IPPROTO_EGP", Value: 8}, + {Name: "IPPROTO_EMCON", Value: 14}, + {Name: "IPPROTO_ENCAP", Value: 98}, + {Name: "IPPROTO_EON", Value: 80}, + {Name: "IPPROTO_ESP", Value: 50}, + {Name: "IPPROTO_ETHERIP", Value: 97}, + {Name: "IPPROTO_FRAGMENT", Value: 44}, + {Name: "IPPROTO_GMTP", Value: 100}, + {Name: "IPPROTO_GRE", Value: 47}, + {Name: "IPPROTO_HELLO", Value: 63}, + {Name: "IPPROTO_HIP", Value: 139}, + {Name: "IPPROTO_HMP", Value: 20}, {Name: "IPPROTO_ICMP", Value: 1}, {Name: "IPPROTO_ICMPV6", Value: 58}, + {Name: "IPPROTO_IDP", Value: 22}, + {Name: "IPPROTO_IDPR", Value: 35}, + {Name: "IPPROTO_IDRP", Value: 45}, + {Name: "IPPROTO_IGMP", Value: 2}, + {Name: "IPPROTO_IGP", Value: 85}, + {Name: "IPPROTO_IGRP", Value: 88}, + {Name: "IPPROTO_IL", Value: 40}, + {Name: "IPPROTO_INLSP", Value: 52}, + {Name: "IPPROTO_INP", Value: 32}, {Name: "IPPROTO_IP"}, + {Name: "IPPROTO_IPCOMP", Value: 108}, + {Name: "IPPROTO_IPCV", Value: 71}, + {Name: "IPPROTO_IPEIP", Value: 94}, + {Name: "IPPROTO_IPPC", Value: 67}, + {Name: "IPPROTO_IPV4", Value: 4}, {Name: "IPPROTO_IPV6", Value: 41}, + {Name: "IPPROTO_IRTP", Value: 28}, + {Name: "IPPROTO_KRYPTOLAN", Value: 65}, + {Name: "IPPROTO_LARP", Value: 91}, + {Name: "IPPROTO_LEAF1", Value: 25}, + {Name: "IPPROTO_LEAF2", Value: 26}, + {Name: "IPPROTO_MEAS", Value: 19}, + {Name: "IPPROTO_MH", Value: 135}, + {Name: "IPPROTO_MHRP", Value: 48}, + {Name: "IPPROTO_MICP", Value: 95}, + {Name: "IPPROTO_MOBILE", Value: 55}, + {Name: "IPPROTO_MPLS", Value: 137}, + {Name: "IPPROTO_MTP", Value: 92}, + {Name: "IPPROTO_MUX", Value: 18}, + {Name: "IPPROTO_ND", Value: 77}, + {Name: "IPPROTO_NHRP", Value: 54}, + {Name: "IPPROTO_NONE", Value: 59}, + {Name: "IPPROTO_NSP", Value: 31}, + {Name: "IPPROTO_NVPII", Value: 11}, + {Name: "IPPROTO_OSPFIGP", Value: 89}, + {Name: "IPPROTO_PFSYNC", Value: 240}, + {Name: "IPPROTO_PGM", Value: 113}, + {Name: "IPPROTO_PIGP", Value: 9}, + {Name: "IPPROTO_PIM", Value: 103}, + {Name: "IPPROTO_PRM", Value: 21}, + {Name: "IPPROTO_PUP", Value: 12}, + {Name: "IPPROTO_PVP", Value: 75}, + {Name: "IPPROTO_RCCMON", Value: 10}, + {Name: "IPPROTO_RDP", Value: 27}, + {Name: "IPPROTO_ROUTING", Value: 43}, + {Name: "IPPROTO_RSVP", Value: 46}, + {Name: "IPPROTO_RVD", Value: 66}, + {Name: "IPPROTO_SATEXPAK", Value: 64}, + {Name: "IPPROTO_SATMON", Value: 69}, + {Name: "IPPROTO_SCCSP", Value: 96}, {Name: "IPPROTO_SCTP", Value: 132}, + {Name: "IPPROTO_SDRP", Value: 42}, + {Name: "IPPROTO_SEP", Value: 33}, + {Name: "IPPROTO_SHIM6", Value: 140}, + {Name: "IPPROTO_SKIP", Value: 57}, + {Name: "IPPROTO_SRPC", Value: 90}, + {Name: "IPPROTO_ST", Value: 7}, + {Name: "IPPROTO_SVMTP", Value: 82}, + {Name: "IPPROTO_SWIPE", Value: 53}, + {Name: "IPPROTO_TCF", Value: 87}, {Name: "IPPROTO_TCP", Value: 6}, + {Name: "IPPROTO_TLSP", Value: 56}, + {Name: "IPPROTO_TP", Value: 29}, + {Name: "IPPROTO_TPXX", Value: 39}, + {Name: "IPPROTO_TRUNK1", Value: 23}, + {Name: "IPPROTO_TRUNK2", Value: 24}, + {Name: "IPPROTO_TTP", Value: 84}, {Name: "IPPROTO_UDP", Value: 17}, {Name: "IPPROTO_UDPLITE", Value: 136}, + {Name: "IPPROTO_VINES", Value: 83}, + {Name: "IPPROTO_VISA", Value: 70}, + {Name: "IPPROTO_VMTP", Value: 81}, + {Name: "IPPROTO_WBEXPAK", Value: 79}, + {Name: "IPPROTO_WBMON", Value: 78}, + {Name: "IPPROTO_WSN", Value: 74}, + {Name: "IPPROTO_XNET", Value: 15}, + {Name: "IPPROTO_XTP", Value: 36}, {Name: "IPV6_2292DSTOPTS", Value: 23}, {Name: "IPV6_2292HOPLIMIT", Value: 20}, {Name: "IPV6_2292HOPOPTS", Value: 22}, @@ -4127,6 +5216,9 @@ var consts_amd64 = []ConstValue{ {Name: "IPV6_RECVTCLASS", Value: 57}, {Name: "IPV6_RTHDR", Value: 51}, {Name: "IPV6_RTHDRDSTOPTS", Value: 35}, + {Name: "IPV6_RTHDR_LOOSE"}, + {Name: "IPV6_RTHDR_STRICT", Value: 1}, + {Name: "IPV6_RTHDR_TYPE_0"}, {Name: "IPV6_TCLASS", Value: 61}, {Name: "IPV6_UNICAST_HOPS", Value: 4}, {Name: "IPV6_V6ONLY", Value: 27}, @@ -4181,6 +5273,9 @@ var consts_amd64 = []ConstValue{ {Name: "MCL_CURRENT", Value: 1}, {Name: "MCL_FUTURE", Value: 2}, {Name: "MIFF_REGISTER", Value: 1}, + {Name: "MLD_LISTENER_QUERY", Value: 130}, + {Name: "MLD_LISTENER_REDUCTION", Value: 132}, + {Name: "MLD_LISTENER_REPORT", Value: 131}, {Name: "MRT6_ADD_MFC", Value: 104}, {Name: "MRT6_ADD_MIF", Value: 102}, {Name: "MRT6_DEL_MFC", Value: 105}, @@ -4197,6 +5292,20 @@ var consts_amd64 = []ConstValue{ {Name: "MS_ASYNC", Value: 1}, {Name: "MS_INVALIDATE", Value: 2}, {Name: "MS_SYNC"}, + {Name: "ND_NEIGHBOR_ADVERT", Value: 136}, + {Name: "ND_NEIGHBOR_SOLICIT", Value: 135}, + {Name: "ND_OPT_DNSSL", Value: 31}, + {Name: "ND_OPT_MTU", Value: 5}, + {Name: "ND_OPT_NONCE", Value: 14}, + {Name: "ND_OPT_PREFIX_INFORMATION", Value: 3}, + {Name: "ND_OPT_RDNSS", Value: 25}, + {Name: "ND_OPT_REDIRECTED_HEADER", Value: 4}, + {Name: "ND_OPT_ROUTE_INFO", Value: 24}, + {Name: "ND_OPT_SOURCE_LINKADDR", Value: 1}, + {Name: "ND_OPT_TARGET_LINKADDR", Value: 2}, + {Name: "ND_REDIRECT", Value: 137}, + {Name: "ND_ROUTER_ADVERT", Value: 134}, + {Name: "ND_ROUTER_SOLICIT", Value: 133}, {Name: "O_APPEND", Value: 8}, {Name: "O_CLOEXEC", Value: 1048576}, {Name: "O_CREAT", Value: 512}, @@ -4542,6 +5651,15 @@ var consts_amd64 = []ConstValue{ {Name: "S_IXGRP", Value: 8}, {Name: "S_IXOTH", Value: 1}, {Name: "S_IXUSR", Value: 64}, + {Name: "TCPOPT_EOL"}, + {Name: "TCPOPT_FAST_OPEN", Value: 34}, + {Name: "TCPOPT_MAXSEG", Value: 2}, + {Name: "TCPOPT_NOP", Value: 1}, + {Name: "TCPOPT_SACK", Value: 5}, + {Name: "TCPOPT_SACK_PERMITTED", Value: 4}, + {Name: "TCPOPT_SIGNATURE", Value: 19}, + {Name: "TCPOPT_TIMESTAMP", Value: 8}, + {Name: "TCPOPT_WINDOW", Value: 3}, {Name: "TCP_CCALGOOPT", Value: 65}, {Name: "TCP_CONGESTION", Value: 64}, {Name: "TCP_DELACK", Value: 72}, @@ -4566,6 +5684,14 @@ var consts_amd64 = []ConstValue{ {Name: "TCP_NOPUSH", Value: 4}, {Name: "TCP_PCAP_IN", Value: 4096}, {Name: "TCP_PCAP_OUT", Value: 2048}, + {Name: "TH_ACK", Value: 16}, + {Name: "TH_CWR", Value: 128}, + {Name: "TH_ECE", Value: 64}, + {Name: "TH_FIN", Value: 1}, + {Name: "TH_PUSH", Value: 8}, + {Name: "TH_RST", Value: 4}, + {Name: "TH_SYN", Value: 2}, + {Name: "TH_URG", Value: 32}, {Name: "TIMER_ABSTIME", Value: 1}, {Name: "UDPLITE_RECV_CSCOV", Value: 4}, {Name: "UDPLITE_SEND_CSCOV", Value: 2}, @@ -4578,4 +5704,4 @@ var consts_amd64 = []ConstValue{ {Name: "WUNTRACED", Value: 2}, } -const revision_amd64 = "4b5db889742657ae7fe970feaa45dbf6b13e405b" +const revision_amd64 = "e540c106993372e0b27ed5e2d9ec82c4eed76447" diff --git a/sys/freebsd/vnet.txt b/sys/freebsd/vnet.txt index 195668a07..de4d1dd23 100644 --- a/sys/freebsd/vnet.txt +++ b/sys/freebsd/vnet.txt @@ -2,10 +2,18 @@ # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. include <sys/types.h> +include <sys/param.h> include <sys/socket.h> +include <net/ethernet.h> +include <net/if_arp.h> include <netinet/in.h> +include <netinet/ip.h> +include <netinet/ip_icmp.h> +include <netinet/ip6.h> +include <netinet/icmp6.h> +include <netinet/tcp.h> -syz_emit_ethernet(len len[packet], packet ptr[in, array[int8]]) +syz_emit_ethernet(len len[packet], packet ptr[in, eth_packet]) resource tcp_seq_num[int32]: 0x41424344 @@ -19,7 +27,129 @@ tcp_resources { syz_extract_tcp_res(res ptr[out, tcp_resources], seq_inc int32, ack_inc int32) syz_extract_tcp_res$synack(res ptr[out, tcp_resources], seq_inc const[1], ack_inc const[0]) -# This corresponds to LOCAL_IPV4 ("172.20.%d.170" % pid) in executor/common.h +################################################################################ +################################### Ethernet ################################### +################################################################################ + +# https://en.wikipedia.org/wiki/Ethernet_frame#Structure +# https://en.wikipedia.org/wiki/IEEE_802.1Q + +type mac_addr_t[LAST] { + a0 array[const[0xaa, int8], 5] + a1 LAST +} [packed] + +mac_addr [ + empty array[const[0x0, int8], 6] + local mac_addr_t[const[0xaa, int8]] + remote mac_addr_t[const[0xbb, int8]] + broadcast array[const[0xff, int8], 6] + random array[int8, 6] +] + +vlan_tag_ad { + tpid const[ETHERTYPE_QINQ, int16be] + pcp int16:3 + dei int16:1 + vid int16:12[0:4] +} [packed] + +vlan_tag_q { + tpid const[ETHERTYPE_VLAN, int16be] + pcp int16:3 + dei int16:1 + vid int16:12[0:4] +} [packed] + +vlan_tag { + tag_ad array[vlan_tag_ad, 0:1] + tag_q vlan_tag_q +} [packed] + +eth_packet { + dst_mac mac_addr + src_mac mac_addr + vtag array[vlan_tag, 0:1] + payload eth_payload +} [packed] + +eth_payload { + eth2 eth2_packet +} [packed] + +################################################################################ +################################## Ethernet 2 ################################## +################################################################################ + +# https://en.wikipedia.org/wiki/Ethernet_frame#Ethernet_II + +ether_types = ETHERTYPE_8023, ETHERTYPE_PUP, ETHERTYPE_PUPAT, ETHERTYPE_SPRITE, ETHERTYPE_NS, ETHERTYPE_NSAT, ETHERTYPE_DLOG1, ETHERTYPE_DLOG2, ETHERTYPE_IP, ETHERTYPE_X75, ETHERTYPE_NBS, ETHERTYPE_ECMA, ETHERTYPE_CHAOS, ETHERTYPE_X25, ETHERTYPE_ARP, ETHERTYPE_NSCOMPAT, ETHERTYPE_FRARP, ETHERTYPE_UBDEBUG, ETHERTYPE_IEEEPUP, ETHERTYPE_IEEEPUPAT, ETHERTYPE_VINES, ETHERTYPE_VINESLOOP, ETHERTYPE_VINESECHO, ETHERTYPE_DCA, ETHERTYPE_VALID, ETHERTYPE_DOGFIGHT, ETHERTYPE_RCL, ETHERTYPE_NBPVCD, ETHERTYPE_NBPSCD, ETHERTYPE_NBPCREQ, ETHERTYPE_NBPCRSP, ETHERTYPE_NBPCC, ETHERTYPE_NBPCLREQ, ETHERTYPE_NBPCLRSP, ETHERTYPE_NBPDG, ETHERTYPE_NBPDGB, ETHERTYPE_NBPCLAIM, ETHERTYPE_NBPDLTE, ETHERTYPE_NBPRAS, ETHERTYPE_NBPRAR, ETHERTYPE_NBPRST, ETHERTYPE_PCS, ETHERTYPE_IMLBLDIAG, ETHERTYPE_DIDDLE, ETHERTYPE_IMLBL, ETHERTYPE_SIMNET, ETHERTYPE_DECEXPER, ETHERTYPE_MOPDL, ETHERTYPE_MOPRC, ETHERTYPE_DECnet, ETHERTYPE_LAT, ETHERTYPE_DECDIAG, ETHERTYPE_DECCUST, ETHERTYPE_SCA, ETHERTYPE_AMBER, ETHERTYPE_DECMUMPS, ETHERTYPE_TRANSETHER, ETHERTYPE_RAWFR, ETHERTYPE_UBDL, ETHERTYPE_UBNIU, ETHERTYPE_UBDIAGLOOP, ETHERTYPE_UBNMC, ETHERTYPE_UBBST, ETHERTYPE_OS9, ETHERTYPE_OS9NET, ETHERTYPE_RACAL, ETHERTYPE_PRIMENTS, ETHERTYPE_CABLETRON, ETHERTYPE_CRONUSVLN, ETHERTYPE_CRONUS, ETHERTYPE_HP, ETHERTYPE_NESTAR, ETHERTYPE_ATTSTANFORD, ETHERTYPE_EXCELAN, ETHERTYPE_SG_DIAG, ETHERTYPE_SG_NETGAMES, ETHERTYPE_SG_RESV, ETHERTYPE_SG_BOUNCE, ETHERTYPE_APOLLODOMAIN, ETHERTYPE_TYMSHARE, ETHERTYPE_TIGAN, ETHERTYPE_REVARP, ETHERTYPE_AEONIC, ETHERTYPE_IPXNEW, ETHERTYPE_LANBRIDGE, ETHERTYPE_DSMD, ETHERTYPE_ARGONAUT, ETHERTYPE_VAXELN, ETHERTYPE_DECDNS, ETHERTYPE_ENCRYPT, ETHERTYPE_DECDTS, ETHERTYPE_DECLTM, ETHERTYPE_DECNETBIOS, ETHERTYPE_DECLAST, ETHERTYPE_PLANNING, ETHERTYPE_DECAM, ETHERTYPE_EXPERDATA, ETHERTYPE_VEXP, ETHERTYPE_VPROD, ETHERTYPE_ES, ETHERTYPE_LITTLE, ETHERTYPE_COUNTERPOINT, ETHERTYPE_VEECO, ETHERTYPE_GENDYN, ETHERTYPE_ATT, ETHERTYPE_AUTOPHON, ETHERTYPE_COMDESIGN, ETHERTYPE_COMPUGRAPHIC, ETHERTYPE_MATRA, ETHERTYPE_DDE, ETHERTYPE_MERIT, ETHERTYPE_VLTLMAN, ETHERTYPE_ATALK, ETHERTYPE_SPIDER, ETHERTYPE_PACER, ETHERTYPE_APPLITEK, ETHERTYPE_SNA, ETHERTYPE_VARIAN, ETHERTYPE_RETIX, ETHERTYPE_AARP, ETHERTYPE_APOLLO, ETHERTYPE_VLAN, ETHERTYPE_BOFL, ETHERTYPE_WELLFLEET, ETHERTYPE_TALARIS, ETHERTYPE_WATERLOO, ETHERTYPE_HAYES, ETHERTYPE_VGLAB, ETHERTYPE_IPX, ETHERTYPE_NOVELL, ETHERTYPE_MUMPS, ETHERTYPE_AMOEBA, ETHERTYPE_FLIP, ETHERTYPE_VURESERVED, ETHERTYPE_LOGICRAFT, ETHERTYPE_NCD, ETHERTYPE_ALPHA, ETHERTYPE_SNMP, ETHERTYPE_TEC, ETHERTYPE_RATIONAL, ETHERTYPE_XTP, ETHERTYPE_SGITW, ETHERTYPE_HIPPI_FP, ETHERTYPE_STP, ETHERTYPE_MOTOROLA, ETHERTYPE_NETBEUI, ETHERTYPE_ACCTON, ETHERTYPE_TALARISMC, ETHERTYPE_KALPANA, ETHERTYPE_SECTRA, ETHERTYPE_IPV6, ETHERTYPE_DELTACON, ETHERTYPE_ATOMIC, ETHERTYPE_RDP, ETHERTYPE_MICP, ETHERTYPE_TCPCOMP, ETHERTYPE_IPAS, ETHERTYPE_SECUREDATA, ETHERTYPE_FLOWCONTROL, ETHERTYPE_SLOW, ETHERTYPE_PPP, ETHERTYPE_HITACHI, ETHERTYPE_TEST, ETHERTYPE_MPLS, ETHERTYPE_MPLS_MCAST, ETHERTYPE_AXIS, ETHERTYPE_PPPOEDISC, ETHERTYPE_PPPOE, ETHERTYPE_LANPROBE, ETHERTYPE_PAE, ETHERTYPE_QINQ, ETHERTYPE_LOOPBACK, ETHERTYPE_XNSSM, ETHERTYPE_TCPSM, ETHERTYPE_BCLOOP, ETHERTYPE_DEBNI, ETHERTYPE_SONIX, ETHERTYPE_VITAL + +eth2_packet [ + generic eth2_packet_generic + arp eth2_packet_t[ETHERTYPE_ARP, arp_packet] + ipv4 eth2_packet_t[ETHERTYPE_IP, ipv4_packet] + ipv6 eth2_packet_t[ETHERTYPE_IPV6, ipv6_packet] +] [varlen] + +eth2_packet_generic { + etype flags[ether_types, int16be] + payload array[int8] +} [packed] + +type eth2_packet_t[TYPE, PAYLOAD] { + etype const[TYPE, int16be] + payload PAYLOAD +} [packed] + +################################################################################ +###################################### ARP ##################################### +################################################################################ + +# https://en.wikipedia.org/wiki/Address_Resolution_Protocol#Packet_structure +# https://tools.ietf.org/html/rfc826 + +arp_hrds = ARPHRD_ETHER, ARPHRD_IEEE802, ARPHRD_FRELAY, ARPHRD_IEEE1394, ARPHRD_INFINIBAND + +arp_ops = ARPOP_REQUEST, ARPOP_REPLY, ARPOP_REVREQUEST, ARPOP_REVREPLY, ARPOP_INVREQUEST, ARPOP_INVREPLY + +arp_generic_packet { + ar_hrd flags[arp_hrds, int16be] + ar_pro flags[ether_types, int16be] + ar_hln const[6, int8] + ar_pln len[ar_spa, int8] + ar_op flags[arp_ops, int16be] + ar_sha mac_addr + ar_spa array[int8, 0:16] + ar_tha mac_addr + ar_tpa array[int8, 16] +} [packed] + +arp_ether_ipv4_packet { + ar_hrd const[ARPHRD_ETHER, int16be] + ar_pro const[ETHERTYPE_IP, int16be] + ar_hln const[6, int8] + ar_pln const[4, int8] + ar_op flags[arp_ops, int16be] + ar_sha mac_addr + ar_spa ipv4_addr + ar_tha mac_addr + ar_tpa ipv4_addr +} [packed] + +arp_packet [ + generic arp_generic_packet + ether_ipv4 arp_ether_ipv4_packet +] [varlen] + +################################################################################ +##################################### IPv4 ##################################### +################################################################################ + +# https://tools.ietf.org/html/rfc791#section-3.1 +# https://en.wikipedia.org/wiki/IPv4#Header + +# This corresponds to LOCAL_IPV4 ("172.20.%d.170" % pid) in executor/common_bsd.h ipv4_addr_local { a0 const[0xac, int8] a1 const[0x14, int8] @@ -27,7 +157,7 @@ ipv4_addr_local { a3 const[0xaa, int8] } [packed] -# This corresponds to LOCAL_IPV4 ("172.20.%d.187" % pid) in executor/common.h +# This corresponds to LOCAL_IPV4 ("172.20.%d.187" % pid) in executor/common_bsd.h ipv4_addr_remote { a0 const[0xac, int8] a1 const[0x14, int8] @@ -54,11 +184,313 @@ ipv4_addr [ rand_addr int32be ] +# http://www.iana.org/assignments/ip-parameters/ip-parameters.xhtml#ip-parameters-1 +ipv4_option [ + generic ipv4_option_generic + end ipv4_option_end + noop ipv4_option_noop + lsrr ipv4_option_lsrr + ssrr ipv4_option_ssrr + rr ipv4_option_rr + timestamp ipv4_option_timestamp + ra ipv4_option_ra +] [varlen] + +ipv4_option_types = IPOPT_EOL, IPOPT_NOP, IPOPT_RR, IPOPT_TS, IPOPT_SECURITY, IPOPT_LSRR, IPOPT_ESO, IPOPT_CIPSO, IPOPT_SATID, IPOPT_SSRR, IPOPT_RA + +ipv4_option_generic { + type flags[ipv4_option_types, int8] + length len[parent, int8] + data array[int8, 0:16] +} [packed] + +# https://tools.ietf.org/html/rfc791#section-3.1 +ipv4_option_end { + type const[IPOPT_EOL, int8] +} [packed] + +# https://tools.ietf.org/html/rfc791#section-3.1 +ipv4_option_noop { + type const[IPOPT_NOP, int8] +} [packed] + +# https://tools.ietf.org/html/rfc791#section-3.1 +ipv4_option_lsrr { + type const[IPOPT_LSRR, int8] + length len[parent, int8] + pointer int8 + data array[ipv4_addr] +} [packed] + +# https://tools.ietf.org/html/rfc791#section-3.1 +ipv4_option_ssrr { + type const[IPOPT_SSRR, int8] + length len[parent, int8] + pointer int8 + data array[ipv4_addr] +} [packed] + +# https://tools.ietf.org/html/rfc791#section-3.1 +ipv4_option_rr { + type const[IPOPT_RR, int8] + length len[parent, int8] + pointer int8 + data array[ipv4_addr] +} [packed] + +ipv4_option_timestamp_flags = IPOPT_TS_TSONLY, IPOPT_TS_TSANDADDR, IPOPT_TS_PRESPEC + +ipv4_option_timestamp_timestamp { + addr array[ipv4_addr, 0:1] + timestamp int32be +} [packed] + +# https://tools.ietf.org/html/rfc791#section-3.1 +# http://www.networksorcery.com/enp/protocol/ip/option004.htm +ipv4_option_timestamp { + type const[IPOPT_TS, int8] + length len[parent, int8] + pointer int8 + flg flags[ipv4_option_timestamp_flags, int8:4] + oflw int8:4 + timestamps array[ipv4_option_timestamp_timestamp] +} [packed] + +# https://tools.ietf.org/html/rfc2113 +ipv4_option_ra { + type const[IPOPT_RA, int8] + length len[parent, int8] + value int32be +} [packed] + +ipv4_options { + options array[ipv4_option] +} [packed, align_4] + +ipv4_types = IPPROTO_ICMP, IPPROTO_IGMP, IPPROTO_IPV4, IPPROTO_TCP, IPPROTO_ST, IPPROTO_EGP, IPPROTO_PIGP, IPPROTO_RCCMON, IPPROTO_NVPII, IPPROTO_PUP, IPPROTO_ARGUS, IPPROTO_EMCON, IPPROTO_XNET, IPPROTO_CHAOS, IPPROTO_UDP, IPPROTO_MUX, IPPROTO_MEAS, IPPROTO_HMP, IPPROTO_PRM, IPPROTO_IDP, IPPROTO_TRUNK1, IPPROTO_TRUNK2, IPPROTO_LEAF1, IPPROTO_LEAF2, IPPROTO_RDP, IPPROTO_IRTP, IPPROTO_TP, IPPROTO_BLT, IPPROTO_NSP, IPPROTO_INP, IPPROTO_SEP, IPPROTO_3PC, IPPROTO_IDPR, IPPROTO_XTP, IPPROTO_DDP, IPPROTO_CMTP, IPPROTO_TPXX, IPPROTO_IL, IPPROTO_SDRP, IPPROTO_IDRP, IPPROTO_RSVP, IPPROTO_GRE, IPPROTO_MHRP, IPPROTO_BHA, IPPROTO_ESP, IPPROTO_AH, IPPROTO_INLSP, IPPROTO_SWIPE, IPPROTO_NHRP, IPPROTO_MOBILE, IPPROTO_TLSP, IPPROTO_SKIP, IPPROTO_AHIP, IPPROTO_CFTP, IPPROTO_HELLO, IPPROTO_SATEXPAK, IPPROTO_KRYPTOLAN, IPPROTO_RVD, IPPROTO_IPPC, IPPROTO_ADFS, IPPROTO_SATMON, IPPROTO_VISA, IPPROTO_IPCV, IPPROTO_CPNX, IPPROTO_CPHB, IPPROTO_WSN, IPPROTO_PVP, IPPROTO_BRSATMON, IPPROTO_ND, IPPROTO_WBMON, IPPROTO_WBEXPAK, IPPROTO_EON, IPPROTO_VMTP, IPPROTO_SVMTP, IPPROTO_VINES, IPPROTO_TTP, IPPROTO_IGP, IPPROTO_DGP, IPPROTO_TCF, IPPROTO_IGRP, IPPROTO_OSPFIGP, IPPROTO_SRPC, IPPROTO_LARP, IPPROTO_MTP, IPPROTO_AX25, IPPROTO_IPEIP, IPPROTO_MICP, IPPROTO_SCCSP, IPPROTO_ETHERIP, IPPROTO_ENCAP, IPPROTO_APES, IPPROTO_GMTP, IPPROTO_IPCOMP, IPPROTO_IPCOMP, IPPROTO_MH, IPPROTO_UDPLITE, IPPROTO_HIP, IPPROTO_SHIM6, IPPROTO_PIM, IPPROTO_CARP, IPPROTO_PGM, IPPROTO_MPLS, IPPROTO_PFSYNC + +ipv4_header { + ihl bytesize4[parent, int8:4] + version const[4, int8:4] + ecn int8:2 + dscp int8:6 + total_len len[ipv4_packet, int16be] + id int16be[100:104] + frag_off int16be +# TODO: frag_off is actually 13 bits, 3 bits are flags + ttl int8 + protocol flags[ipv4_types, int8] + csum csum[parent, inet, int16be] + src_ip ipv4_addr + dst_ip ipv4_addr + options ipv4_options +} [packed] + +ipv4_packet { + header ipv4_header + payload ipv4_payload +} [packed] + +ipv4_payload [ + generic array[int8] + tcp tcp_packet + udp udp_packet + icmp icmp_packet +] [varlen] + +################################################################################ +###################################### ICMP #################################### +################################################################################ + +# https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#ICMP_datagram_structure +# https://tools.ietf.org/html/rfc792 +# https://tools.ietf.org/html/rfc4884#section-4.1 +# http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml + +icmp_ipv4_header { + ihl bytesize4[parent, int8:4] + version const[4, int8:4] + ecn int8:2 + dscp int8:6 + total_len int16be + id icmp_id + frag_off int16be + ttl int8 + protocol flags[ipv4_types, int8] + csum int16be + src_ip ipv4_addr + dst_ip ipv4_addr + options ipv4_options +} [packed] + +icmp_types = ICMP_ECHOREPLY, ICMP_UNREACH, ICMP_SOURCEQUENCH, ICMP_REDIRECT, ICMP_ALTHOSTADDR, ICMP_ECHO, ICMP_ROUTERADVERT, ICMP_ROUTERSOLICIT, ICMP_TIMXCEED, ICMP_PARAMPROB, ICMP_TSTAMP, ICMP_TSTAMPREPLY, ICMP_IREQ, ICMP_IREQREPLY, ICMP_MASKREQ, ICMP_MASKREPLY, ICMP_TRACEROUTE, ICMP_DATACONVERR, ICMP_MOBILE_REDIRECT, ICMP_IPV6_WHEREAREYOU, ICMP_IPV6_IAMHERE, ICMP_MOBILE_REGREQUEST, ICMP_MOBILE_REGREPLY, ICMP_SKIP, ICMP_PHOTURIS + +icmp_generic_packet { + type flags[icmp_types, int8] + code int8 + csum csum[parent, inet, int16be] + data array[int8] +} [packed] + +icmp_echo_reply_packet { + type const[ICMP_ECHOREPLY, int8] + code const[0, int8] + csum csum[parent, inet, int16be] + id icmp_id + seq_num int16be + data array[int8] +} [packed] + +type icmp_id int16be[100:104] + +icmp_dest_unreach_codes = ICMP_UNREACH_NET, ICMP_UNREACH_HOST, ICMP_UNREACH_PROTOCOL, ICMP_UNREACH_PORT, ICMP_UNREACH_NEEDFRAG, ICMP_UNREACH_SRCFAIL, ICMP_UNREACH_NET_UNKNOWN, ICMP_UNREACH_HOST_UNKNOWN, ICMP_UNREACH_ISOLATED, ICMP_UNREACH_NET_PROHIB, ICMP_UNREACH_HOST_PROHIB, ICMP_UNREACH_TOSNET, ICMP_UNREACH_TOSHOST, ICMP_UNREACH_FILTER_PROHIB, ICMP_UNREACH_HOST_PRECEDENCE, ICMP_UNREACH_PRECEDENCE_CUTOFF + +icmp_dest_unreach_packet { + type const[ICMP_UNREACH, int8] + code flags[icmp_dest_unreach_codes, int8] + csum csum[parent, inet, int16be] + unused const[0, int8] + length int8 + mtu int16be + iph icmp_ipv4_header + data array[int8, 0:8] +} [packed] + +icmp_source_quench_packet { + type const[ICMP_SOURCEQUENCH, int8] + code const[0, int8] + csum csum[parent, inet, int16be] + unused const[0, int32] + iph icmp_ipv4_header + data array[int8, 0:8] +} [packed] + +icmp_redirect_codes = ICMP_REDIRECT_NET, ICMP_REDIRECT_HOST, ICMP_REDIRECT_TOSNET, ICMP_REDIRECT_TOSHOST + +icmp_redirect_packet { + type const[ICMP_REDIRECT, int8] + code flags[icmp_redirect_codes, int8] + csum csum[parent, inet, int16be] + ip ipv4_addr + iph icmp_ipv4_header + data array[int8, 0:8] +} [packed] + +icmp_echo_packet { + type const[ICMP_ECHO, int8] + code const[0, int8] + csum csum[parent, inet, int16be] + id int16be + seq_num int16be + data array[int8] +} [packed] + +icmp_time_exceeded_codes = ICMP_TIMXCEED_INTRANS, ICMP_TIMXCEED_REASS + +icmp_time_exceeded_packet { + type const[ICMP_TIMXCEED, int8] + code flags[icmp_time_exceeded_codes, int8] + csum csum[parent, inet, int16be] + unused1 const[0, int8] + length int8 + unused2 const[0, int16] + iph icmp_ipv4_header + data array[int8, 0:8] +} [packed] + +icmp_parameter_prob_codes = ICMP_PARAMPROB_ERRATPTR, ICMP_PARAMPROB_OPTABSENT, ICMP_PARAMPROB_LENGTH + +icmp_parameter_prob_packet { + type const[ICMP_PARAMPROB, int8] + code flags[icmp_parameter_prob_codes, int8] + csum csum[parent, inet, int16be] + pointer int8 + length int8 + unused const[0, int16] + iph icmp_ipv4_header + data array[int8, 0:8] +} [packed] + +icmp_timestamp_packet { + type const[ICMP_TSTAMP, int8] + code const[0, int8] + csum csum[parent, inet, int16be] + id int16be + seq_num int16be + orig_ts int32be + recv_ts int32be + trans_ts int32be +} [packed] + +icmp_timestamp_reply_packet { + type const[ICMP_TSTAMPREPLY, int8] + code const[0, int8] + csum csum[parent, inet, int16be] + id int16be + seq_num int16be + orig_ts int32be + recv_ts int32be + trans_ts int32be +} [packed] + +icmp_info_request_packet { + type const[ICMP_IREQ, int8] + code const[0, int8] + csum csum[parent, inet, int16be] + id int16be + seq_num int16be +} [packed] + +icmp_info_reply_packet { + type const[ICMP_IREQREPLY, int8] + code const[0, int8] + csum csum[parent, inet, int16be] + id int16be + seq_num int16be +} [packed] + +icmp_mask_request_packet { + type const[ICMP_MASKREQ, int8] + code const[0, int8] + csum csum[parent, inet, int16be] + mask int32be +} [packed] + +icmp_mask_reply_packet { + type const[ICMP_MASKREPLY, int8] + code const[0, int8] + csum csum[parent, inet, int16be] + mask int32be +} [packed] + +icmp_packet [ + generic icmp_generic_packet + echo_reply icmp_echo_reply_packet + dest_unreach icmp_dest_unreach_packet + source_quench icmp_source_quench_packet + redirect icmp_redirect_packet + echo icmp_echo_packet + time_exceeded icmp_time_exceeded_packet + parameter_prob icmp_parameter_prob_packet + timestamp icmp_timestamp_packet + timestamp_reply icmp_timestamp_reply_packet + info_request icmp_info_request_packet + info_reply icmp_info_reply_packet + mask_request icmp_mask_request_packet + mask_reply icmp_mask_reply_packet +] [varlen] + +################################################################################ +##################################### IPv6 ##################################### +################################################################################ + +ipv6_types = IPPROTO_IPV4, IPPROTO_TCP, IPPROTO_ST, IPPROTO_EGP, IPPROTO_PIGP, IPPROTO_RCCMON, IPPROTO_NVPII, IPPROTO_PUP, IPPROTO_ARGUS, IPPROTO_EMCON, IPPROTO_XNET, IPPROTO_CHAOS, IPPROTO_UDP, IPPROTO_MUX, IPPROTO_MEAS, IPPROTO_HMP, IPPROTO_PRM, IPPROTO_IDP, IPPROTO_TRUNK1, IPPROTO_TRUNK2, IPPROTO_LEAF1, IPPROTO_LEAF2, IPPROTO_RDP, IPPROTO_IRTP, IPPROTO_TP, IPPROTO_BLT, IPPROTO_NSP, IPPROTO_INP, IPPROTO_SEP, IPPROTO_3PC, IPPROTO_IDPR, IPPROTO_XTP, IPPROTO_DDP, IPPROTO_CMTP, IPPROTO_TPXX, IPPROTO_IL, IPPROTO_SDRP, IPPROTO_ROUTING, IPPROTO_FRAGMENT, IPPROTO_IDRP, IPPROTO_RSVP, IPPROTO_GRE, IPPROTO_MHRP, IPPROTO_BHA, IPPROTO_ESP, IPPROTO_AH, IPPROTO_INLSP, IPPROTO_SWIPE, IPPROTO_NHRP, IPPROTO_MOBILE, IPPROTO_TLSP, IPPROTO_SKIP, IPPROTO_ICMPV6, IPPROTO_NONE, IPPROTO_DSTOPTS, IPPROTO_AHIP, IPPROTO_CFTP, IPPROTO_HELLO, IPPROTO_SATEXPAK, IPPROTO_KRYPTOLAN, IPPROTO_RVD, IPPROTO_IPPC, IPPROTO_ADFS, IPPROTO_SATMON, IPPROTO_VISA, IPPROTO_IPCV, IPPROTO_CPNX, IPPROTO_CPHB, IPPROTO_WSN, IPPROTO_PVP, IPPROTO_BRSATMON, IPPROTO_ND, IPPROTO_WBMON, IPPROTO_WBEXPAK, IPPROTO_EON, IPPROTO_VMTP, IPPROTO_SVMTP, IPPROTO_VINES, IPPROTO_TTP, IPPROTO_IGP, IPPROTO_DGP, IPPROTO_TCF, IPPROTO_IGRP, IPPROTO_OSPFIGP, IPPROTO_SRPC, IPPROTO_LARP, IPPROTO_MTP, IPPROTO_AX25, IPPROTO_IPEIP, IPPROTO_MICP, IPPROTO_SCCSP, IPPROTO_ETHERIP, IPPROTO_ENCAP, IPPROTO_APES, IPPROTO_GMTP, IPPROTO_IPCOMP, IPPROTO_IPCOMP, IPPROTO_MH, IPPROTO_UDPLITE, IPPROTO_HIP, IPPROTO_SHIM6, IPPROTO_PIM, IPPROTO_CARP, IPPROTO_PGM, IPPROTO_MPLS, IPPROTO_PFSYNC + ipv6_addr_empty { a0 array[const[0x0, int8], 16] } -# This corresponds to LOCAL_IPV6 ("fe80::%02hxaa" % pid) in executor/common.h +# This corresponds to LOCAL_IPV6 ("fe80::%02hxaa" % pid) in executor/common_bsd.h ipv6_addr_local { a0 const[0xfe, int8] a1 const[0x80, int8] @@ -67,7 +499,7 @@ ipv6_addr_local { a4 const[0xaa, int8] } [packed] -# This corresponds to REMOTE_IPV6 ("fe80::%02hxbb" % pid) in executor/common.h +# This corresponds to REMOTE_IPV6 ("fe80::%02hxbb" % pid) in executor/common_bsd.h ipv6_addr_remote { a0 const[0xfe, int8] a1 const[0x80, int8] @@ -81,9 +513,478 @@ ipv6_addr_loopback { a1 const[1, int64be] } [packed] +ipv6_addr_ipv4 { + a0 array[const[0x0, int8], 10] + a1 array[const[0xff, int8], 2] + a3 ipv4_addr +} [packed] + +ipv6_addr_multicast1 { + a0 const[0xff, int8] + a1 const[0x1, int8] + a2 array[const[0x0, int8], 13] + a3 const[0x1, int8] +} [packed] + +ipv6_addr_multicast2 { + a0 const[0xff, int8] + a1 const[0x2, int8] + a2 array[const[0x0, int8], 13] + a3 const[0x1, int8] +} [packed] + ipv6_addr [ + rand_addr array[int8, 16] empty ipv6_addr_empty local ipv6_addr_local remote ipv6_addr_remote loopback ipv6_addr_loopback -] + ipv4 ipv6_addr_ipv4 + mcast1 ipv6_addr_multicast1 + mcast2 ipv6_addr_multicast2 +] [size[16]] + +# https://tools.ietf.org/html/rfc2402 +# https://tools.ietf.org/html/rfc2406 +# https://tools.ietf.org/html/rfc3775 + +# https://tools.ietf.org/html/rfc2460#section-4 +# The length field in each of the extension headers specifies the +# length of the header in 8-octet units not including the first 8 octets. + +ipv6_ext_header [ + hopopts ipv6_hopots_ext_header + routing ipv6_rt_hdr + fragment ipv6_fragment_ext_header + dstopts ipv6_dstopts_ext_header +] [varlen] + +ipv6_hopots_ext_header { + next_header flags[ipv6_types, int8] + length bytesize8[options, int8] + pad array[const[0, int8], 6] + options array[ipv6_tlv_option] +} [packed, align_8] + +ipv6_routing_types = IPV6_RTHDR_LOOSE, IPV6_RTHDR_STRICT, IPV6_RTHDR_TYPE_0 + +ipv6_rt_hdr { + next_header flags[ipv6_types, int8] + length bytesize8[data, int8] + routing_type flags[ipv6_routing_types, int8] + segments_left int8 + reserved const[0, int32] + data array[ipv6_addr] +} [packed, align_8] + +ipv6_fragment_ext_header { + next_header flags[ipv6_types, int8] + reserved1 const[0, int8] + fragment_off_hi int8 + m_flag int8:1 + reserved2 const[0, int8:2] + fragment_off_lo int8:5 + identification int32[100:104] +} [packed, align_8] + +ipv6_dstopts_ext_header { + next_header flags[ipv6_types, int8] + length bytesize8[options, int8] + pad array[const[0, int8], 6] + options array[ipv6_tlv_option] +} [packed, align_8] + +ipv6_tlv_option [ + generic ipv6_tlv_generic + pad1 ipv6_tlv_pad1 + padn ipv6_tlv_padn + jumbo ipv6_tlv_jumbo + enc_lim ipv6_tlv_tun_lim + ra ipv6_tlv_ra +] [varlen] + +ipv6_tlv_generic { + type int8 + length len[data, int8] + data array[int8] +} [packed] + +ipv6_tlv_pad1 { + type const[IP6OPT_PAD1, int8] + len const[1, int8] + pad const[0, int8] +} [packed] + +ipv6_tlv_padn { + type const[IP6OPT_PADN, int8] + len len[pad, int8] + pad array[const[0, int8]] +} [packed] + +ipv6_tlv_jumbo { + type const[IP6OPT_JUMBO, int8] + len const[4, int8] + pkt_len int32be +} [packed] + +ipv6_tlv_tun_lim { + type const[IP6OPT_TUNNEL_LIMIT, int8] + len const[1, int8] + encap_limit int8 +} [packed] + +ipv6_tlv_ra { + type const[IP6OPT_ROUTER_ALERT, int8] + len const[2, int8] + ra int16be +} [packed] + +ipv6_packet { + priority int8:4 + version const[6, int8:4] + flow_label array[int8, 3] +# TODO: flow_label is actually 20 bits, 4 bits are part of priority + length len[payload, int16be] + next_header flags[ipv6_types, int8] + hop_limit int8 + src_ip ipv6_addr + dst_ip ipv6_addr + payload ipv6_packet_payload +} [packed] + +ipv6_packet_payload { + ext_headers array[ipv6_ext_header] + payload ipv6_payload +} [packed] + +ipv6_payload [ + generic array[int8] + tcp tcp_packet + udp udp_packet + icmpv6 icmpv6_packet +] [varlen] + +################################################################################ +##################################### ICMPv6 ################################### +################################################################################ + +# https://tools.ietf.org/html/rfc4443 +# http://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml + +icmpv6_ipv6_packet { + priority int8:4 + version const[6, int8:4] + flow_label array[int8, 3] + length int16be + next_header flags[ipv6_types, int8] + hop_limit int8 + src_ip ipv6_addr + dst_ip ipv6_addr + ext_headers array[ipv6_ext_header] + data array[int8] +} [packed] + +icmpv6_dest_unreach_codes = ICMP6_DST_UNREACH_NOROUTE, ICMP6_DST_UNREACH_ADMIN, ICMP6_DST_UNREACH_NOTNEIGHBOR, ICMP6_DST_UNREACH_BEYONDSCOPE, ICMP6_DST_UNREACH_ADDR, ICMP6_DST_UNREACH_NOPORT, ICMP6_DST_UNREACH_POLICY, ICMP6_DST_UNREACH_REJECT, ICMP6_DST_UNREACH_SRCROUTE + +icmpv6_dest_unreach_packet { + type const[ICMP6_DST_UNREACH, int8] + code flags[icmpv6_dest_unreach_codes, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + length int8 + unused array[const[0, int8], 3] + packet icmpv6_ipv6_packet +} [packed] + +icmpv6_pkt_toobig_packet { + type const[ICMP6_PACKET_TOO_BIG, int8] + code const[0, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + mtu int32be + packet icmpv6_ipv6_packet +} [packed] + +icmpv6_time_exceed_codes = ICMP6_TIME_EXCEED_TRANSIT, ICMP6_TIME_EXCEED_REASSEMBLY + +icmpv6_time_exceed_packet { + type const[ICMP6_TIME_EXCEEDED, int8] + code flags[icmpv6_time_exceed_codes, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + length int8 + unused array[const[0, int8], 3] + packet icmpv6_ipv6_packet +} [packed] + +icmpv6_param_prob_codes = ICMP6_PARAMPROB_HEADER, ICMP6_PARAMPROB_NEXTHEADER, ICMP6_PARAMPROB_OPTION + +icmpv6_param_prob_packet { + type const[ICMP6_PARAM_PROB, int8] + code flags[icmpv6_param_prob_codes, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + pointer int32be + packet icmpv6_ipv6_packet +} [packed] + +icmpv6_echo_request_packet { + type const[ICMP6_ECHO_REQUEST, int8] + code const[0, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + id int16be + seq_num int16be + data array[int8] +} [packed] + +icmpv6_echo_reply_packet { + type const[ICMP6_ECHO_REPLY, int8] + code const[0, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + id int16be + seq_num int16be + data array[int8] +} [packed] + +icmpv6_mld_types = MLD_LISTENER_QUERY, MLD_LISTENER_REPORT, MLD_LISTENER_REDUCTION + +# https://tools.ietf.org/html/rfc2710#section-3 +icmpv6_mld_packet { + type flags[icmpv6_mld_types, int8] + code const[0, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + mrd int16be + unused int16 + addr ipv6_addr +} [packed] + +icmpv6_ni_types = ICMP6_NI_QUERY, ICMP6_NI_REPLY + +# https://tools.ietf.org/html/rfc4620#section-4 +icmpv6_ni_packet { + type flags[icmpv6_ni_types, int8] + code const[0, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + qtype int16be + flags int16be + nonce int64be + data array[int8] +} [packed] + +icmpv6_ndisc_option_types = ND_OPT_SOURCE_LINKADDR, ND_OPT_TARGET_LINKADDR, ND_OPT_PREFIX_INFORMATION, ND_OPT_REDIRECTED_HEADER, ND_OPT_MTU, ND_OPT_NONCE, ND_OPT_ROUTE_INFO, ND_OPT_RDNSS, ND_OPT_DNSSL + +# https://tools.ietf.org/html/rfc4861#section-4.6 +icmpv6_ndisc_option { + option_type flags[icmpv6_ndisc_option_types, int8] + length bytesize8[parent, int8] +# TODO: define the option formats + data array[int8] +} [packed] + +# https://tools.ietf.org/html/rfc4861#section-4.1 +icmpv6_ndisc_router_solicit_packet { + type const[ND_ROUTER_SOLICIT, int8] + code const[0, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + unused array[const[0, int8], 4] + options array[icmpv6_ndisc_option] +} [packed] + +# https://tools.ietf.org/html/rfc4861#section-4.2 +icmpv6_ndisc_router_advert_packet { + type const[ND_ROUTER_ADVERT, int8] + code const[0, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + cur_hop_limit int8 +# TODO: Implement bitflags for the router advert flags + router_flags int8 + router_lifetime int16 + reachable_time int32 + retrans_time int32 + options array[icmpv6_ndisc_option] +} [packed] + +# https://tools.ietf.org/html/rfc4861#section-4.3 +icmpv6_ndisc_neigh_solicit_packet { + type const[ND_NEIGHBOR_SOLICIT, int8] + code const[0, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + target_addr ipv6_addr + options array[icmpv6_ndisc_option] +} [packed] + +# https://tools.ietf.org/html/rfc4861#section-4.4 +icmpv6_ndisc_neigh_advert_packet { + type const[ND_NEIGHBOR_ADVERT, int8] + code const[0, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] +# TODO: Implement bitflags for the neighbor advert flags + neighbor_flags int8 + unused array[const[0, int8], 3] + target_addr ipv6_addr + options array[icmpv6_ndisc_option] +} [packed] + +# https://tools.ietf.org/html/rfc4861#section-4.5 +icmpv6_ndisc_redir_packet { + type const[ND_REDIRECT, int8] + code const[0, int8] + csum csum[parent, pseudo, IPPROTO_ICMPV6, int16be] + unused array[const[0, int8], 4] + target_addr ipv6_addr + dst_addr ipv6_addr + options array[icmpv6_ndisc_option] +} [packed] + +icmpv6_packet [ + dest_unreach icmpv6_dest_unreach_packet + pkt_toobig icmpv6_pkt_toobig_packet + time_exceed icmpv6_time_exceed_packet + param_prob icmpv6_param_prob_packet + echo_request icmpv6_echo_request_packet + echo_reply icmpv6_echo_reply_packet + mld icmpv6_mld_packet + ni icmpv6_ni_packet + ndisc_rs icmpv6_ndisc_router_solicit_packet + ndisc_ra icmpv6_ndisc_router_advert_packet + ndisc_na icmpv6_ndisc_neigh_advert_packet + ndisc_ns icmpv6_ndisc_neigh_solicit_packet + ndisc_redir icmpv6_ndisc_redir_packet +] [varlen] + +################################################################################ +###################################### TCP ##################################### +################################################################################ + +# https://tools.ietf.org/html/rfc793#section-3.1 +# https://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure +# http://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml + +tcp_option [ + generic tcp_generic_option + nop tcp_nop_option + eol tcp_eol_option + mss tcp_mss_option + window tcp_window_option + sack_perm tcp_sack_perm_option + sack tcp_sack_option + timestamp tcp_timestamp_option + md5sig tcp_md5sig_option + fastopen tcp_fastopen_option +] [varlen] + +tcp_option_types = TCPOPT_EOL, TCPOPT_NOP, TCPOPT_MAXSEG, TCPOPT_WINDOW, TCPOPT_SACK_PERMITTED, TCPOPT_SACK, TCPOPT_TIMESTAMP, TCPOPT_SIGNATURE, TCPOPT_FAST_OPEN + +tcp_generic_option { + type flags[tcp_option_types, int8] + length len[parent, int8] + data array[int8, 0:16] +} [packed] + +# https://tools.ietf.org/html/rfc793#section-3.1 +tcp_eol_option { + type const[TCPOPT_EOL, int8] +} [packed] + +# https://tools.ietf.org/html/rfc793#section-3.1 +tcp_nop_option { + type const[TCPOPT_NOP, int8] +} [packed] + +# https://tools.ietf.org/html/rfc793#section-3.1 +tcp_mss_option { + type const[TCPOPT_MAXSEG, int8] + length len[parent, int8] + seg_size int16 +} [packed] + +# https://tools.ietf.org/html/rfc7323#section-2 +tcp_window_option { + type const[TCPOPT_WINDOW, int8] + length len[parent, int8] + shift int8 +} [packed] + +# https://tools.ietf.org/html/rfc2018#section-2 +tcp_sack_perm_option { + type const[TCPOPT_SACK_PERMITTED, int8] + length len[parent, int8] +} [packed] + +# https://tools.ietf.org/html/rfc2018#section-3 +tcp_sack_option { + type const[TCPOPT_SACK, int8] + length len[parent, int8] + data array[int32be] +} [packed] + +# https://tools.ietf.org/html/rfc7323#section-3 +tcp_timestamp_option { + type const[TCPOPT_TIMESTAMP, int8] + length len[parent, int8] + tsval int32be + tsecr int32be +} [packed] + +# https://tools.ietf.org/html/rfc2385#section-3.0 +tcp_md5sig_option { + type const[TCPOPT_SIGNATURE, int8] + length len[parent, int8] + md5 array[int8, 16] +} [packed] + +# https://tools.ietf.org/html/rfc7413#section-4.1.1 +tcp_fastopen_option { + type const[TCPOPT_FAST_OPEN, int8] + length len[parent, int8] + data array[int8, 0:16] +} [packed] + +tcp_options { + options array[tcp_option] +} [packed, align_4] + +tcp_flags = 0, TH_FIN, TH_SYN, TH_RST, TH_PUSH, TH_ACK, TH_URG, TH_ECE, TH_CWR + +tcp_header { + src_port sock_port + dst_port sock_port + seq_num tcp_seq_num + ack_num tcp_seq_num + ns int8:1 + reserved const[0, int8:3] + data_off bytesize4[parent, int8:4] + flags flags[tcp_flags, int8] + window_size int16be + csum csum[tcp_packet, pseudo, IPPROTO_TCP, int16be] + urg_ptr int16be + options tcp_options +} [packed] + +tcp_packet { + header tcp_header + payload tcp_payload +} [packed] + +tcp_payload { + payload array[int8] +} [packed] + +################################################################################ +###################################### UDP ##################################### +################################################################################ + +# https://tools.ietf.org/html/rfc768 +# https://en.wikipedia.org/wiki/User_Datagram_Protocol#Packet_structure + +udp_header { + src_port sock_port + dst_port sock_port + length len[parent, int16be] + csum csum[parent, pseudo, IPPROTO_UDP, int16be] +} [packed] + +udp_packet { + header udp_header + payload udp_payload +} [packed] + +udp_payload { + payload array[int8] +} [packed] diff --git a/sys/freebsd/vnet_amd64.const b/sys/freebsd/vnet_amd64.const new file mode 100644 index 000000000..caade9084 --- /dev/null +++ b/sys/freebsd/vnet_amd64.const @@ -0,0 +1,425 @@ +# AUTOGENERATED FILE +ARPHRD_ETHER = 1 +ARPHRD_FRELAY = 15 +ARPHRD_IEEE1394 = 24 +ARPHRD_IEEE802 = 6 +ARPHRD_INFINIBAND = 32 +ARPOP_INVREPLY = 9 +ARPOP_INVREQUEST = 8 +ARPOP_REPLY = 2 +ARPOP_REQUEST = 1 +ARPOP_REVREPLY = 4 +ARPOP_REVREQUEST = 3 +ETHERTYPE_8023 = 4 +ETHERTYPE_AARP = 33011 +ETHERTYPE_ACCTON = 33680 +ETHERTYPE_AEONIC = 32822 +ETHERTYPE_ALPHA = 33098 +ETHERTYPE_AMBER = 24584 +ETHERTYPE_AMOEBA = 33093 +ETHERTYPE_APOLLO = 33015 +ETHERTYPE_APOLLODOMAIN = 32793 +ETHERTYPE_APPLITEK = 32967 +ETHERTYPE_ARGONAUT = 32826 +ETHERTYPE_ARP = 2054 +ETHERTYPE_ATALK = 32923 +ETHERTYPE_ATOMIC = 34527 +ETHERTYPE_ATT = 32873 +ETHERTYPE_ATTSTANFORD = 32776 +ETHERTYPE_AUTOPHON = 32874 +ETHERTYPE_AXIS = 34902 +ETHERTYPE_BCLOOP = 36867 +ETHERTYPE_BOFL = 33026 +ETHERTYPE_CABLETRON = 28724 +ETHERTYPE_CHAOS = 2052 +ETHERTYPE_COMDESIGN = 32876 +ETHERTYPE_COMPUGRAPHIC = 32877 +ETHERTYPE_COUNTERPOINT = 32866 +ETHERTYPE_CRONUS = 32772 +ETHERTYPE_CRONUSVLN = 32771 +ETHERTYPE_DCA = 4660 +ETHERTYPE_DDE = 32891 +ETHERTYPE_DEBNI = 43690 +ETHERTYPE_DECAM = 32840 +ETHERTYPE_DECCUST = 24582 +ETHERTYPE_DECDIAG = 24581 +ETHERTYPE_DECDNS = 32828 +ETHERTYPE_DECDTS = 32830 +ETHERTYPE_DECEXPER = 24576 +ETHERTYPE_DECLAST = 32833 +ETHERTYPE_DECLTM = 32831 +ETHERTYPE_DECMUMPS = 24585 +ETHERTYPE_DECNETBIOS = 32832 +ETHERTYPE_DECnet = 24579 +ETHERTYPE_DELTACON = 34526 +ETHERTYPE_DIDDLE = 17185 +ETHERTYPE_DLOG1 = 1632 +ETHERTYPE_DLOG2 = 1633 +ETHERTYPE_DOGFIGHT = 6537 +ETHERTYPE_DSMD = 32825 +ETHERTYPE_ECMA = 2051 +ETHERTYPE_ENCRYPT = 32829 +ETHERTYPE_ES = 32861 +ETHERTYPE_EXCELAN = 32784 +ETHERTYPE_EXPERDATA = 32841 +ETHERTYPE_FLIP = 33094 +ETHERTYPE_FLOWCONTROL = 34824 +ETHERTYPE_FRARP = 2056 +ETHERTYPE_GENDYN = 32872 +ETHERTYPE_HAYES = 33072 +ETHERTYPE_HIPPI_FP = 33152 +ETHERTYPE_HITACHI = 34848 +ETHERTYPE_HP = 32773 +ETHERTYPE_IEEEPUP = 2560 +ETHERTYPE_IEEEPUPAT = 2561 +ETHERTYPE_IMLBL = 19522 +ETHERTYPE_IMLBLDIAG = 16972 +ETHERTYPE_IP = 2048 +ETHERTYPE_IPAS = 34668 +ETHERTYPE_IPV6 = 34525 +ETHERTYPE_IPX = 33079 +ETHERTYPE_IPXNEW = 32823 +ETHERTYPE_KALPANA = 34178 +ETHERTYPE_LANBRIDGE = 32824 +ETHERTYPE_LANPROBE = 34952 +ETHERTYPE_LAT = 24580 +ETHERTYPE_LITTLE = 32864 +ETHERTYPE_LOGICRAFT = 33096 +ETHERTYPE_LOOPBACK = 36864 +ETHERTYPE_MATRA = 32890 +ETHERTYPE_MERIT = 32892 +ETHERTYPE_MICP = 34618 +ETHERTYPE_MOPDL = 24577 +ETHERTYPE_MOPRC = 24578 +ETHERTYPE_MOTOROLA = 33165 +ETHERTYPE_MPLS = 34887 +ETHERTYPE_MPLS_MCAST = 34888 +ETHERTYPE_MUMPS = 33087 +ETHERTYPE_NBPCC = 15364 +ETHERTYPE_NBPCLAIM = 15369 +ETHERTYPE_NBPCLREQ = 15365 +ETHERTYPE_NBPCLRSP = 15366 +ETHERTYPE_NBPCREQ = 15362 +ETHERTYPE_NBPCRSP = 15363 +ETHERTYPE_NBPDG = 15367 +ETHERTYPE_NBPDGB = 15368 +ETHERTYPE_NBPDLTE = 15370 +ETHERTYPE_NBPRAR = 15372 +ETHERTYPE_NBPRAS = 15371 +ETHERTYPE_NBPRST = 15373 +ETHERTYPE_NBPSCD = 15361 +ETHERTYPE_NBPVCD = 15360 +ETHERTYPE_NBS = 2050 +ETHERTYPE_NCD = 33097 +ETHERTYPE_NESTAR = 32774 +ETHERTYPE_NETBEUI = 33169 +ETHERTYPE_NOVELL = 33080 +ETHERTYPE_NS = 1536 +ETHERTYPE_NSAT = 1537 +ETHERTYPE_NSCOMPAT = 2055 +ETHERTYPE_OS9 = 28679 +ETHERTYPE_OS9NET = 28681 +ETHERTYPE_PACER = 32966 +ETHERTYPE_PAE = 34958 +ETHERTYPE_PCS = 16962 +ETHERTYPE_PLANNING = 32836 +ETHERTYPE_PPP = 34827 +ETHERTYPE_PPPOE = 34916 +ETHERTYPE_PPPOEDISC = 34915 +ETHERTYPE_PRIMENTS = 28721 +ETHERTYPE_PUP = 512 +ETHERTYPE_PUPAT = 512 +ETHERTYPE_QINQ = 34984 +ETHERTYPE_RACAL = 28720 +ETHERTYPE_RATIONAL = 33104 +ETHERTYPE_RAWFR = 25945 +ETHERTYPE_RCL = 6549 +ETHERTYPE_RDP = 34617 +ETHERTYPE_RETIX = 33010 +ETHERTYPE_REVARP = 32821 +ETHERTYPE_SCA = 24583 +ETHERTYPE_SECTRA = 34523 +ETHERTYPE_SECUREDATA = 34669 +ETHERTYPE_SGITW = 33150 +ETHERTYPE_SG_BOUNCE = 32790 +ETHERTYPE_SG_DIAG = 32787 +ETHERTYPE_SG_NETGAMES = 32788 +ETHERTYPE_SG_RESV = 32789 +ETHERTYPE_SIMNET = 21000 +ETHERTYPE_SLOW = 34825 +ETHERTYPE_SNA = 32981 +ETHERTYPE_SNMP = 33100 +ETHERTYPE_SONIX = 64245 +ETHERTYPE_SPIDER = 32927 +ETHERTYPE_SPRITE = 1280 +ETHERTYPE_STP = 33153 +ETHERTYPE_TALARIS = 33067 +ETHERTYPE_TALARISMC = 34091 +ETHERTYPE_TCPCOMP = 34667 +ETHERTYPE_TCPSM = 36866 +ETHERTYPE_TEC = 33103 +ETHERTYPE_TEST = 34850 +ETHERTYPE_TIGAN = 32815 +ETHERTYPE_TRANSETHER = 25944 +ETHERTYPE_TYMSHARE = 32814 +ETHERTYPE_UBBST = 28677 +ETHERTYPE_UBDEBUG = 2304 +ETHERTYPE_UBDIAGLOOP = 28674 +ETHERTYPE_UBDL = 28672 +ETHERTYPE_UBNIU = 28673 +ETHERTYPE_UBNMC = 28675 +ETHERTYPE_VALID = 5632 +ETHERTYPE_VARIAN = 32989 +ETHERTYPE_VAXELN = 32827 +ETHERTYPE_VEECO = 32871 +ETHERTYPE_VEXP = 32859 +ETHERTYPE_VGLAB = 33073 +ETHERTYPE_VINES = 2989 +ETHERTYPE_VINESECHO = 2991 +ETHERTYPE_VINESLOOP = 2990 +ETHERTYPE_VITAL = 65280 +ETHERTYPE_VLAN = 33024 +ETHERTYPE_VLTLMAN = 32896 +ETHERTYPE_VPROD = 32860 +ETHERTYPE_VURESERVED = 33095 +ETHERTYPE_WATERLOO = 33072 +ETHERTYPE_WELLFLEET = 33027 +ETHERTYPE_X25 = 2053 +ETHERTYPE_X75 = 2049 +ETHERTYPE_XNSSM = 36865 +ETHERTYPE_XTP = 33149 +ICMP6_DST_UNREACH = 1 +ICMP6_DST_UNREACH_ADDR = 3 +ICMP6_DST_UNREACH_ADMIN = 1 +ICMP6_DST_UNREACH_BEYONDSCOPE = 2 +ICMP6_DST_UNREACH_NOPORT = 4 +ICMP6_DST_UNREACH_NOROUTE = 0 +ICMP6_DST_UNREACH_NOTNEIGHBOR = 2 +ICMP6_DST_UNREACH_POLICY = 5 +ICMP6_DST_UNREACH_REJECT = 6 +ICMP6_DST_UNREACH_SRCROUTE = 7 +ICMP6_ECHO_REPLY = 129 +ICMP6_ECHO_REQUEST = 128 +ICMP6_NI_QUERY = 139 +ICMP6_NI_REPLY = 140 +ICMP6_PACKET_TOO_BIG = 2 +ICMP6_PARAMPROB_HEADER = 0 +ICMP6_PARAMPROB_NEXTHEADER = 1 +ICMP6_PARAMPROB_OPTION = 2 +ICMP6_PARAM_PROB = 4 +ICMP6_TIME_EXCEEDED = 3 +ICMP6_TIME_EXCEED_REASSEMBLY = 1 +ICMP6_TIME_EXCEED_TRANSIT = 0 +ICMP_ALTHOSTADDR = 6 +ICMP_DATACONVERR = 31 +ICMP_ECHO = 8 +ICMP_ECHOREPLY = 0 +ICMP_IPV6_IAMHERE = 34 +ICMP_IPV6_WHEREAREYOU = 33 +ICMP_IREQ = 15 +ICMP_IREQREPLY = 16 +ICMP_MASKREPLY = 18 +ICMP_MASKREQ = 17 +ICMP_MOBILE_REDIRECT = 32 +ICMP_MOBILE_REGREPLY = 36 +ICMP_MOBILE_REGREQUEST = 35 +ICMP_PARAMPROB = 12 +ICMP_PARAMPROB_ERRATPTR = 0 +ICMP_PARAMPROB_LENGTH = 2 +ICMP_PARAMPROB_OPTABSENT = 1 +ICMP_PHOTURIS = 40 +ICMP_REDIRECT = 5 +ICMP_REDIRECT_HOST = 1 +ICMP_REDIRECT_NET = 0 +ICMP_REDIRECT_TOSHOST = 3 +ICMP_REDIRECT_TOSNET = 2 +ICMP_ROUTERADVERT = 9 +ICMP_ROUTERSOLICIT = 10 +ICMP_SKIP = 39 +ICMP_SOURCEQUENCH = 4 +ICMP_TIMXCEED = 11 +ICMP_TIMXCEED_INTRANS = 0 +ICMP_TIMXCEED_REASS = 1 +ICMP_TRACEROUTE = 30 +ICMP_TSTAMP = 13 +ICMP_TSTAMPREPLY = 14 +ICMP_UNREACH = 3 +ICMP_UNREACH_FILTER_PROHIB = 13 +ICMP_UNREACH_HOST = 1 +ICMP_UNREACH_HOST_PRECEDENCE = 14 +ICMP_UNREACH_HOST_PROHIB = 10 +ICMP_UNREACH_HOST_UNKNOWN = 7 +ICMP_UNREACH_ISOLATED = 8 +ICMP_UNREACH_NEEDFRAG = 4 +ICMP_UNREACH_NET = 0 +ICMP_UNREACH_NET_PROHIB = 9 +ICMP_UNREACH_NET_UNKNOWN = 6 +ICMP_UNREACH_PORT = 3 +ICMP_UNREACH_PRECEDENCE_CUTOFF = 15 +ICMP_UNREACH_PROTOCOL = 2 +ICMP_UNREACH_SRCFAIL = 5 +ICMP_UNREACH_TOSHOST = 12 +ICMP_UNREACH_TOSNET = 11 +IP6OPT_JUMBO = 194 +IP6OPT_PAD1 = 0 +IP6OPT_PADN = 1 +IP6OPT_ROUTER_ALERT = 5 +IP6OPT_TUNNEL_LIMIT = 4 +IPOPT_CIPSO = 134 +IPOPT_EOL = 0 +IPOPT_ESO = 133 +IPOPT_LSRR = 131 +IPOPT_NOP = 1 +IPOPT_RA = 148 +IPOPT_RR = 7 +IPOPT_SATID = 136 +IPOPT_SECURITY = 130 +IPOPT_SSRR = 137 +IPOPT_TS = 68 +IPOPT_TS_PRESPEC = 3 +IPOPT_TS_TSANDADDR = 1 +IPOPT_TS_TSONLY = 0 +IPPROTO_3PC = 34 +IPPROTO_ADFS = 68 +IPPROTO_AH = 51 +IPPROTO_AHIP = 61 +IPPROTO_APES = 99 +IPPROTO_ARGUS = 13 +IPPROTO_AX25 = 93 +IPPROTO_BHA = 49 +IPPROTO_BLT = 30 +IPPROTO_BRSATMON = 76 +IPPROTO_CARP = 112 +IPPROTO_CFTP = 62 +IPPROTO_CHAOS = 16 +IPPROTO_CMTP = 38 +IPPROTO_CPHB = 73 +IPPROTO_CPNX = 72 +IPPROTO_DDP = 37 +IPPROTO_DGP = 86 +IPPROTO_DSTOPTS = 60 +IPPROTO_EGP = 8 +IPPROTO_EMCON = 14 +IPPROTO_ENCAP = 98 +IPPROTO_EON = 80 +IPPROTO_ESP = 50 +IPPROTO_ETHERIP = 97 +IPPROTO_FRAGMENT = 44 +IPPROTO_GMTP = 100 +IPPROTO_GRE = 47 +IPPROTO_HELLO = 63 +IPPROTO_HIP = 139 +IPPROTO_HMP = 20 +IPPROTO_ICMP = 1 +IPPROTO_ICMPV6 = 58 +IPPROTO_IDP = 22 +IPPROTO_IDPR = 35 +IPPROTO_IDRP = 45 +IPPROTO_IGMP = 2 +IPPROTO_IGP = 85 +IPPROTO_IGRP = 88 +IPPROTO_IL = 40 +IPPROTO_INLSP = 52 +IPPROTO_INP = 32 +IPPROTO_IPCOMP = 108 +IPPROTO_IPCV = 71 +IPPROTO_IPEIP = 94 +IPPROTO_IPPC = 67 +IPPROTO_IPV4 = 4 +IPPROTO_IRTP = 28 +IPPROTO_KRYPTOLAN = 65 +IPPROTO_LARP = 91 +IPPROTO_LEAF1 = 25 +IPPROTO_LEAF2 = 26 +IPPROTO_MEAS = 19 +IPPROTO_MH = 135 +IPPROTO_MHRP = 48 +IPPROTO_MICP = 95 +IPPROTO_MOBILE = 55 +IPPROTO_MPLS = 137 +IPPROTO_MTP = 92 +IPPROTO_MUX = 18 +IPPROTO_ND = 77 +IPPROTO_NHRP = 54 +IPPROTO_NONE = 59 +IPPROTO_NSP = 31 +IPPROTO_NVPII = 11 +IPPROTO_OSPFIGP = 89 +IPPROTO_PFSYNC = 240 +IPPROTO_PGM = 113 +IPPROTO_PIGP = 9 +IPPROTO_PIM = 103 +IPPROTO_PRM = 21 +IPPROTO_PUP = 12 +IPPROTO_PVP = 75 +IPPROTO_RCCMON = 10 +IPPROTO_RDP = 27 +IPPROTO_ROUTING = 43 +IPPROTO_RSVP = 46 +IPPROTO_RVD = 66 +IPPROTO_SATEXPAK = 64 +IPPROTO_SATMON = 69 +IPPROTO_SCCSP = 96 +IPPROTO_SDRP = 42 +IPPROTO_SEP = 33 +IPPROTO_SHIM6 = 140 +IPPROTO_SKIP = 57 +IPPROTO_SRPC = 90 +IPPROTO_ST = 7 +IPPROTO_SVMTP = 82 +IPPROTO_SWIPE = 53 +IPPROTO_TCF = 87 +IPPROTO_TCP = 6 +IPPROTO_TLSP = 56 +IPPROTO_TP = 29 +IPPROTO_TPXX = 39 +IPPROTO_TRUNK1 = 23 +IPPROTO_TRUNK2 = 24 +IPPROTO_TTP = 84 +IPPROTO_UDP = 17 +IPPROTO_UDPLITE = 136 +IPPROTO_VINES = 83 +IPPROTO_VISA = 70 +IPPROTO_VMTP = 81 +IPPROTO_WBEXPAK = 79 +IPPROTO_WBMON = 78 +IPPROTO_WSN = 74 +IPPROTO_XNET = 15 +IPPROTO_XTP = 36 +IPV6_RTHDR_LOOSE = 0 +IPV6_RTHDR_STRICT = 1 +IPV6_RTHDR_TYPE_0 = 0 +MLD_LISTENER_QUERY = 130 +MLD_LISTENER_REDUCTION = 132 +MLD_LISTENER_REPORT = 131 +ND_NEIGHBOR_ADVERT = 136 +ND_NEIGHBOR_SOLICIT = 135 +ND_OPT_DNSSL = 31 +ND_OPT_MTU = 5 +ND_OPT_NONCE = 14 +ND_OPT_PREFIX_INFORMATION = 3 +ND_OPT_RDNSS = 25 +ND_OPT_REDIRECTED_HEADER = 4 +ND_OPT_ROUTE_INFO = 24 +ND_OPT_SOURCE_LINKADDR = 1 +ND_OPT_TARGET_LINKADDR = 2 +ND_REDIRECT = 137 +ND_ROUTER_ADVERT = 134 +ND_ROUTER_SOLICIT = 133 +TCPOPT_EOL = 0 +TCPOPT_FAST_OPEN = 34 +TCPOPT_MAXSEG = 2 +TCPOPT_NOP = 1 +TCPOPT_SACK = 5 +TCPOPT_SACK_PERMITTED = 4 +TCPOPT_SIGNATURE = 19 +TCPOPT_TIMESTAMP = 8 +TCPOPT_WINDOW = 3 +TH_ACK = 16 +TH_CWR = 128 +TH_ECE = 64 +TH_FIN = 1 +TH_PUSH = 8 +TH_RST = 4 +TH_SYN = 2 +TH_URG = 32 |
