141c99275SPeter Avalos /*
241c99275SPeter Avalos * Redistribution and use in source and binary forms, with or without
341c99275SPeter Avalos * modification, are permitted provided that: (1) source code
441c99275SPeter Avalos * distributions retain the above copyright notice and this paragraph
541c99275SPeter Avalos * in its entirety, and (2) distributions including binary code include
641c99275SPeter Avalos * the above copyright notice and this paragraph in its entirety in
741c99275SPeter Avalos * the documentation or other materials provided with the distribution.
841c99275SPeter Avalos * THIS SOFTWARE IS PROVIDED ``AS IS'' AND
941c99275SPeter Avalos * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
1041c99275SPeter Avalos * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
1141c99275SPeter Avalos * FOR A PARTICULAR PURPOSE.
1241c99275SPeter Avalos *
13411677aeSAaron LI * Original code by Hannes Gredler (hannes@gredler.at)
1441c99275SPeter Avalos */
1541c99275SPeter Avalos
1641c99275SPeter Avalos #ifdef HAVE_CONFIG_H
17*ed775ee7SAntonio Huete Jimenez #include <config.h>
1841c99275SPeter Avalos #endif
1941c99275SPeter Avalos
20*ed775ee7SAntonio Huete Jimenez #include "netdissect-stdinc.h"
2141c99275SPeter Avalos
22411677aeSAaron LI #include "netdissect.h"
2341c99275SPeter Avalos #include "ipproto.h"
2441c99275SPeter Avalos
2527bfbee1SPeter Avalos const struct tok ipproto_values[] = {
2641c99275SPeter Avalos { IPPROTO_HOPOPTS, "Options" },
2741c99275SPeter Avalos { IPPROTO_ICMP, "ICMP" },
2841c99275SPeter Avalos { IPPROTO_IGMP, "IGMP" },
2941c99275SPeter Avalos { IPPROTO_IPV4, "IPIP" },
3041c99275SPeter Avalos { IPPROTO_TCP, "TCP" },
3141c99275SPeter Avalos { IPPROTO_EGP, "EGP" },
3241c99275SPeter Avalos { IPPROTO_PIGP, "IGRP" },
3341c99275SPeter Avalos { IPPROTO_UDP, "UDP" },
3441c99275SPeter Avalos { IPPROTO_DCCP, "DCCP" },
3541c99275SPeter Avalos { IPPROTO_IPV6, "IPv6" },
3641c99275SPeter Avalos { IPPROTO_ROUTING, "Routing" },
3741c99275SPeter Avalos { IPPROTO_FRAGMENT, "Fragment" },
3841c99275SPeter Avalos { IPPROTO_RSVP, "RSVP" },
3941c99275SPeter Avalos { IPPROTO_GRE, "GRE" },
4041c99275SPeter Avalos { IPPROTO_ESP, "ESP" },
4141c99275SPeter Avalos { IPPROTO_AH, "AH" },
4241c99275SPeter Avalos { IPPROTO_MOBILE, "Mobile IP" },
4341c99275SPeter Avalos { IPPROTO_ICMPV6, "ICMPv6" },
4441c99275SPeter Avalos { IPPROTO_MOBILITY_OLD, "Mobile IP (old)" },
4541c99275SPeter Avalos { IPPROTO_EIGRP, "EIGRP" },
4641c99275SPeter Avalos { IPPROTO_OSPF, "OSPF" },
4741c99275SPeter Avalos { IPPROTO_PIM, "PIM" },
4841c99275SPeter Avalos { IPPROTO_IPCOMP, "Compressed IP" },
49*ed775ee7SAntonio Huete Jimenez { IPPROTO_VRRP, "VRRP" }, /* See also CARP. */
5041c99275SPeter Avalos { IPPROTO_PGM, "PGM" },
5141c99275SPeter Avalos { IPPROTO_SCTP, "SCTP" },
5241c99275SPeter Avalos { IPPROTO_MOBILITY, "Mobility" },
53*ed775ee7SAntonio Huete Jimenez { IPPROTO_ETHERNET, "Ethernet" },
5441c99275SPeter Avalos { 0, NULL }
5541c99275SPeter Avalos };
5641c99275SPeter Avalos
57411677aeSAaron LI /*
58411677aeSAaron LI * For completeness the number space in the array below comes from IANA:
59411677aeSAaron LI * https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml
60411677aeSAaron LI * However, the spelling tries to match that of /etc/protocols to achieve as
61411677aeSAaron LI * much consistency as possible with the previously implemented behaviour,
62411677aeSAaron LI * which was based on getprotobynumber (3).
63411677aeSAaron LI */
64411677aeSAaron LI static const char *netdb_protocol_names[256] = {
65411677aeSAaron LI "hopopt", /* 0 (IPPROTO_HOPOPTS, IPv6 Hop-by-Hop Option) */
66411677aeSAaron LI "icmp", /* 1 (IPPROTO_ICMP, Internet Control Message) */
67411677aeSAaron LI "igmp", /* 2 (IPPROTO_IGMP, Internet Group Management) */
68411677aeSAaron LI "ggp", /* 3 (Gateway-to-Gateway) */
69411677aeSAaron LI "ipencap", /* 4 (IPPROTO_IPV4, IPv4 encapsulation) */
70411677aeSAaron LI "st", /* 5 (Stream, ST datagram mode) */
71411677aeSAaron LI "tcp", /* 6 (IPPROTO_TCP, Transmission Control) */
72411677aeSAaron LI "cbt", /* 7 (CBT) */
73411677aeSAaron LI "egp", /* 8 (IPPROTO_EGP, Exterior Gateway Protocol) */
74411677aeSAaron LI "igp", /* 9 (IPPROTO_PIGP, "any private interior gateway
75411677aeSAaron LI * (used by Cisco for their IGRP)")
76411677aeSAaron LI */
77411677aeSAaron LI "bbn-rcc-mon", /* 10 (BBN RCC Monitoring) */
78411677aeSAaron LI "nvp-ii", /* 11 (Network Voice Protocol) */
79411677aeSAaron LI "pup", /* 12 (PARC universal packet protocol) */
80411677aeSAaron LI "argus", /* 13 (ARGUS) */
81411677aeSAaron LI "emcon", /* 14 (EMCON) */
82411677aeSAaron LI "xnet", /* 15 (Cross Net Debugger) */
83411677aeSAaron LI "chaos", /* 16 (Chaos) */
84411677aeSAaron LI "udp", /* 17 (IPPROTO_UDP, User Datagram) */
85411677aeSAaron LI "mux", /* 18 (Multiplexing) */
86411677aeSAaron LI "dcn-meas", /* 19 (DCN Measurement Subsystems) */
87411677aeSAaron LI "hmp", /* 20 (Host Monitoring) */
88411677aeSAaron LI "prm", /* 21 (Packet Radio Measurement) */
89411677aeSAaron LI "xns-idp", /* 22 (XEROX NS IDP) */
90411677aeSAaron LI "trunk-1", /* 23 (Trunk-1) */
91411677aeSAaron LI "trunk-2", /* 24 (Trunk-2) */
92411677aeSAaron LI "leaf-1", /* 25 (Leaf-1) */
93411677aeSAaron LI "leaf-2", /* 26 (Leaf-2) */
94411677aeSAaron LI "rdp", /* 27 (Reliable Data Protocol) */
95411677aeSAaron LI "irtp", /* 28 (Internet Reliable Transaction) */
96411677aeSAaron LI "iso-tp4", /* 29 (ISO Transport Protocol Class 4) */
97411677aeSAaron LI "netblt", /* 30 (Bulk Data Transfer Protocol) */
98411677aeSAaron LI "mfe-nsp", /* 31 (MFE Network Services Protocol) */
99411677aeSAaron LI "merit-inp", /* 32 (MERIT Internodal Protocol) */
100411677aeSAaron LI "dccp", /* 33 (IPPROTO_DCCP, Datagram Congestion
101411677aeSAaron LI * Control Protocol)
102411677aeSAaron LI */
103411677aeSAaron LI "3pc", /* 34 (Third Party Connect Protocol) */
104411677aeSAaron LI "idpr", /* 35 (Inter-Domain Policy Routing Protocol) */
105411677aeSAaron LI "xtp", /* 36 (Xpress Transfer Protocol) */
106411677aeSAaron LI "ddp", /* 37 (Datagram Delivery Protocol) */
107411677aeSAaron LI "idpr-cmtp", /* 38 (IDPR Control Message Transport Proto) */
108411677aeSAaron LI "tp++", /* 39 (TP++ Transport Protocol) */
109411677aeSAaron LI "il", /* 40 (IL Transport Protocol) */
110411677aeSAaron LI "ipv6", /* 41 (IPPROTO_IPV6, IPv6 encapsulation) */
111411677aeSAaron LI "sdrp", /* 42 (Source Demand Routing Protocol) */
112411677aeSAaron LI "ipv6-route", /* 43 (IPPROTO_ROUTING, Routing Header for IPv6) */
113411677aeSAaron LI "ipv6-frag", /* 44 (IPPROTO_FRAGMENT, Fragment Header for
114411677aeSAaron LI * IPv6)
115411677aeSAaron LI */
116411677aeSAaron LI "idrp", /* 45 (Inter-Domain Routing Protocol) */
117411677aeSAaron LI "rsvp", /* 46 (IPPROTO_RSVP, Reservation Protocol) */
118411677aeSAaron LI "gre", /* 47 (IPPROTO_GRE, Generic Routing
119411677aeSAaron LI * Encapsulation)
120411677aeSAaron LI */
121411677aeSAaron LI "dsr", /* 48 (Dynamic Source Routing Protocol) */
122411677aeSAaron LI "bna", /* 49 (BNA) */
123411677aeSAaron LI "esp", /* 50 (IPPROTO_ESP, Encap Security Payload) */
124411677aeSAaron LI "ah", /* 51 (IPPROTO_AH, Authentication Header) */
125411677aeSAaron LI "i-nlsp", /* 52 (Integrated Net Layer Security TUBA) */
126411677aeSAaron LI "swipe", /* 53 (IP with Encryption) */
127411677aeSAaron LI "narp", /* 54 (NBMA Address Resolution Protocol) */
128411677aeSAaron LI "mobile", /* 55 (IPPROTO_MOBILE, IP Mobility) */
129411677aeSAaron LI "tlsp", /* 56 (Transport Layer Security Protocol using
130411677aeSAaron LI * Kryptonet key management)
131411677aeSAaron LI */
132411677aeSAaron LI "skip", /* 57 (SKIP) */
133411677aeSAaron LI "ipv6-icmp", /* 58 (IPPROTO_ICMPV6, ICMP for IPv6) */
134411677aeSAaron LI "ipv6-nonxt", /* 59 (IPPROTO_NONE, No Next Header for IPv6) */
135411677aeSAaron LI "ipv6-opts", /* 60 (IPPROTO_DSTOPTS, Destination Options for
136411677aeSAaron LI * IPv6)
137411677aeSAaron LI */
138411677aeSAaron LI NULL, /* 61 (any host internal protocol) */
139411677aeSAaron LI "cftp", /* 62 (IPPROTO_MOBILITY_OLD, CFTP, see the note
140411677aeSAaron LI * in ipproto.h)
141411677aeSAaron LI */
142411677aeSAaron LI NULL, /* 63 (any local network) */
143411677aeSAaron LI "sat-expak", /* 64 (SATNET and Backroom EXPAK) */
144411677aeSAaron LI "kryptolan", /* 65 (Kryptolan) */
145411677aeSAaron LI "rvd", /* 66 (MIT Remote Virtual Disk Protocol) */
146411677aeSAaron LI "ippc", /* 67 (Internet Pluribus Packet Core) */
147411677aeSAaron LI NULL, /* 68 (any distributed file system) */
148411677aeSAaron LI "sat-mon", /* 69 (SATNET Monitoring) */
149411677aeSAaron LI "visa", /* 70 (VISA Protocol) */
150411677aeSAaron LI "ipcv", /* 71 (Internet Packet Core Utility) */
151411677aeSAaron LI "cpnx", /* 72 (Computer Protocol Network Executive) */
152411677aeSAaron LI "rspf", /* 73 (Radio Shortest Path First, CPHB -- Computer
153411677aeSAaron LI * Protocol Heart Beat -- in IANA)
154411677aeSAaron LI */
155411677aeSAaron LI "wsn", /* 74 (Wang Span Network) */
156411677aeSAaron LI "pvp", /* 75 (Packet Video Protocol) */
157411677aeSAaron LI "br-sat-mon", /* 76 (Backroom SATNET Monitoring) */
158411677aeSAaron LI "sun-nd", /* 77 (IPPROTO_ND, SUN ND PROTOCOL-Temporary) */
159411677aeSAaron LI "wb-mon", /* 78 (WIDEBAND Monitoring) */
160411677aeSAaron LI "wb-expak", /* 79 (WIDEBAND EXPAK) */
161411677aeSAaron LI "iso-ip", /* 80 (ISO Internet Protocol) */
162411677aeSAaron LI "vmtp", /* 81 (Versatile Message Transport) */
163411677aeSAaron LI "secure-vmtp", /* 82 (Secure VMTP) */
164411677aeSAaron LI "vines", /* 83 (VINES) */
165411677aeSAaron LI "ttp", /* 84 (Transaction Transport Protocol, also IPTM --
166411677aeSAaron LI * Internet Protocol Traffic Manager)
167411677aeSAaron LI */
168411677aeSAaron LI "nsfnet-igp", /* 85 (NSFNET-IGP) */
169411677aeSAaron LI "dgp", /* 86 (Dissimilar Gateway Protocol) */
170411677aeSAaron LI "tcf", /* 87 (TCF) */
171411677aeSAaron LI "eigrp", /* 88 (IPPROTO_EIGRP, Cisco EIGRP) */
172411677aeSAaron LI "ospf", /* 89 (IPPROTO_OSPF, Open Shortest Path First
173411677aeSAaron LI * IGP)
174411677aeSAaron LI */
175411677aeSAaron LI "sprite-rpc", /* 90 (Sprite RPC Protocol) */
176411677aeSAaron LI "larp", /* 91 (Locus Address Resolution Protocol) */
177411677aeSAaron LI "mtp", /* 92 (Multicast Transport Protocol) */
178411677aeSAaron LI "ax.25", /* 93 (AX.25 Frames) */
179411677aeSAaron LI "ipip", /* 94 (IP-within-IP Encapsulation Protocol) */
180411677aeSAaron LI "micp", /* 95 (Mobile Internetworking Control Pro.) */
181411677aeSAaron LI "scc-sp", /* 96 (Semaphore Communications Sec. Pro.) */
182411677aeSAaron LI "etherip", /* 97 (Ethernet-within-IP Encapsulation) */
183411677aeSAaron LI "encap", /* 98 (Encapsulation Header) */
184411677aeSAaron LI NULL, /* 99 (any private encryption scheme) */
185411677aeSAaron LI "gmtp", /* 100 (GMTP) */
186411677aeSAaron LI "ifmp", /* 101 (Ipsilon Flow Management Protocol) */
187411677aeSAaron LI "pnni", /* 102 (PNNI over IP) */
188411677aeSAaron LI "pim", /* 103 (IPPROTO_PIM, Protocol Independent
189411677aeSAaron LI * Multicast)
190411677aeSAaron LI */
191411677aeSAaron LI "aris", /* 104 (ARIS) */
192411677aeSAaron LI "scps", /* 105 (SCPS) */
193411677aeSAaron LI "qnx", /* 106 (QNX) */
194411677aeSAaron LI "a/n", /* 107 (Active Networks) */
195411677aeSAaron LI "ipcomp", /* 108 (IPPROTO_IPCOMP, IP Payload Compression
196411677aeSAaron LI * Protocol)
197411677aeSAaron LI */
198411677aeSAaron LI "snp", /* 109 (Sitara Networks Protocol) */
199411677aeSAaron LI "compaq-peer", /* 110 (Compaq Peer Protocol) */
200411677aeSAaron LI "ipx-in-ip", /* 111 (IPX in IP) */
201411677aeSAaron LI "vrrp", /* 112 (IPPROTO_VRRP, Virtual Router Redundancy
202411677aeSAaron LI * Protocol)
203411677aeSAaron LI */
204411677aeSAaron LI "pgm", /* 113 (IPPROTO_PGM, PGM Reliable Transport
205411677aeSAaron LI * Protocol)
206411677aeSAaron LI */
207411677aeSAaron LI NULL, /* 114 (any 0-hop protocol) */
208411677aeSAaron LI "l2tp", /* 115 (Layer Two Tunneling Protocol) */
209411677aeSAaron LI "ddx", /* 116 (D-II Data Exchange (DDX)) */
210411677aeSAaron LI "iatp", /* 117 (Interactive Agent Transfer Protocol) */
211411677aeSAaron LI "stp", /* 118 (Schedule Transfer Protocol) */
212411677aeSAaron LI "srp", /* 119 (SpectraLink Radio Protocol) */
213411677aeSAaron LI "uti", /* 120 (UTI) */
214411677aeSAaron LI "smp", /* 121 (Simple Message Protocol) */
215411677aeSAaron LI "sm", /* 122 (Simple Multicast Protocol) */
216411677aeSAaron LI "ptp", /* 123 (Performance Transparency Protocol) */
217411677aeSAaron LI "isis", /* 124 (ISIS over IPv4) */
218411677aeSAaron LI "fire", /* 125 (FIRE) */
219411677aeSAaron LI "crtp", /* 126 (Combat Radio Transport Protocol) */
220411677aeSAaron LI "crudp", /* 127 (Combat Radio User Datagram) */
221411677aeSAaron LI "sscopmce", /* 128 (SSCOPMCE) */
222411677aeSAaron LI "iplt", /* 129 (IPLT) */
223411677aeSAaron LI "sps", /* 130 (Secure Packet Shield) */
224411677aeSAaron LI "pipe", /* 131 (Private IP Encapsulation within IP) */
225411677aeSAaron LI "sctp", /* 132 (IPPROTO_SCTP, Stream Control Transmission
226411677aeSAaron LI * Protocol)
227411677aeSAaron LI */
228411677aeSAaron LI "fc", /* 133 (Fibre Channel) */
229411677aeSAaron LI "rsvp-e2e-ignore", /* 134 (RSVP-E2E-IGNORE) */
230411677aeSAaron LI "mobility-header", /* 135 (IPPROTO_MOBILITY, Mobility Header) */
231411677aeSAaron LI "udplite", /* 136 (UDPLite) */
232411677aeSAaron LI "mpls-in-ip", /* 137 (MPLS-in-IP) */
233411677aeSAaron LI "manet", /* 138 (MANET Protocols) */
234411677aeSAaron LI "hip", /* 139 (Host Identity Protocol) */
235411677aeSAaron LI "shim6", /* 140 (Shim6 Protocol) */
236411677aeSAaron LI "wesp", /* 141 (Wrapped Encapsulating Security Payload) */
237411677aeSAaron LI "rohc", /* 142 (Robust Header Compression) */
238411677aeSAaron LI NULL, /* 143 (unassigned) */
239411677aeSAaron LI NULL, /* 144 (unassigned) */
240411677aeSAaron LI NULL, /* 145 (unassigned) */
241411677aeSAaron LI NULL, /* 146 (unassigned) */
242411677aeSAaron LI NULL, /* 147 (unassigned) */
243411677aeSAaron LI NULL, /* 148 (unassigned) */
244411677aeSAaron LI NULL, /* 149 (unassigned) */
245411677aeSAaron LI NULL, /* 150 (unassigned) */
246411677aeSAaron LI NULL, /* 151 (unassigned) */
247411677aeSAaron LI NULL, /* 152 (unassigned) */
248411677aeSAaron LI NULL, /* 153 (unassigned) */
249411677aeSAaron LI NULL, /* 154 (unassigned) */
250411677aeSAaron LI NULL, /* 155 (unassigned) */
251411677aeSAaron LI NULL, /* 156 (unassigned) */
252411677aeSAaron LI NULL, /* 157 (unassigned) */
253411677aeSAaron LI NULL, /* 158 (unassigned) */
254411677aeSAaron LI NULL, /* 159 (unassigned) */
255411677aeSAaron LI NULL, /* 160 (unassigned) */
256411677aeSAaron LI NULL, /* 161 (unassigned) */
257411677aeSAaron LI NULL, /* 162 (unassigned) */
258411677aeSAaron LI NULL, /* 163 (unassigned) */
259411677aeSAaron LI NULL, /* 164 (unassigned) */
260411677aeSAaron LI NULL, /* 165 (unassigned) */
261411677aeSAaron LI NULL, /* 166 (unassigned) */
262411677aeSAaron LI NULL, /* 167 (unassigned) */
263411677aeSAaron LI NULL, /* 168 (unassigned) */
264411677aeSAaron LI NULL, /* 169 (unassigned) */
265411677aeSAaron LI NULL, /* 170 (unassigned) */
266411677aeSAaron LI NULL, /* 171 (unassigned) */
267411677aeSAaron LI NULL, /* 172 (unassigned) */
268411677aeSAaron LI NULL, /* 173 (unassigned) */
269411677aeSAaron LI NULL, /* 174 (unassigned) */
270411677aeSAaron LI NULL, /* 175 (unassigned) */
271411677aeSAaron LI NULL, /* 176 (unassigned) */
272411677aeSAaron LI NULL, /* 177 (unassigned) */
273411677aeSAaron LI NULL, /* 178 (unassigned) */
274411677aeSAaron LI NULL, /* 179 (unassigned) */
275411677aeSAaron LI NULL, /* 180 (unassigned) */
276411677aeSAaron LI NULL, /* 181 (unassigned) */
277411677aeSAaron LI NULL, /* 182 (unassigned) */
278411677aeSAaron LI NULL, /* 183 (unassigned) */
279411677aeSAaron LI NULL, /* 184 (unassigned) */
280411677aeSAaron LI NULL, /* 185 (unassigned) */
281411677aeSAaron LI NULL, /* 186 (unassigned) */
282411677aeSAaron LI NULL, /* 187 (unassigned) */
283411677aeSAaron LI NULL, /* 188 (unassigned) */
284411677aeSAaron LI NULL, /* 189 (unassigned) */
285411677aeSAaron LI NULL, /* 190 (unassigned) */
286411677aeSAaron LI NULL, /* 191 (unassigned) */
287411677aeSAaron LI NULL, /* 192 (unassigned) */
288411677aeSAaron LI NULL, /* 193 (unassigned) */
289411677aeSAaron LI NULL, /* 194 (unassigned) */
290411677aeSAaron LI NULL, /* 195 (unassigned) */
291411677aeSAaron LI NULL, /* 196 (unassigned) */
292411677aeSAaron LI NULL, /* 197 (unassigned) */
293411677aeSAaron LI NULL, /* 198 (unassigned) */
294411677aeSAaron LI NULL, /* 199 (unassigned) */
295411677aeSAaron LI NULL, /* 200 (unassigned) */
296411677aeSAaron LI NULL, /* 201 (unassigned) */
297411677aeSAaron LI NULL, /* 202 (unassigned) */
298411677aeSAaron LI NULL, /* 203 (unassigned) */
299411677aeSAaron LI NULL, /* 204 (unassigned) */
300411677aeSAaron LI NULL, /* 205 (unassigned) */
301411677aeSAaron LI NULL, /* 206 (unassigned) */
302411677aeSAaron LI NULL, /* 207 (unassigned) */
303411677aeSAaron LI NULL, /* 208 (unassigned) */
304411677aeSAaron LI NULL, /* 209 (unassigned) */
305411677aeSAaron LI NULL, /* 210 (unassigned) */
306411677aeSAaron LI NULL, /* 211 (unassigned) */
307411677aeSAaron LI NULL, /* 212 (unassigned) */
308411677aeSAaron LI NULL, /* 213 (unassigned) */
309411677aeSAaron LI NULL, /* 214 (unassigned) */
310411677aeSAaron LI NULL, /* 215 (unassigned) */
311411677aeSAaron LI NULL, /* 216 (unassigned) */
312411677aeSAaron LI NULL, /* 217 (unassigned) */
313411677aeSAaron LI NULL, /* 218 (unassigned) */
314411677aeSAaron LI NULL, /* 219 (unassigned) */
315411677aeSAaron LI NULL, /* 220 (unassigned) */
316411677aeSAaron LI NULL, /* 221 (unassigned) */
317411677aeSAaron LI NULL, /* 222 (unassigned) */
318411677aeSAaron LI NULL, /* 223 (unassigned) */
319411677aeSAaron LI NULL, /* 224 (unassigned) */
320411677aeSAaron LI NULL, /* 225 (unassigned) */
321411677aeSAaron LI NULL, /* 226 (unassigned) */
322411677aeSAaron LI NULL, /* 227 (unassigned) */
323411677aeSAaron LI NULL, /* 228 (unassigned) */
324411677aeSAaron LI NULL, /* 229 (unassigned) */
325411677aeSAaron LI NULL, /* 230 (unassigned) */
326411677aeSAaron LI NULL, /* 231 (unassigned) */
327411677aeSAaron LI NULL, /* 232 (unassigned) */
328411677aeSAaron LI NULL, /* 233 (unassigned) */
329411677aeSAaron LI NULL, /* 234 (unassigned) */
330411677aeSAaron LI NULL, /* 235 (unassigned) */
331411677aeSAaron LI NULL, /* 236 (unassigned) */
332411677aeSAaron LI NULL, /* 237 (unassigned) */
333411677aeSAaron LI NULL, /* 238 (unassigned) */
334411677aeSAaron LI NULL, /* 239 (unassigned) */
335411677aeSAaron LI NULL, /* 240 (unassigned) */
336411677aeSAaron LI NULL, /* 241 (unassigned) */
337411677aeSAaron LI NULL, /* 242 (unassigned) */
338411677aeSAaron LI NULL, /* 243 (unassigned) */
339411677aeSAaron LI NULL, /* 244 (unassigned) */
340411677aeSAaron LI NULL, /* 245 (unassigned) */
341411677aeSAaron LI NULL, /* 246 (unassigned) */
342411677aeSAaron LI NULL, /* 247 (unassigned) */
343411677aeSAaron LI NULL, /* 248 (unassigned) */
344411677aeSAaron LI NULL, /* 249 (unassigned) */
345411677aeSAaron LI NULL, /* 250 (unassigned) */
346411677aeSAaron LI NULL, /* 251 (unassigned) */
347411677aeSAaron LI NULL, /* 252 (unassigned) */
348411677aeSAaron LI "exptest-253", /* 253 (Use for experimentation and testing,
349411677aeSAaron LI * RFC 3692)
350411677aeSAaron LI */
351411677aeSAaron LI "exptest-254", /* 254 (Use for experimentation and testing,
352411677aeSAaron LI * RFC 3692)
353411677aeSAaron LI */
354411677aeSAaron LI "reserved", /* 255 (reserved) */
355411677aeSAaron LI };
356411677aeSAaron LI
357411677aeSAaron LI /* The function enforces the array index to be 8-bit. */
358411677aeSAaron LI const char *
netdb_protoname(const uint8_t protoid)359*ed775ee7SAntonio Huete Jimenez netdb_protoname (const uint8_t protoid)
360411677aeSAaron LI {
361411677aeSAaron LI return netdb_protocol_names[protoid];
362411677aeSAaron LI }
363