// Code generated by "stringer -type=IPProto -linecomment -output stringers.go ."; DO NOT EDIT.

package lneto

import "strconv"

func _() {
	// An "invalid array index" compiler error signifies that the constant values have changed.
	// Re-run the stringer command to generate them again.
	var x [1]struct{}
	_ = x[IPProtoHopByHop-0]
	_ = x[IPProtoICMP-1]
	_ = x[IPProtoIGMP-2]
	_ = x[IPProtoGGP-3]
	_ = x[IPProtoIPv4-4]
	_ = x[IPProtoST-5]
	_ = x[IPProtoTCP-6]
	_ = x[IPProtoCBT-7]
	_ = x[IPProtoEGP-8]
	_ = x[IPProtoIGP-9]
	_ = x[IPProtoBBNRCCMON-10]
	_ = x[IPProtoNVP-11]
	_ = x[IPProtoPUP-12]
	_ = x[IPProtoARGUS-13]
	_ = x[IPProtoEMCON-14]
	_ = x[IPProtoXNET-15]
	_ = x[IPProtoCHAOS-16]
	_ = x[IPProtoUDP-17]
	_ = x[IPProtoMUX-18]
	_ = x[IPProtoDCNMEAS-19]
	_ = x[IPProtoHMP-20]
	_ = x[IPProtoPRM-21]
	_ = x[IPProtoXNSIDP-22]
	_ = x[IPProtoTRUNK1-23]
	_ = x[IPProtoTRUNK2-24]
	_ = x[IPProtoLEAF1-25]
	_ = x[IPProtoLEAF2-26]
	_ = x[IPProtoRDP-27]
	_ = x[IPProtoIRTP-28]
	_ = x[IPProtoISO_TP4-29]
	_ = x[IPProtoNETBLT-30]
	_ = x[IPProtoMFE_NSP-31]
	_ = x[IPProtoMERIT_INP-32]
	_ = x[IPProtoDCCP-33]
	_ = x[IPProto3PC-34]
	_ = x[IPProtoIDPR-35]
	_ = x[IPProtoXTP-36]
	_ = x[IPProtoDDP-37]
	_ = x[IPProtoIDPRCMTP-38]
	_ = x[IPProtoTPPLUSPLUS-39]
	_ = x[IPProtoIL-40]
	_ = x[IPProtoIPv6-41]
	_ = x[IPProtoSDRP-42]
	_ = x[IPProtoIPv6Route-43]
	_ = x[IPProtoIPv6Frag-44]
	_ = x[IPProtoIDRP-45]
	_ = x[IPProtoRSVP-46]
	_ = x[IPProtoGRE-47]
	_ = x[IPProtoDSR-48]
	_ = x[IPProtoBNA-49]
	_ = x[IPProtoESP-50]
	_ = x[IPProtoAH-51]
	_ = x[IPProtoINLSP-52]
	_ = x[IPProtoSWIPE-53]
	_ = x[IPProtoNARP-54]
	_ = x[IPProtoMOBILE-55]
	_ = x[IPProtoTLSP-56]
	_ = x[IPProtoSKIP-57]
	_ = x[IPProtoIPv6ICMP-58]
	_ = x[IPProtoIPv6NoNxt-59]
	_ = x[IPProtoIPv6Opts-60]
	_ = x[IPProtoCFTP-62]
	_ = x[IPProtoSATEXPAK-64]
	_ = x[IPProtoKRYPTOLAN-65]
	_ = x[IPProtoRVD-66]
	_ = x[IPProtoIPPC-67]
	_ = x[IPProtoSATMON-69]
	_ = x[IPProtoVISA-70]
	_ = x[IPProtoIPCV-71]
	_ = x[IPProtoCPNX-72]
	_ = x[IPProtoCPHB-73]
	_ = x[IPProtoWSN-74]
	_ = x[IPProtoPVP-75]
	_ = x[IPProtoBRSATMON-76]
	_ = x[IPProtoSUNND-77]
	_ = x[IPProtoWBMON-78]
	_ = x[IPProtoWBEXPAK-79]
	_ = x[IPProtoISOIP-80]
	_ = x[IPProtoVMTP-81]
	_ = x[IPProtoSECUREVMTP-82]
	_ = x[IPProtoVINES-83]
	_ = x[IPProtoTTP-84]
	_ = x[IPProtoNSFNETIGP-85]
	_ = x[IPProtoDGP-86]
	_ = x[IPProtoTCF-87]
	_ = x[IPProtoEIGRP-88]
	_ = x[IPProtoOSPFIGP-89]
	_ = x[IPProtoSpriteRPC-90]
	_ = x[IPProtoLARP-91]
	_ = x[IPProtoMTP-92]
	_ = x[IPProtoAX25-93]
	_ = x[IPProtoIPIP-94]
	_ = x[IPProtoMICP-95]
	_ = x[IPProtoSCCSP-96]
	_ = x[IPProtoETHERIP-97]
	_ = x[IPProtoENCAP-98]
	_ = x[IPProtoGMTP-100]
	_ = x[IPProtoIFMP-101]
	_ = x[IPProtoPNNI-102]
	_ = x[IPProtoPIM-103]
	_ = x[IPProtoARIS-104]
	_ = x[IPProtoSCPS-105]
	_ = x[IPProtoQNX-106]
	_ = x[IPProtoAN-107]
	_ = x[IPProtoIPComp-108]
	_ = x[IPProtoSNP-109]
	_ = x[IPProtoCompaqPeer-110]
	_ = x[IPProtoIPXInIP-111]
	_ = x[IPProtoVRRP-112]
	_ = x[IPProtoPGM-113]
	_ = x[IPProtoL2TP-115]
	_ = x[IPProtoDDX-116]
	_ = x[IPProtoIATP-117]
	_ = x[IPProtoSTP-118]
	_ = x[IPProtoSRP-119]
	_ = x[IPProtoUTI-120]
	_ = x[IPProtoSMP-121]
	_ = x[IPProtoSM-122]
	_ = x[IPProtoPTP-123]
	_ = x[IPProtoISIS-124]
	_ = x[IPProtoFIRE-125]
	_ = x[IPProtoCRTP-126]
	_ = x[IPProtoCRUDP-127]
	_ = x[IPProtoSSCOPMCE-128]
	_ = x[IPProtoIPLT-129]
	_ = x[IPProtoSPS-130]
	_ = x[IPProtoPIPE-131]
	_ = x[IPProtoSCTP-132]
	_ = x[IPProtoFC-133]
	_ = x[IPProtoRSVP_E2E_IGNORE-134]
	_ = x[IPProtoMobilityHeader-135]
	_ = x[IPProtoUDPLite-136]
	_ = x[IPProtoMPLSInIP-137]
	_ = x[IPProtoMANET-138]
	_ = x[IPProtoHIP-139]
	_ = x[IPProtoShim6-140]
	_ = x[IPProtoWESP-141]
	_ = x[IPProtoROHC-142]
	_ = x[IPProtoEthernet-143]
	_ = x[IPProtoAGGFRAG-144]
	_ = x[IPProtoNSH-145]
}

