mirror of
https://github.com/soypat/lneto.git
synced 2026-07-26 10:38:47 +00:00
fa5ba918bb
* pcap: reuse Frame memory * slog: reduce heap allocations of addresses; also prevent heap alloc of dhcp options in pcap * dns: heapless improvement; add StackAsync buffer for more heapless operation; start thinking of errors * errors: begin standardise errors in lneto * errors: finish standardization of errors * fix merge issues * add more lneto errors to rest of package * format errors.go
225 lines
9.4 KiB
Go
225 lines
9.4 KiB
Go
// Code generated by "stringer -type=IPProto,errGeneric -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]ICMP [RFC792]IGMP [RFC1112]Gateway-to-Gateway [RFC823]IPv4 encapsulation [RFC2003]Stream [RFC1190, RFC1819]TCP [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 DebuggerChaosUDP [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 HeaderUDP-Lite [RFC3828]MPLS-in-IPMANET ProtocolsHost Identity ProtocolShim6 ProtocolWrapped Encapsulating Security PayloadRobust Header CompressionEthernetAGGFRAG Encapsulation payload for ESPNetwork Service Header"
|
|
)
|
|
|
|
var (
|
|
_IPProto_index_0 = [...]uint16{0, 32, 45, 59, 86, 114, 139, 152, 167, 201, 260, 278, 309, 312, 317, 322, 340, 345, 357, 369, 395, 419, 443, 455, 462, 469, 475, 481, 512, 550, 589, 625, 654, 679, 725, 753, 789, 792, 818, 854, 877, 898, 926, 956, 989, 1023, 1052, 1082, 1121, 1152, 1155, 1187, 1218, 1252, 1270, 1302, 1313, 1377, 1381, 1404, 1437, 1475}
|
|
_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, 441, 451, 466, 488, 502, 540, 565, 573, 610, 632}
|
|
)
|
|
|
|
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) + ")"
|
|
}
|
|
}
|
|
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[ErrBug-1]
|
|
_ = x[ErrPacketDrop-2]
|
|
_ = x[ErrBadCRC-3]
|
|
_ = x[ErrZeroSource-4]
|
|
_ = x[ErrZeroDestination-5]
|
|
_ = x[ErrShortBuffer-6]
|
|
_ = x[ErrBufferFull-7]
|
|
_ = x[ErrInvalidAddr-8]
|
|
_ = x[ErrUnsupported-9]
|
|
_ = x[ErrMismatch-10]
|
|
_ = x[ErrMismatchLen-11]
|
|
_ = x[ErrInvalidConfig-12]
|
|
_ = x[ErrInvalidField-13]
|
|
_ = x[ErrInvalidLengthField-14]
|
|
_ = x[ErrExhausted-15]
|
|
}
|
|
|
|
const _errGeneric_name = "lneto-bug(use build tag \"debugheaplog\")packet droppedincorrect checksumzero source(port/addr)zero destination(port/addr)short bufferbuffer fullinvalid addressunsupportedmismatchmismatched lengthinvalid configurationinvalid fieldinvalid length fieldresource exhausted"
|
|
|
|
var _errGeneric_index = [...]uint16{0, 39, 53, 71, 93, 120, 132, 143, 158, 169, 177, 194, 215, 228, 248, 266}
|
|
|
|
func (i errGeneric) String() string {
|
|
i -= 1
|
|
if i >= errGeneric(len(_errGeneric_index)-1) {
|
|
return "errGeneric(" + strconv.FormatInt(int64(i+1), 10) + ")"
|
|
}
|
|
return _errGeneric_name[_errGeneric_index[i]:_errGeneric_index[i+1]]
|
|
}
|