Versions in this module Expand all Collapse all v1 v1.0.1 Apr 30, 2024 Changes in this version + const ARPProtocolNumber + const ARPSize + const DatagramMaximumSize + const EthernetAddressSize + const EthernetBroadcastAddress + const EthernetMaximumSize + const EthernetMinimumSize + const EthernetProtocolAll + const EthernetProtocolPUP + const GUEMinimumSize + const HighRoutePreference + const ICMPv4MinimumErrorPayloadSize + const ICMPv4MinimumSize + const ICMPv4PayloadOffset + const ICMPv4ProtocolNumber + const ICMPv6ChecksumOffset + const ICMPv6DstUnreachableMinimumSize + const ICMPv6EchoMinimumSize + const ICMPv6ErrorHeaderSize + const ICMPv6HeaderSize + const ICMPv6MinimumSize + const ICMPv6NeighborAdvertMinimumSize + const ICMPv6NeighborSolicitMinimumSize + const ICMPv6PacketTooBigMinimumSize + const ICMPv6PayloadOffset + const ICMPv6ProtocolNumber + const IGMPLeaveMessageMinimumSize + const IGMPMinimumSize + const IGMPProtocolNumber + const IGMPQueryMinimumSize + const IGMPReportMinimumSize + const IGMPTTL + const IGMPv3QueryMinimumSize + const IIDOffsetInIPv6Address + const IIDSize + const IPv4AddressSize + const IPv4AddressSizeBits + const IPv4FlagDontFragment + const IPv4FlagMoreFragments + const IPv4IHLStride + const IPv4MaximumHeaderSize + const IPv4MaximumOptionsSize + const IPv4MaximumPayloadSize + const IPv4MinimumMTU + const IPv4MinimumProcessableDatagramSize + const IPv4MinimumSize + const IPv4OptRRPointerOffset + const IPv4OptTSOFLWAndFLGOffset + const IPv4OptTSPointerOffset + const IPv4OptionRecordRouteHdrLength + const IPv4OptionRouterAlertLength + const IPv4OptionRouterAlertValue + const IPv4OptionRouterAlertValueOffset + const IPv4OptionTimestampHdrLength + const IPv4OptionTimestampMaxSize + const IPv4OptionTimestampOnlyFlag + const IPv4OptionTimestampSize + const IPv4OptionTimestampWithAddrSize + const IPv4OptionTimestampWithIPFlag + const IPv4OptionTimestampWithPredefinedIPFlag + const IPv4ProtocolNumber + const IPv4TotalLenOffset + const IPv4Version + const IPv6AddressSize + const IPv6AddressSizeBits + const IPv6AdminLocalMulticastScope + const IPv6FixedHeaderSize + const IPv6FragmentExtHdrFragmentOffsetBytesPerUnit + const IPv6FragmentExtHdrLength + const IPv6FragmentHeader + const IPv6FragmentHeaderSize + const IPv6GlobalMulticastScope + const IPv6InterfaceLocalMulticastScope + const IPv6LinkLocalMulticastScope + const IPv6MaximumPayloadSize + const IPv6MinimumMTU + const IPv6MinimumSize + const IPv6NextHeaderOffset + const IPv6OrganizationLocalMulticastScope + const IPv6PayloadLenOffset + const IPv6ProtocolNumber + const IPv6RealmLocalMulticastScope + const IPv6Reserved0MulticastScope + const IPv6ReservedFMulticastScope + const IPv6SiteLocalMulticastScope + const IPv6Version + const LowRoutePreference + const MLDHopLimit + const MLDMinimumSize + const MLDv2QueryMinimumSize + const MLDv2ReportMinimumSize + const MaxIPPacketSize + const MaxWndScale + const MediumRoutePreference + const MinIPFragmentPayloadSize + const NDPHopLimit + const NDPInfiniteLifetime + const NDPLinkLayerAddressSize + const NDPNAMinimumSize + const NDPNSMinimumSize + const NDPRAMinimumSize + const NDPRSMinimumSize + const OpaqueIIDSecretKeyMinBytes + const ReservedRoutePreference + const TCPAckNumOffset + const TCPChecksumOffset + const TCPDataOffset + const TCPDefaultMSS + const TCPDstPortOffset + const TCPFlagsOffset + const TCPHeaderMaximumSize + const TCPMaxSACKBlocks + const TCPMaximumMSS + const TCPMinimumMSS + const TCPMinimumSendMSS + const TCPMinimumSize + const TCPOptionEOL + const TCPOptionMSS + const TCPOptionMSSLength + const TCPOptionNOP + const TCPOptionSACK + const TCPOptionSACKPermitted + const TCPOptionSackPermittedLength + const TCPOptionTS + const TCPOptionTSLength + const TCPOptionWS + const TCPOptionWSLength + const TCPOptionsMaximumSize + const TCPProtocolNumber + const TCPSeqNumOffset + const TCPSrcPortOffset + const TCPTotalHeaderMaximumSize + const TCPUrgentPtrOffset + const TCPWinSizeOffset + const UDPMaximumPacketSize + const UDPMaximumSize + const UDPMinimumSize + const UDPProtocolNumber + const UnspecifiedEthernetAddress + const VirtioNetHeaderSize + var ErrMalformedIPv6ExtHdrOption = errors.New("malformed IPv6 extension header option") + var ErrNDPOptMalformedBody = errors.New("NDP option has a malformed body") + var ErrNDPOptMalformedHeader = errors.New("NDP option has a malformed header") + var Ethertypes = []tcpip.NetworkProtocolNumber + var IGMPv3RoutersAddress = tcpip.AddrFrom4([4]byte{ ... }) + var IPv4AllRoutersGroup = tcpip.AddrFrom4([4]byte{ ... }) + var IPv4AllSystems = tcpip.AddrFrom4([4]byte{ ... }) + var IPv4Any = tcpip.AddrFrom4([4]byte{ ... }) + var IPv4Broadcast = tcpip.AddrFrom4([4]byte{ ... }) + var IPv4CurrentNetworkSubnet = func() tcpip.Subnet { ... }() + var IPv4EmptySubnet = func() tcpip.Subnet { ... }() + var IPv4LoopbackSubnet = func() tcpip.Subnet { ... }() + var IPv4MappedIPv6Subnet = ...() + var IPv6AllNodesMulticastAddress = tcpip.AddrFrom16([16]byte{ ... }) + var IPv6AllRoutersInterfaceLocalMulticastAddress = tcpip.AddrFrom16([16]byte{ ... }) + var IPv6AllRoutersLinkLocalMulticastAddress = tcpip.AddrFrom16([16]byte{ ... }) + var IPv6AllRoutersSiteLocalMulticastAddress = tcpip.AddrFrom16([16]byte{ ... }) + var IPv6Any = tcpip.AddrFrom16([16]byte{ ... }) + var IPv6EmptySubnet = ...() + var IPv6LinkLocalPrefix = tcpip.AddressWithPrefix + var IPv6Loopback = tcpip.AddrFrom16([16]byte{ ... }) + var MLDv2RoutersAddress = tcpip.AddrFrom16([16]byte{ ... }) + func Acceptable(segSeq seqnum.Value, segLen seqnum.Size, rcvNxt, rcvAcc seqnum.Value) bool + func AddTCPOptionPadding(options []byte, offset int) int + func AppendOpaqueInterfaceIdentifier(buf []byte, prefix tcpip.Subnet, nicName string, dadCounter uint8, ...) []byte + func DecisecondToDuration(ds uint16) time.Duration + func EncodeMSSOption(mss uint32, b []byte) int + func EncodeNOP(b []byte) int + func EncodeSACKBlocks(sackBlocks []SACKBlock, b []byte) int + func EncodeSACKPermittedOption(b []byte) int + func EncodeTSOption(tsVal, tsEcr uint32, b []byte) int + func EncodeWSOption(ws int, b []byte) int + func EthernetAdddressToModifiedEUI64IntoBuf(linkAddr tcpip.LinkAddress, buf []byte) + func EthernetAddressFromMulticastIPv4Address(addr tcpip.Address) tcpip.LinkAddress + func EthernetAddressFromMulticastIPv6Address(addr tcpip.Address) tcpip.LinkAddress + func EthernetAddressToModifiedEUI64(linkAddr tcpip.LinkAddress) [IIDSize]byte + func GenerateTempIPv6SLAACAddr(tempIIDHistory []byte, stableAddr tcpip.Address) tcpip.AddressWithPrefix + func ICMPv4Checksum(h ICMPv4, payloadCsum uint16) uint16 + func ICMPv6Checksum(params ICMPv6ChecksumParams) uint16 + func IGMPCalculateChecksum(h IGMP) uint16 + func IGMPv3MaximumResponseDelay(codeRaw uint8) time.Duration + func IPVersion(b []byte) int + func InitialTempIID(initialTempIIDHistory []byte, seed []byte, nicID tcpip.NICID) + func IsMulticastEthernetAddress(addr tcpip.LinkAddress) bool + func IsSolicitedNodeAddr(addr tcpip.Address) bool + func IsV4LinkLocalMulticastAddress(addr tcpip.Address) bool + func IsV4LinkLocalUnicastAddress(addr tcpip.Address) bool + func IsV4LoopbackAddress(addr tcpip.Address) bool + func IsV4MappedAddress(addr tcpip.Address) bool + func IsV4MulticastAddress(addr tcpip.Address) bool + func IsV6LinkLocalMulticastAddress(addr tcpip.Address) bool + func IsV6LinkLocalUnicastAddress(addr tcpip.Address) bool + func IsV6LoopbackAddress(addr tcpip.Address) bool + func IsV6MulticastAddress(addr tcpip.Address) bool + func IsV6UnicastAddress(addr tcpip.Address) bool + func IsValidUnicastEthernetAddress(addr tcpip.LinkAddress) bool + func LinkLocalAddr(linkAddr tcpip.LinkAddress) tcpip.Address + func LinkLocalAddrWithOpaqueIID(nicName string, dadCounter uint8, secretKey []byte) tcpip.Address + func MLDv2MaximumResponseDelay(codeRaw uint16) time.Duration + func PseudoHeaderChecksum(protocol tcpip.TransportProtocolNumber, srcAddr tcpip.Address, ...) uint16 + func SolicitedNodeAddr(addr tcpip.Address) tcpip.Address + func TCPValid(hdr TCP, payloadChecksum func() uint16, payloadSize uint16, ...) (csum uint16, csumValid, ok bool) + func UDPValid(hdr UDP, payloadChecksum func() uint16, payloadSize uint16, ...) (lengthValid, csumValid bool) + type ARP []byte + func (a ARP) HardwareAddressSender() []byte + func (a ARP) HardwareAddressTarget() []byte + func (a ARP) IsValid() bool + func (a ARP) Op() ARPOp + func (a ARP) ProtocolAddressSender() []byte + func (a ARP) ProtocolAddressTarget() []byte + func (a ARP) SetIPv4OverEthernet() + func (a ARP) SetOp(op ARPOp) + type ARPHardwareType uint16 + const ARPHardwareEther + const ARPHardwareLoopback + const ARPHardwareNone + type ARPOp uint16 + const ARPReply + const ARPRequest + type AddressIterator struct + func MakeAddressIterator(addressSize int, buf *bytes.Buffer) AddressIterator + func (it *AddressIterator) Done() bool + func (it *AddressIterator) Next() (tcpip.Address, bool) + type ChecksummableNetwork interface + SetDestinationAddressWithChecksumUpdate func(tcpip.Address) + SetSourceAddressWithChecksumUpdate func(tcpip.Address) + type ChecksummableTransport interface + SetDestinationPortWithChecksumUpdate func(port uint16) + SetSourcePortWithChecksumUpdate func(port uint16) + UpdateChecksumPseudoHeaderAddress func(old, new tcpip.Address, fullChecksum bool) + type Ethernet []byte + func (b Ethernet) DestinationAddress() tcpip.LinkAddress + func (b Ethernet) Encode(e *EthernetFields) + func (b Ethernet) SourceAddress() tcpip.LinkAddress + func (b Ethernet) Type() tcpip.NetworkProtocolNumber + type EthernetFields struct + DstAddr tcpip.LinkAddress + SrcAddr tcpip.LinkAddress + Type tcpip.NetworkProtocolNumber + type GUE []byte + func (b GUE) Encode(i *GUEFields) + func (b GUE) HeaderLength() uint8 + func (b GUE) Protocol() uint8 + func (b GUE) TypeAndControl() uint8 + type GUEFields struct + Control bool + HeaderLength uint8 + Protocol uint8 + Type uint8 + type ICMPv4 []byte + func (ICMPv4) DestinationPort() uint16 + func (ICMPv4) SetDestinationPort(uint16) + func (ICMPv4) SetSourcePort(uint16) + func (ICMPv4) SourcePort() uint16 + func (b ICMPv4) Checksum() uint16 + func (b ICMPv4) Code() ICMPv4Code + func (b ICMPv4) Ident() uint16 + func (b ICMPv4) MTU() uint16 + func (b ICMPv4) Payload() []byte + func (b ICMPv4) Pointer() byte + func (b ICMPv4) Sequence() uint16 + func (b ICMPv4) SetChecksum(cs uint16) + func (b ICMPv4) SetCode(c ICMPv4Code) + func (b ICMPv4) SetIdent(ident uint16) + func (b ICMPv4) SetIdentWithChecksumUpdate(new uint16) + func (b ICMPv4) SetMTU(mtu uint16) + func (b ICMPv4) SetPointer(c byte) + func (b ICMPv4) SetSequence(sequence uint16) + func (b ICMPv4) SetType(t ICMPv4Type) + func (b ICMPv4) Type() ICMPv4Type + type ICMPv4Code byte + const ICMPv4AdminProhibited + const ICMPv4DestinationHostUnknown + const ICMPv4DestinationNetworkUnknown + const ICMPv4FragmentationNeeded + const ICMPv4HostPrecedenceViolation + const ICMPv4HostProhibited + const ICMPv4HostUnreachable + const ICMPv4HostUnreachableForTos + const ICMPv4NetProhibited + const ICMPv4NetUnreachable + const ICMPv4NetUnreachableForTos + const ICMPv4PortUnreachable + const ICMPv4PrecedenceCutInEffect + const ICMPv4ProtoUnreachable + const ICMPv4ReassemblyTimeout + const ICMPv4SourceHostIsolated + const ICMPv4SourceRouteFailed + const ICMPv4TTLExceeded + const ICMPv4UnusedCode + type ICMPv4Type byte + const ICMPv4DstUnreachable + const ICMPv4Echo + const ICMPv4EchoReply + const ICMPv4InfoReply + const ICMPv4InfoRequest + const ICMPv4ParamProblem + const ICMPv4Redirect + const ICMPv4SrcQuench + const ICMPv4TimeExceeded + const ICMPv4Timestamp + const ICMPv4TimestampReply + type ICMPv6 []byte + func (ICMPv6) DestinationPort() uint16 + func (ICMPv6) SetDestinationPort(uint16) + func (ICMPv6) SetSourcePort(uint16) + func (ICMPv6) SourcePort() uint16 + func (b ICMPv6) Checksum() uint16 + func (b ICMPv6) Code() ICMPv6Code + func (b ICMPv6) Ident() uint16 + func (b ICMPv6) MTU() uint32 + func (b ICMPv6) MessageBody() []byte + func (b ICMPv6) Payload() []byte + func (b ICMPv6) Sequence() uint16 + func (b ICMPv6) SetChecksum(cs uint16) + func (b ICMPv6) SetCode(c ICMPv6Code) + func (b ICMPv6) SetIdent(ident uint16) + func (b ICMPv6) SetIdentWithChecksumUpdate(new uint16) + func (b ICMPv6) SetMTU(mtu uint32) + func (b ICMPv6) SetSequence(sequence uint16) + func (b ICMPv6) SetType(t ICMPv6Type) + func (b ICMPv6) SetTypeSpecific(val uint32) + func (b ICMPv6) Type() ICMPv6Type + func (b ICMPv6) TypeSpecific() uint32 + func (b ICMPv6) UpdateChecksumPseudoHeaderAddress(old, new tcpip.Address) + type ICMPv6ChecksumParams struct + Dst tcpip.Address + Header ICMPv6 + PayloadCsum uint16 + PayloadLen int + Src tcpip.Address + type ICMPv6Code byte + const ICMPv6AddressUnreachable + const ICMPv6BeyondScope + const ICMPv6ErroneousHeader + const ICMPv6HopLimitExceeded + const ICMPv6NetworkUnreachable + const ICMPv6Policy + const ICMPv6PortUnreachable + const ICMPv6Prohibited + const ICMPv6ReassemblyTimeout + const ICMPv6RejectRoute + const ICMPv6UnknownHeader + const ICMPv6UnknownOption + const ICMPv6UnusedCode + type ICMPv6Type byte + const ICMPv6DstUnreachable + const ICMPv6EchoReply + const ICMPv6EchoRequest + const ICMPv6MulticastListenerDone + const ICMPv6MulticastListenerQuery + const ICMPv6MulticastListenerReport + const ICMPv6MulticastListenerV2Report + const ICMPv6NeighborAdvert + const ICMPv6NeighborSolicit + const ICMPv6PacketTooBig + const ICMPv6ParamProblem + const ICMPv6RedirectMsg + const ICMPv6RouterAdvert + const ICMPv6RouterSolicit + const ICMPv6TimeExceeded + func (typ ICMPv6Type) IsErrorType() bool + type IGMP []byte + func (IGMP) DestinationPort() uint16 + func (IGMP) Payload() []byte + func (IGMP) SetDestinationPort(uint16) + func (IGMP) SetSourcePort(uint16) + func (IGMP) SourcePort() uint16 + func (b IGMP) Checksum() uint16 + func (b IGMP) GroupAddress() tcpip.Address + func (b IGMP) MaxRespTime() time.Duration + func (b IGMP) SetChecksum(checksum uint16) + func (b IGMP) SetGroupAddress(address tcpip.Address) + func (b IGMP) SetMaxRespTime(m byte) + func (b IGMP) SetType(t IGMPType) + func (b IGMP) Type() IGMPType + type IGMPType byte + const IGMPLeaveGroup + const IGMPMembershipQuery + const IGMPv1MembershipReport + const IGMPv2MembershipReport + const IGMPv3MembershipReport + type IGMPv3Query IGMP + func (i IGMPv3Query) GroupAddress() tcpip.Address + func (i IGMPv3Query) MaximumResponseCode() uint8 + func (i IGMPv3Query) QuerierQueryInterval() time.Duration + func (i IGMPv3Query) QuerierRobustnessVariable() uint8 + func (i IGMPv3Query) Sources() (AddressIterator, bool) + type IGMPv3Report []byte + func (i IGMPv3Report) Checksum() uint16 + func (i IGMPv3Report) GroupAddressRecords() IGMPv3ReportGroupAddressRecordIterator + type IGMPv3ReportGroupAddressRecord []byte + func (r IGMPv3ReportGroupAddressRecord) AuxDataLen() int + func (r IGMPv3ReportGroupAddressRecord) GroupAddress() tcpip.Address + func (r IGMPv3ReportGroupAddressRecord) RecordType() IGMPv3ReportRecordType + func (r IGMPv3ReportGroupAddressRecord) Sources() (AddressIterator, bool) + type IGMPv3ReportGroupAddressRecordIterator struct + func (it *IGMPv3ReportGroupAddressRecordIterator) Next() (IGMPv3ReportGroupAddressRecord, ...) + type IGMPv3ReportGroupAddressRecordIteratorNextDisposition int + const IGMPv3ReportGroupAddressRecordIteratorNextDone + const IGMPv3ReportGroupAddressRecordIteratorNextErrBufferTooShort + const IGMPv3ReportGroupAddressRecordIteratorNextOk + type IGMPv3ReportGroupAddressRecordSerializer struct + GroupAddress tcpip.Address + RecordType IGMPv3ReportRecordType + Sources []tcpip.Address + func (s *IGMPv3ReportGroupAddressRecordSerializer) Length() int + func (s *IGMPv3ReportGroupAddressRecordSerializer) SerializeInto(b []byte) + type IGMPv3ReportRecordType int + const IGMPv3ReportRecordAllowNewSources + const IGMPv3ReportRecordBlockOldSources + const IGMPv3ReportRecordChangeToExcludeMode + const IGMPv3ReportRecordChangeToIncludeMode + const IGMPv3ReportRecordModeIsExclude + const IGMPv3ReportRecordModeIsInclude + type IGMPv3ReportSerializer struct + Records []IGMPv3ReportGroupAddressRecordSerializer + func (s *IGMPv3ReportSerializer) Length() int + func (s *IGMPv3ReportSerializer) SerializeInto(b []byte) + type IPv4 []byte + func (b IPv4) CalculateChecksum() uint16 + func (b IPv4) Checksum() uint16 + func (b IPv4) DestinationAddress() tcpip.Address + func (b IPv4) Encode(i *IPv4Fields) + func (b IPv4) EncodePartial(partialChecksum, totalLength uint16) + func (b IPv4) Flags() uint8 + func (b IPv4) FragmentOffset() uint16 + func (b IPv4) HeaderLength() uint8 + func (b IPv4) ID() uint16 + func (b IPv4) IsChecksumValid() bool + func (b IPv4) IsValid(pktSize int) bool + func (b IPv4) More() bool + func (b IPv4) Options() IPv4Options + func (b IPv4) Payload() []byte + func (b IPv4) PayloadLength() uint16 + func (b IPv4) Protocol() uint8 + func (b IPv4) SetChecksum(v uint16) + func (b IPv4) SetDestinationAddress(addr tcpip.Address) + func (b IPv4) SetDestinationAddressWithChecksumUpdate(new tcpip.Address) + func (b IPv4) SetFlagsFragmentOffset(flags uint8, offset uint16) + func (b IPv4) SetHeaderLength(hdrLen uint8) + func (b IPv4) SetID(v uint16) + func (b IPv4) SetSourceAddress(addr tcpip.Address) + func (b IPv4) SetSourceAddressWithChecksumUpdate(new tcpip.Address) + func (b IPv4) SetTOS(v uint8, _ uint32) + func (b IPv4) SetTTL(v byte) + func (b IPv4) SetTotalLength(totalLength uint16) + func (b IPv4) SourceAddress() tcpip.Address + func (b IPv4) TOS() (uint8, uint32) + func (b IPv4) TTL() uint8 + func (b IPv4) TotalLength() uint16 + func (b IPv4) TransportProtocol() tcpip.TransportProtocolNumber + type IPv4Fields struct + Checksum uint16 + DstAddr tcpip.Address + Flags uint8 + FragmentOffset uint16 + ID uint16 + Options IPv4OptionsSerializer + Protocol uint8 + SrcAddr tcpip.Address + TOS uint8 + TTL uint8 + TotalLength uint16 + type IPv4OptParameterProblem struct + NeedICMP bool + Pointer uint8 + type IPv4OptTSFlags uint8 + type IPv4Option interface + Contents func() []byte + Size func() uint8 + Type func() IPv4OptionType + type IPv4OptionGeneric []byte + func (o *IPv4OptionGeneric) Contents() []byte + func (o *IPv4OptionGeneric) Size() uint8 + func (o *IPv4OptionGeneric) Type() IPv4OptionType + type IPv4OptionIterator struct + ErrCursor uint8 + func (i *IPv4OptionIterator) ConsumeBuffer(size int) + func (i *IPv4OptionIterator) Finalize() IPv4Options + func (i *IPv4OptionIterator) InitReplacement(option IPv4Option) IPv4Options + func (i *IPv4OptionIterator) Next() (IPv4Option, bool, *IPv4OptParameterProblem) + func (i *IPv4OptionIterator) PushNOPOrEnd(val IPv4OptionType) + func (i *IPv4OptionIterator) RemainingBuffer() IPv4Options + type IPv4OptionRecordRoute []byte + func (rr *IPv4OptionRecordRoute) Contents() []byte + func (rr *IPv4OptionRecordRoute) Pointer() uint8 + func (rr *IPv4OptionRecordRoute) Size() uint8 + func (rr *IPv4OptionRecordRoute) StoreAddress(addr tcpip.Address) + func (rr *IPv4OptionRecordRoute) Type() IPv4OptionType + type IPv4OptionRouterAlert []byte + func (*IPv4OptionRouterAlert) Type() IPv4OptionType + func (ra *IPv4OptionRouterAlert) Contents() []byte + func (ra *IPv4OptionRouterAlert) Size() uint8 + func (ra *IPv4OptionRouterAlert) Value() uint16 + type IPv4OptionTimestamp []byte + func (ts *IPv4OptionTimestamp) Contents() []byte + func (ts *IPv4OptionTimestamp) Flags() IPv4OptTSFlags + func (ts *IPv4OptionTimestamp) IncOverflow() uint8 + func (ts *IPv4OptionTimestamp) Overflow() uint8 + func (ts *IPv4OptionTimestamp) Pointer() uint8 + func (ts *IPv4OptionTimestamp) Size() uint8 + func (ts *IPv4OptionTimestamp) Type() IPv4OptionType + func (ts *IPv4OptionTimestamp) UpdateTimestamp(addr tcpip.Address, clock tcpip.Clock) + type IPv4OptionType byte + const IPv4OptionLengthOffset + const IPv4OptionListEndType + const IPv4OptionNOPType + const IPv4OptionRecordRouteType + const IPv4OptionRouterAlertType + const IPv4OptionTimestampType + type IPv4Options []byte + func (o IPv4Options) MakeIterator() IPv4OptionIterator + type IPv4OptionsSerializer []IPv4SerializableOption + func (s IPv4OptionsSerializer) Length() uint8 + func (s IPv4OptionsSerializer) Serialize(b []byte) uint8 + type IPv4SerializableListEndOption struct + type IPv4SerializableNOPOption struct + type IPv4SerializableOption interface + type IPv4SerializableOptionPayload interface + type IPv4SerializableRouterAlertOption struct + type IPv6 []byte + func (IPv6) Checksum() uint16 + func (IPv6) SetChecksum(uint16) + func (b IPv6) DestinationAddress() tcpip.Address + func (b IPv6) Encode(i *IPv6Fields) + func (b IPv6) HopLimit() uint8 + func (b IPv6) IsValid(pktSize int) bool + func (b IPv6) NextHeader() uint8 + func (b IPv6) Payload() []byte + func (b IPv6) PayloadLength() uint16 + func (b IPv6) SetDestinationAddress(addr tcpip.Address) + func (b IPv6) SetHopLimit(v uint8) + func (b IPv6) SetNextHeader(v uint8) + func (b IPv6) SetPayloadLength(payloadLength uint16) + func (b IPv6) SetSourceAddress(addr tcpip.Address) + func (b IPv6) SetTOS(t uint8, l uint32) + func (b IPv6) SourceAddress() tcpip.Address + func (b IPv6) TOS() (uint8, uint32) + func (b IPv6) TransportProtocol() tcpip.TransportProtocolNumber + type IPv6AddressScope int + const GlobalScope + const LinkLocalScope + func ScopeForIPv6Address(addr tcpip.Address) (IPv6AddressScope, tcpip.Error) + type IPv6DestinationOptionsExtHdr struct + func (i IPv6DestinationOptionsExtHdr) Iter() IPv6OptionsExtHdrOptionsIterator + func (i IPv6DestinationOptionsExtHdr) Release() + type IPv6ExtHdrOption interface + UnknownAction func() IPv6OptionUnknownAction + type IPv6ExtHdrOptionIdentifier uint8 + type IPv6ExtHdrSerializer []IPv6SerializableExtHdr + func (s IPv6ExtHdrSerializer) Length() int + func (s IPv6ExtHdrSerializer) Serialize(transportProtocol tcpip.TransportProtocolNumber, b []byte) (uint8, int) + type IPv6ExtensionHeaderIdentifier uint8 + const IPv6DestinationOptionsExtHdrIdentifier + const IPv6FragmentExtHdrIdentifier + const IPv6HopByHopOptionsExtHdrIdentifier + const IPv6NoNextHeaderIdentifier + const IPv6RoutingExtHdrIdentifier + const IPv6UnknownExtHdrIdentifier + type IPv6Fields struct + DstAddr tcpip.Address + ExtensionHeaders IPv6ExtHdrSerializer + FlowLabel uint32 + HopLimit uint8 + PayloadLength uint16 + SrcAddr tcpip.Address + TrafficClass uint8 + TransportProtocol tcpip.TransportProtocolNumber + type IPv6Fragment []byte + func (b IPv6Fragment) Checksum() uint16 + func (b IPv6Fragment) DestinationAddress() tcpip.Address + func (b IPv6Fragment) FragmentOffset() uint16 + func (b IPv6Fragment) ID() uint32 + func (b IPv6Fragment) IsValid() bool + func (b IPv6Fragment) More() bool + func (b IPv6Fragment) NextHeader() uint8 + func (b IPv6Fragment) Payload() []byte + func (b IPv6Fragment) SetChecksum(uint16) + func (b IPv6Fragment) SetDestinationAddress(tcpip.Address) + func (b IPv6Fragment) SetSourceAddress(tcpip.Address) + func (b IPv6Fragment) SetTOS(t uint8, l uint32) + func (b IPv6Fragment) SourceAddress() tcpip.Address + func (b IPv6Fragment) TOS() (uint8, uint32) + func (b IPv6Fragment) TransportProtocol() tcpip.TransportProtocolNumber + type IPv6FragmentExtHdr [6]byte + func (IPv6FragmentExtHdr) Release() + func (b IPv6FragmentExtHdr) FragmentOffset() uint16 + func (b IPv6FragmentExtHdr) ID() uint32 + func (b IPv6FragmentExtHdr) IsAtomic() bool + func (b IPv6FragmentExtHdr) More() bool + type IPv6HopByHopOptionsExtHdr struct + func (i IPv6HopByHopOptionsExtHdr) Iter() IPv6OptionsExtHdrOptionsIterator + func (i IPv6HopByHopOptionsExtHdr) Release() + type IPv6MulticastScope uint8 + func V6MulticastScope(addr tcpip.Address) IPv6MulticastScope + type IPv6OptionUnknownAction int + const IPv6OptionUnknownActionDiscard + const IPv6OptionUnknownActionDiscardSendICMP + const IPv6OptionUnknownActionDiscardSendICMPNoMulticastDest + const IPv6OptionUnknownActionSkip + type IPv6OptionsExtHdrOptionsIterator struct + func (i *IPv6OptionsExtHdrOptionsIterator) Next() (IPv6ExtHdrOption, bool, error) + func (i *IPv6OptionsExtHdrOptionsIterator) OptionOffset() uint32 + type IPv6PayloadHeader interface + Release func() + type IPv6PayloadIterator struct + func MakeIPv6PayloadIterator(nextHdrIdentifier IPv6ExtensionHeaderIdentifier, payload buffer.Buffer) IPv6PayloadIterator + func (i *IPv6PayloadIterator) AsRawHeader(consume bool) IPv6RawPayloadHeader + func (i *IPv6PayloadIterator) Next() (IPv6PayloadHeader, bool, error) + func (i *IPv6PayloadIterator) NextHeaderIdentifier() IPv6ExtensionHeaderIdentifier + func (i *IPv6PayloadIterator) Release() + func (i IPv6PayloadIterator) HeaderOffset() uint32 + func (i IPv6PayloadIterator) ParseOffset() uint32 + type IPv6RawPayloadHeader struct + Buf buffer.Buffer + Identifier IPv6ExtensionHeaderIdentifier + func (i IPv6RawPayloadHeader) Release() + type IPv6RouterAlertOption struct + Value IPv6RouterAlertValue + func (*IPv6RouterAlertOption) UnknownAction() IPv6OptionUnknownAction + type IPv6RouterAlertValue uint16 + const IPv6RouterAlertActiveNetworks + const IPv6RouterAlertMLD + const IPv6RouterAlertRSVP + type IPv6RoutingExtHdr struct + Buf *buffer.View + func (b IPv6RoutingExtHdr) Release() + func (b IPv6RoutingExtHdr) SegmentsLeft() uint8 + type IPv6SerializableExtHdr interface + type IPv6SerializableFragmentExtHdr struct + FragmentOffset uint16 + Identification uint32 + M bool + type IPv6SerializableHopByHopExtHdr []IPv6SerializableHopByHopOption + type IPv6SerializableHopByHopOption interface + type IPv6UnknownExtHdrOption struct + Data *buffer.View + Identifier IPv6ExtHdrOptionIdentifier + func (o *IPv6UnknownExtHdrOption) UnknownAction() IPv6OptionUnknownAction + type MLD []byte + func (m MLD) MaximumResponseDelay() time.Duration + func (m MLD) MulticastAddress() tcpip.Address + func (m MLD) SetMaximumResponseDelay(maxRespDelayMS uint16) + func (m MLD) SetMulticastAddress(multicastAddress tcpip.Address) + type MLDv2Query MLD + func (m MLDv2Query) MaximumResponseCode() uint16 + func (m MLDv2Query) MulticastAddress() tcpip.Address + func (m MLDv2Query) QuerierQueryInterval() time.Duration + func (m MLDv2Query) QuerierRobustnessVariable() uint8 + func (m MLDv2Query) Sources() (AddressIterator, bool) + type MLDv2Report []byte + func (m MLDv2Report) MulticastAddressRecords() MLDv2ReportMulticastAddressRecordIterator + type MLDv2ReportMulticastAddressRecord []byte + func (r MLDv2ReportMulticastAddressRecord) AuxDataLen() int + func (r MLDv2ReportMulticastAddressRecord) MulticastAddress() tcpip.Address + func (r MLDv2ReportMulticastAddressRecord) RecordType() MLDv2ReportRecordType + func (r MLDv2ReportMulticastAddressRecord) Sources() (AddressIterator, bool) + type MLDv2ReportMulticastAddressRecordIterator struct + func (it *MLDv2ReportMulticastAddressRecordIterator) Next() (MLDv2ReportMulticastAddressRecord, ...) + type MLDv2ReportMulticastAddressRecordIteratorNextDisposition int + const MLDv2ReportMulticastAddressRecordIteratorNextDone + const MLDv2ReportMulticastAddressRecordIteratorNextErrBufferTooShort + const MLDv2ReportMulticastAddressRecordIteratorNextOk + type MLDv2ReportMulticastAddressRecordSerializer struct + MulticastAddress tcpip.Address + RecordType MLDv2ReportRecordType + Sources []tcpip.Address + func (s *MLDv2ReportMulticastAddressRecordSerializer) Length() int + func (s *MLDv2ReportMulticastAddressRecordSerializer) SerializeInto(b []byte) + type MLDv2ReportRecordType int + const MLDv2ReportRecordAllowNewSources + const MLDv2ReportRecordBlockOldSources + const MLDv2ReportRecordChangeToExcludeMode + const MLDv2ReportRecordChangeToIncludeMode + const MLDv2ReportRecordModeIsExclude + const MLDv2ReportRecordModeIsInclude + type MLDv2ReportSerializer struct + Records []MLDv2ReportMulticastAddressRecordSerializer + func (s *MLDv2ReportSerializer) Length() int + func (s *MLDv2ReportSerializer) SerializeInto(b []byte) + type NDPDNSSearchList []byte + func (o NDPDNSSearchList) DomainNames() ([]string, error) + func (o NDPDNSSearchList) Lifetime() time.Duration + func (o NDPDNSSearchList) String() string + type NDPNeighborAdvert []byte + func (b NDPNeighborAdvert) Options() NDPOptions + func (b NDPNeighborAdvert) OverrideFlag() bool + func (b NDPNeighborAdvert) RouterFlag() bool + func (b NDPNeighborAdvert) SetOverrideFlag(f bool) + func (b NDPNeighborAdvert) SetRouterFlag(f bool) + func (b NDPNeighborAdvert) SetSolicitedFlag(f bool) + func (b NDPNeighborAdvert) SetTargetAddress(addr tcpip.Address) + func (b NDPNeighborAdvert) SolicitedFlag() bool + func (b NDPNeighborAdvert) TargetAddress() tcpip.Address + type NDPNeighborSolicit []byte + func (b NDPNeighborSolicit) Options() NDPOptions + func (b NDPNeighborSolicit) SetTargetAddress(addr tcpip.Address) + func (b NDPNeighborSolicit) TargetAddress() tcpip.Address + type NDPNonceOption []byte + func (o NDPNonceOption) Nonce() []byte + func (o NDPNonceOption) String() string + type NDPOption interface + type NDPOptionIterator struct + func (i *NDPOptionIterator) Next() (NDPOption, bool, error) + type NDPOptions []byte + func (b NDPOptions) Iter(check bool) (NDPOptionIterator, error) + func (b NDPOptions) Serialize(s NDPOptionsSerializer) int + type NDPOptionsSerializer []NDPOption + func (b NDPOptionsSerializer) Length() int + type NDPPrefixInformation []byte + func (o NDPPrefixInformation) AutonomousAddressConfigurationFlag() bool + func (o NDPPrefixInformation) OnLinkFlag() bool + func (o NDPPrefixInformation) PreferredLifetime() time.Duration + func (o NDPPrefixInformation) Prefix() tcpip.Address + func (o NDPPrefixInformation) PrefixLength() uint8 + func (o NDPPrefixInformation) String() string + func (o NDPPrefixInformation) Subnet() tcpip.Subnet + func (o NDPPrefixInformation) ValidLifetime() time.Duration + type NDPRecursiveDNSServer []byte + func (o NDPRecursiveDNSServer) Addresses() ([]tcpip.Address, error) + func (o NDPRecursiveDNSServer) Lifetime() time.Duration + func (o NDPRecursiveDNSServer) String() string + type NDPRouteInformation []byte + func (o NDPRouteInformation) Prefix() (tcpip.Subnet, error) + func (o NDPRouteInformation) PrefixLength() uint8 + func (o NDPRouteInformation) RouteLifetime() time.Duration + func (o NDPRouteInformation) RoutePreference() NDPRoutePreference + func (o NDPRouteInformation) String() string + type NDPRoutePreference uint8 + func (p NDPRoutePreference) String() string + type NDPRouterAdvert []byte + func (b NDPRouterAdvert) CurrHopLimit() uint8 + func (b NDPRouterAdvert) DefaultRouterPreference() NDPRoutePreference + func (b NDPRouterAdvert) ManagedAddrConfFlag() bool + func (b NDPRouterAdvert) Options() NDPOptions + func (b NDPRouterAdvert) OtherConfFlag() bool + func (b NDPRouterAdvert) ReachableTime() time.Duration + func (b NDPRouterAdvert) RetransTimer() time.Duration + func (b NDPRouterAdvert) RouterLifetime() time.Duration + type NDPRouterSolicit []byte + func (b NDPRouterSolicit) Options() NDPOptions + type NDPSourceLinkLayerAddressOption tcpip.LinkAddress + func (o NDPSourceLinkLayerAddressOption) EthernetAddress() tcpip.LinkAddress + func (o NDPSourceLinkLayerAddressOption) String() string + type NDPTargetLinkLayerAddressOption tcpip.LinkAddress + func (o NDPTargetLinkLayerAddressOption) EthernetAddress() tcpip.LinkAddress + func (o NDPTargetLinkLayerAddressOption) String() string + type Network interface + Checksum func() uint16 + DestinationAddress func() tcpip.Address + Payload func() []byte + SetChecksum func(uint16) + SetDestinationAddress func(tcpip.Address) + SetSourceAddress func(tcpip.Address) + SetTOS func(t uint8, l uint32) + SourceAddress func() tcpip.Address + TOS func() (uint8, uint32) + TransportProtocol func() tcpip.TransportProtocolNumber + type SACKBlock struct + End seqnum.Value + Start seqnum.Value + func (r SACKBlock) Contains(b SACKBlock) bool + func (r SACKBlock) Less(b btree.Item) bool + type TCP []byte + func (b TCP) AckNumber() uint32 + func (b TCP) CalculateChecksum(partialChecksum uint16) uint16 + func (b TCP) Checksum() uint16 + func (b TCP) DataOffset() uint8 + func (b TCP) DestinationPort() uint16 + func (b TCP) Encode(t *TCPFields) + func (b TCP) EncodePartial(partialChecksum, length uint16, seqnum, acknum uint32, flags TCPFlags, ...) + func (b TCP) Flags() TCPFlags + func (b TCP) IsChecksumValid(src, dst tcpip.Address, payloadChecksum, payloadLength uint16) bool + func (b TCP) Options() []byte + func (b TCP) ParsedOptions() TCPOptions + func (b TCP) Payload() []byte + func (b TCP) SequenceNumber() uint32 + func (b TCP) SetAckNumber(ackNum uint32) + func (b TCP) SetChecksum(xsum uint16) + func (b TCP) SetDataOffset(headerLen uint8) + func (b TCP) SetDestinationPort(port uint16) + func (b TCP) SetDestinationPortWithChecksumUpdate(new uint16) + func (b TCP) SetFlags(flags uint8) + func (b TCP) SetSequenceNumber(seqNum uint32) + func (b TCP) SetSourcePort(port uint16) + func (b TCP) SetSourcePortWithChecksumUpdate(new uint16) + func (b TCP) SetUrgentPointer(urgentPointer uint16) + func (b TCP) SetWindowSize(rcvwnd uint16) + func (b TCP) SourcePort() uint16 + func (b TCP) UpdateChecksumPseudoHeaderAddress(old, new tcpip.Address, fullChecksum bool) + func (b TCP) UrgentPointer() uint16 + func (b TCP) WindowSize() uint16 + type TCPFields struct + AckNum uint32 + Checksum uint16 + DataOffset uint8 + DstPort uint16 + Flags TCPFlags + SeqNum uint32 + SrcPort uint16 + UrgentPointer uint16 + WindowSize uint16 + type TCPFlags uint8 + const TCPFlagAck + const TCPFlagCwr + const TCPFlagEce + const TCPFlagFin + const TCPFlagPsh + const TCPFlagRst + const TCPFlagSyn + const TCPFlagUrg + func (f TCPFlags) Contains(o TCPFlags) bool + func (f TCPFlags) Intersects(o TCPFlags) bool + func (f TCPFlags) String() string + type TCPOptions struct + SACKBlocks []SACKBlock + TS bool + TSEcr uint32 + TSVal uint32 + func ParseTCPOptions(b []byte) TCPOptions + type TCPSynOptions struct + Flags TCPFlags + MSS uint16 + SACKPermitted bool + TS bool + TSEcr uint32 + TSVal uint32 + WS int + func ParseSynOptions(opts []byte, isAck bool) TCPSynOptions + type Transport interface + Checksum func() uint16 + DestinationPort func() uint16 + Payload func() []byte + SetChecksum func(uint16) + SetDestinationPort func(uint16) + SetSourcePort func(uint16) + SourcePort func() uint16 + type UDP []byte + func (b UDP) CalculateChecksum(partialChecksum uint16) uint16 + func (b UDP) Checksum() uint16 + func (b UDP) DestinationPort() uint16 + func (b UDP) Encode(u *UDPFields) + func (b UDP) IsChecksumValid(src, dst tcpip.Address, payloadChecksum uint16) bool + func (b UDP) Length() uint16 + func (b UDP) Payload() []byte + func (b UDP) SetChecksum(xsum uint16) + func (b UDP) SetDestinationPort(port uint16) + func (b UDP) SetDestinationPortWithChecksumUpdate(new uint16) + func (b UDP) SetLength(length uint16) + func (b UDP) SetSourcePort(port uint16) + func (b UDP) SetSourcePortWithChecksumUpdate(new uint16) + func (b UDP) SourcePort() uint16 + func (b UDP) UpdateChecksumPseudoHeaderAddress(old, new tcpip.Address, fullChecksum bool) + type UDPFields struct + Checksum uint16 + DstPort uint16 + Length uint16 + SrcPort uint16 + type VirtioNetHeader []byte + func (v VirtioNetHeader) CSumOffset() uint16 + func (v VirtioNetHeader) CSumStart() uint16 + func (v VirtioNetHeader) Encode(f *VirtioNetHeaderFields) + func (v VirtioNetHeader) Flags() uint8 + func (v VirtioNetHeader) GSOSize() uint16 + func (v VirtioNetHeader) GSOType() uint8 + func (v VirtioNetHeader) HdrLen() uint16 + type VirtioNetHeaderFields struct + CSumOffset uint16 + CSumStart uint16 + Flags uint8 + GSOSize uint16 + GSOType uint8 + HdrLen uint16