const (
	_IPProto_name_0 = "IPv6 Hop-by-Hop Option [RFC8200]Internet Control Message [RFC792]Internet Group Management [RFC1112]Gateway-to-Gateway [RFC823]IPv4 encapsulation [RFC2003]Stream [RFC1190, RFC1819]Transmission Control [RFC9293]CBT [Ballardie]Exterior Gateway Protocol [RFC888]any private interior gateway (used by Cisco for their IGRP)BBN RCC MonitoringNetwork Voice Protocol [RFC741]PUPARGUSEMCONCross Net DebuggerChaosUser Datagram [RFC768]MultiplexingDCN Measurement SubsystemsHost Monitoring [RFC869]Packet Radio MeasurementXEROX NS IDPTrunk-1Trunk-2Leaf-1Leaf-2Reliable Data Protocol [RFC908]Internet Reliable Transaction [RFC938]ISO Transport Protocol Class 4 [RFC905]Bulk Data Transfer Protocol [RFC998]MFE Network Services ProtocolMERIT Internodal ProtocolDatagram Congestion Control Protocol [RFC4340]Third Party Connect ProtocolInter-Domain Policy Routing ProtocolXTPDatagram Delivery ProtocolIDPR Control Message Transport ProtoTP++ Transport ProtocolIL Transport ProtocolIPv6 encapsulation [RFC2473]Source Demand Routing ProtocolRouting Header for IPv6 [RFC8200]Fragment Header for IPv6 [RFC8200]Inter-Domain Routing ProtocolReservation Protocol [RFC2205]Generic Routing Encapsulation [RFC2784]Dynamic Source Routing ProtocolBNAEncap Security Payload [RFC4303]Authentication Header [RFC4302]Integrated Net Layer Security TUBAIP with EncryptionNBMA Address Resolution ProtocolIP MobilityTransport Layer Security Protocol using Kryptonet key managementSKIPICMP for IPv6 [RFC8200]No Next Header for IPv6 [RFC8200]Destination Options for IPv6 [RFC8200]"
	_IPProto_name_1 = "CFTP"
	_IPProto_name_2 = "SATNET and Backroom EXPAKKryptolanMIT Remote Virtual Disk ProtocolInternet Pluribus Packet Core"
	_IPProto_name_3 = "SATNET MonitoringVISA ProtocolInternet Packet Core UtilityComputer Protocol Network ExecutiveComputer Protocol Heart BeatWang Span NetworkPacket Video ProtocolBackroom SATNET MonitoringSUN ND PROTOCOL-TemporaryWIDEBAND MonitoringWIDEBAND EXPAKISO Internet ProtocolVMTPSECURE-VMTPVINESTTPNSFNET-IGPDissimilar Gateway ProtocolTCFEIGRPOSPFIGPSprite RPC ProtocolLocus Address Resolution ProtocolMulticast Transport ProtocolAX.25 FramesIP-within-IP Encapsulation ProtocolMobile Internetworking Control Pro.Semaphore Communications Sec. Pro.Ethernet-within-IP EncapsulationEncapsulation Header"
	_IPProto_name_4 = "GMTPIpsilon Flow Management ProtocolPNNI over IPProtocol Independent MulticastARISSCPSQNXActive NetworksIP Payload Compression ProtocolSitara Networks ProtocolCompaq Peer ProtocolIPX in IPVirtual Router Redundancy ProtocolPGM Reliable Transport Protocol"
	_IPProto_name_5 = "Layer Two Tunneling Protocol v3D-II Data Exchange (DDX)Interactive Agent Transfer ProtocolSchedule Transfer ProtocolSpectraLink Radio ProtocolUTISimple Message ProtocolSMPerformance Transparency ProtocolISIS over IPv4FIRECombat Radio Transport ProtocolCombat Radio User DatagramSSCOPMCEIPLTSecure Packet ShieldPrivate IP Encapsulation within IPStream Control Transmission ProtocolFibre ChannelRSVP-E2E-IGNOREMobility HeaderUDPLiteMPLS-in-IPMANET ProtocolsHost Identity ProtocolShim6 ProtocolWrapped Encapsulating Security PayloadRobust Header CompressionEthernetAGGFRAG Encapsulation payload for ESPNetwork Service Header"
)

