Versions in this module Expand all Collapse all v0 v0.9.0 Sep 20, 2024 Changes in this version + var IPv4Loopback = tcpip.AddrFrom4([4]byte{ ... }) v0.8.0 Jun 9, 2024 v0.7.0 May 31, 2024 Changes in this version type IPv4 + func (b IPv4) DestinationAddressSlice() []byte + func (b IPv4) SourceAddressSlice() []byte type IPv6 + func (b IPv6) DestinationAddressSlice() []byte + func (b IPv6) SourceAddressSlice() []byte v0.6.0 Apr 21, 2024 v0.5.0 Apr 21, 2024 v0.4.0 Apr 21, 2024 v0.3.0 Apr 21, 2024 v0.2.2 Apr 20, 2024 v0.2.1 Apr 20, 2024 v0.2.0 Apr 20, 2024 v0.1.0 Apr 17, 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) StateFields() []string + func (r *SACKBlock) StateLoad(ctx context.Context, stateSourceObject state.Source) + func (r *SACKBlock) StateSave(stateSinkObject state.Sink) + func (r *SACKBlock) StateTypeName() string + 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 + func (t *TCPOptions) StateFields() []string + func (t *TCPOptions) StateLoad(ctx context.Context, stateSourceObject state.Source) + func (t *TCPOptions) StateSave(stateSinkObject state.Sink) + func (t *TCPOptions) StateTypeName() string + type TCPSynOptions struct + Flags TCPFlags + MSS uint16 + SACKPermitted bool + TS bool + TSEcr uint32 + TSVal uint32 + WS int + func ParseSynOptions(opts []byte, isAck bool) TCPSynOptions + func (t *TCPSynOptions) StateFields() []string + func (t *TCPSynOptions) StateLoad(ctx context.Context, stateSourceObject state.Source) + func (t *TCPSynOptions) StateSave(stateSinkObject state.Sink) + func (t *TCPSynOptions) StateTypeName() string + 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