1
  2
  3
  4
  5
  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
 41
 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
// note that 0 can also be used for IP v6 hop-by-hop options

/// dummy for IP
pub const IPPROTO_IP: u8          = 0;
/// control message protocol
pub const IPPROTO_ICMP: u8        = 1;
/// group mgmt protocol
pub const IPPROTO_IGMP: u8        = 2;
/// gateway^2 (deprecated)
pub const IPPROTO_GGP: u8         = 3;
/// IPv4 encapsulation
pub const IPPROTO_IPV4: u8        = 4;
/// Stream
pub const IPPROTO_ST: u8          = 5;
/// tcp
pub const IPPROTO_TCP: u8         = 6;
/// Stream protocol II
pub const IPPROTO_STII: u8        = 7;
/// exterior gateway protocol
pub const IPPROTO_EGP: u8         = 8;
/// private interior gateway
pub const IPPROTO_PIGP: u8        = 9;
/// BBN RCC Monitoring
pub const IPPROTO_RCCMON: u8      = 10;
/// network voice protoco
pub const IPPROTO_NVPII: u8       = 11;
/// pup
pub const IPPROTO_PUP: u8         = 12;
/// Argus
pub const IPPROTO_ARGUS: u8       = 13;
/// EMCON
pub const IPPROTO_EMCON: u8       = 14;
/// Cross Net Debugger
pub const IPPROTO_XNET: u8        = 15;
/// Chao
pub const IPPROTO_CHAOS: u8       = 16;
/// user datagram protocol
pub const IPPROTO_UDP: u8         = 17;
/// Multiplexing
pub const IPPROTO_MUX: u8         = 18;
/// DCN Measurement Subsystems
pub const IPPROTO_MEAS: u8        = 19;
/// Host Monitoring
pub const IPPROTO_HMP: u8         = 20;
/// Packet Radio Measurement
pub const IPPROTO_PRM: u8         = 21;
/// xns idp
pub const IPPROTO_IDP: u8         = 22;
/// Trunk-1
pub const IPPROTO_TRUNK1: u8      = 23;
/// Trunk-2
pub const IPPROTO_TRUNK2: u8      = 24;
/// Leaf-1
pub const IPPROTO_LEAF1: u8       = 25;
/// Leaf-2
pub const IPPROTO_LEAF2: u8       = 26;
/// Reliable Data
pub const IPPROTO_RDP: u8         = 27;
/// Reliable Transaction
pub const IPPROTO_IRTP: u8        = 28;
/// tp-4 w/ class negotiation
pub const IPPROTO_TP: u8          = 29;
/// Bulk Data Transfer
pub const IPPROTO_BLT: u8         = 30;
/// Network Services
pub const IPPROTO_NSP: u8         = 31;
/// Merit Internodal
pub const IPPROTO_INP: u8         = 32;
/// Sequential Exchange
pub const IPPROTO_SEP: u8         = 33;
/// Third Party Connect
pub const IPPROTO_3PC: u8         = 34;
/// InterDomain Policy Routing
pub const IPPROTO_IDPR: u8        = 35;
/// XTP
pub const IPPROTO_XTP: u8         = 36;
/// Datagram Delivery
pub const IPPROTO_DDP: u8         = 37;
/// Control Message Transport
pub const IPPROTO_CMTP: u8        = 38;
/// TP++ Transport
pub const IPPROTO_TPXX: u8        = 39;
/// IL transport protocol
pub const IPPROTO_IL: u8          = 40;
/// IP6 header
pub const IPPROTO_IPV6: u8        = 41;
/// Source Demand Routing
pub const IPPROTO_SDRP: u8        = 42;
/// IP6 routing header
pub const IPPROTO_ROUTING: u8     = 43;
/// IP6 fragmentation header
pub const IPPROTO_FRAGMENT: u8    = 44;
/// InterDomain Routin
pub const IPPROTO_IDRP: u8        = 45;
/// resource reservation
pub const IPPROTO_RSVP: u8        = 46;
/// General Routing Encap.
pub const IPPROTO_GRE: u8         = 47;
/// Mobile Host Routing
pub const IPPROTO_MHRP: u8        = 48;
/// BHA
pub const IPPROTO_BHA: u8         = 49;
/// IP6 Encap Sec. Payload
pub const IPPROTO_ESP: u8         = 50;
/// IP6 Auth Header
pub const IPPROTO_AH: u8          = 51;
/// Integ. Net Layer Security
pub const IPPROTO_INLSP: u8       = 52;
/// IP with encryption
pub const IPPROTO_SWIPE: u8       = 53;
/// Next Hop Resolution
pub const IPPROTO_NHRP: u8        = 54;