var (
	_IPProto_index_0 = [...]uint16{0, 32, 65, 100, 127, 155, 180, 210, 225, 259, 318, 336, 367, 370, 375, 380, 398, 403, 425, 437, 463, 487, 511, 523, 530, 537, 543, 549, 580, 618, 657, 693, 722, 747, 793, 821, 857, 860, 886, 922, 945, 966, 994, 1024, 1057, 1091, 1120, 1150, 1189, 1220, 1223, 1255, 1286, 1320, 1338, 1370, 1381, 1445, 1449, 1472, 1505, 1543}
	_IPProto_index_2 = [...]uint8{0, 25, 34, 66, 95}
	_IPProto_index_3 = [...]uint16{0, 17, 30, 58, 93, 121, 138, 159, 185, 210, 229, 243, 264, 268, 279, 284, 287, 297, 324, 327, 332, 339, 358, 391, 419, 431, 466, 501, 535, 567, 587}
	_IPProto_index_4 = [...]uint8{0, 4, 36, 48, 78, 82, 86, 89, 104, 135, 159, 179, 188, 222, 253}
	_IPProto_index_5 = [...]uint16{0, 31, 55, 90, 116, 142, 145, 168, 170, 203, 217, 221, 252, 278, 286, 290, 310, 344, 380, 393, 408, 423, 430, 440, 455, 477, 491, 529, 554, 562, 599, 621}
)

func (i IPProto) String() string {
	switch {
	case i <= 60:
		return _IPProto_name_0[_IPProto_index_0[i]:_IPProto_index_0[i+1]]
	case i == 62:
		return _IPProto_name_1
	case 64 <= i && i <= 67:
		i -= 64
		return _IPProto_name_2[_IPProto_index_2[i]:_IPProto_index_2[i+1]]
	case 69 <= i && i <= 98:
		i -= 69
		return _IPProto_name_3[_IPProto_index_3[i]:_IPProto_index_3[i+1]]
	case 100 <= i && i <= 113:
		i -= 100
		return _IPProto_name_4[_IPProto_index_4[i]:_IPProto_index_4[i+1]]
	case 115 <= i && i <= 145:
		i -= 115
		return _IPProto_name_5[_IPProto_index_5[i]:_IPProto_index_5[i+1]]
	default:
		return "IPProto(" + strconv.FormatInt(int64(i), 10) + ")"
	}
}