// 55-57: Unassigned

/// ICMP6
pub const IPPROTO_ICMPV6: u8      = 58;
/// IP6 no next header
pub const IPPROTO_NONE: u8        = 59;
/// IP6 destination option
pub const IPPROTO_DSTOPTS: u8     = 60;
/// any host internal protocol
pub const IPPROTO_AHIP: u8        = 61;
/// CFTP
pub const IPPROTO_CFTP: u8        = 62;
/// "hello" routing protocol
pub const IPPROTO_HELLO: u8       = 63;
/// SATNET/Backroom EXPAK
pub const IPPROTO_SATEXPAK: u8    = 64;
/// Kryptolan
pub const IPPROTO_KRYPTOLAN: u8   = 65;
/// Remote Virtual Disk
pub const IPPROTO_RVD: u8         = 66;
/// Pluribus Packet Core
pub const IPPROTO_IPPC: u8        = 67;
/// Any distributed FS
pub const IPPROTO_ADFS: u8        = 68;
/// Satnet Monitoring
pub const IPPROTO_SATMON: u8      = 69;
/// VISA Protocol
pub const IPPROTO_VISA: u8        = 70;
/// Packet Core Utility
pub const IPPROTO_IPCV: u8        = 71;
/// Comp. Prot. Net. Executive
pub const IPPROTO_CPNX: u8        = 72;
/// Comp. Prot. HeartBeat
pub const IPPROTO_CPHB: u8        = 73;
/// Wang Span Network
pub const IPPROTO_WSN: u8         = 74;
/// Packet Video Protocol
pub const IPPROTO_PVP: u8         = 75;
/// BackRoom SATNET Monitoring
pub const IPPROTO_BRSATMON: u8    = 76;
/// Sun net disk proto (temp.)
pub const IPPROTO_ND: u8          = 77;
/// WIDEBAND Monitoring
pub const IPPROTO_WBMON: u8       = 78;
/// WIDEBAND EXPAK
pub const IPPROTO_WBEXPAK: u8     = 79;
/// ISO cnlp
pub const IPPROTO_EON: u8         = 80;
/// VMTP
pub const IPPROTO_VMTP: u8        = 81;
/// Secure VMTP
pub const IPPROTO_SVMTP: u8       = 82;
/// Banyon VINES
pub const IPPROTO_VINES: u8       = 83;
/// TTP
pub const IPPROTO_TTP: u8         = 84;
/// NSFNET-IGP
pub const IPPROTO_IGP: u8         = 85;
/// dissimilar gateway prot.
pub const IPPROTO_DGP: u8         = 86;
/// TCF
pub const IPPROTO_TCF: u8         = 87;
/// Cisco/GXS IGRP
pub const IPPROTO_IGRP: u8        = 88;
/// OSPFIGP
pub const IPPROTO_OSPFIGP: u8     = 89;
/// Strite RPC protocol
pub const IPPROTO_SRPC: u8        = 90;
/// Locus Address Resoloution
pub const IPPROTO_LARP: u8        = 91;
/// Multicast Transport
pub const IPPROTO_MTP: u8         = 92;
/// AX.25 Frames
pub const IPPROTO_AX25: u8        = 93;
/// IP encapsulated in IP
pub const IPPROTO_IPIP: u8        = 94;
/// Mobile Int.ing control
pub const IPPROTO_MICP: u8        = 95;
/// Semaphore Comm. security
pub const IPPROTO_SCCSP: u8       = 96;
/// Ethernet IP encapsulation
pub const IPPROTO_ETHERIP: u8     = 97;
/// encapsulation header
pub const IPPROTO_ENCAP: u8       = 98;
/// any private encr. scheme
pub const IPPROTO_APES: u8        = 99;
/// GMT
pub const IPPROTO_GMTP: u8        = 100;

// 101-254: Partly Unassigned

/// Protocol Independent Mcast
pub const IPPROTO_PIM: u8         = 103;
/// payload compression (IPComp)
pub const IPPROTO_IPCOMP: u8      = 108;
/// PGM
pub const IPPROTO_PGM: u8         = 113;
/// SCTP
pub const IPPROTO_SCTP: u8        = 132;

// BSD Private, local use, namespace incursion

/// divert pseudo-protocol
pub const IPPROTO_DIVERT: u8      = 254;
/// raw IP packet
pub const IPPROTO_RAW: u8         = 255;