Versions in this module Expand all Collapse all v1 v1.0.1 Apr 30, 2024 Changes in this version + const DefaultQueryInterval + const DefaultRobustnessVariable + type DAD struct + func (d *DAD) CheckDuplicateAddressLocked(addr tcpip.Address, h stack.DADCompletionHandler) stack.DADCheckAddressDisposition + func (d *DAD) ExtendIfNonceEqualLocked(addr tcpip.Address, nonce []byte) ExtendIfNonceEqualLockedDisposition + func (d *DAD) Init(protocolMU sync.Locker, configs stack.DADConfigurations, opts DADOptions) + func (d *DAD) SetConfigsLocked(c stack.DADConfigurations) + func (d *DAD) StopLocked(addr tcpip.Address, reason stack.DADResult) + type DADOptions struct + Clock tcpip.Clock + ExtendDADTransmits uint8 + NICID tcpip.NICID + NonceSize uint8 + Protocol DADProtocol + SecureRNG io.Reader + type DADProtocol interface + SendDADMessage func(tcpip.Address, []byte) tcpip.Error + type ErrHostUnreachable struct + func (*ErrHostUnreachable) String() string + type ErrInitializingSourceAddress struct + func (*ErrInitializingSourceAddress) String() string + type ErrLinkLocalDestinationAddress struct + func (*ErrLinkLocalDestinationAddress) String() string + type ErrLinkLocalSourceAddress struct + func (*ErrLinkLocalSourceAddress) String() string + type ErrMessageTooLong struct + func (*ErrMessageTooLong) String() string + type ErrNoMulticastPendingQueueBufferSpace struct + func (*ErrNoMulticastPendingQueueBufferSpace) String() string + type ErrOther struct + Err tcpip.Error + func (e *ErrOther) String() string + type ErrOutgoingDeviceNoBufferSpace struct + func (*ErrOutgoingDeviceNoBufferSpace) String() string + type ErrParameterProblem struct + func (*ErrParameterProblem) String() string + type ErrTTLExceeded struct + func (*ErrTTLExceeded) String() string + type ErrUnexpectedMulticastInputInterface struct + func (*ErrUnexpectedMulticastInputInterface) String() string + type ErrUnknownOutputEndpoint struct + func (*ErrUnknownOutputEndpoint) String() string + type ExtendIfNonceEqualLockedDisposition int + const AlreadyExtended + const Extended + const NoDADStateFound + const NonceDisabled + const NonceNotEqual + type ForwardingError interface + type GenericMulticastProtocolOptions struct + Clock tcpip.Clock + MaxUnsolicitedReportDelay time.Duration + Protocol MulticastGroupProtocol + Rand *rand.Rand + type GenericMulticastProtocolState struct + func (g *GenericMulticastProtocolState) GetV1ModeLocked() bool + func (g *GenericMulticastProtocolState) HandleQueryLocked(groupAddress tcpip.Address, maxResponseTime time.Duration) + func (g *GenericMulticastProtocolState) HandleQueryV2Locked(groupAddress tcpip.Address, maxResponseCode uint16, ...) + func (g *GenericMulticastProtocolState) HandleReportLocked(groupAddress tcpip.Address) + func (g *GenericMulticastProtocolState) Init(protocolMU *sync.RWMutex, opts GenericMulticastProtocolOptions) + func (g *GenericMulticastProtocolState) InitializeGroupsLocked() + func (g *GenericMulticastProtocolState) IsLocallyJoinedRLocked(groupAddress tcpip.Address) bool + func (g *GenericMulticastProtocolState) JoinGroupLocked(groupAddress tcpip.Address) + func (g *GenericMulticastProtocolState) LeaveGroupLocked(groupAddress tcpip.Address) bool + func (g *GenericMulticastProtocolState) MakeAllNonMemberLocked() + func (g *GenericMulticastProtocolState) SendQueuedReportsLocked() + func (g *GenericMulticastProtocolState) SetV1ModeLocked(v bool) bool + type MultiCounterIPForwardingStats struct + Errors tcpip.MultiCounterStat + ExhaustedTTL tcpip.MultiCounterStat + ExtensionHeaderProblem tcpip.MultiCounterStat + HostUnreachable tcpip.MultiCounterStat + InitializingSource tcpip.MultiCounterStat + LinkLocalDestination tcpip.MultiCounterStat + LinkLocalSource tcpip.MultiCounterStat + NoMulticastPendingQueueBufferSpace tcpip.MultiCounterStat + OutgoingDeviceNoBufferSpace tcpip.MultiCounterStat + PacketTooBig tcpip.MultiCounterStat + UnexpectedMulticastInputInterface tcpip.MultiCounterStat + UnknownOutputEndpoint tcpip.MultiCounterStat + Unrouteable tcpip.MultiCounterStat + func (m *MultiCounterIPForwardingStats) Init(a, b *tcpip.IPForwardingStats) + type MultiCounterIPStats struct + DisabledPacketsReceived tcpip.MultiCounterStat + Forwarding MultiCounterIPForwardingStats + IPTablesForwardDropped tcpip.MultiCounterStat + IPTablesInputDropped tcpip.MultiCounterStat + IPTablesOutputDropped tcpip.MultiCounterStat + IPTablesPostroutingDropped tcpip.MultiCounterStat + IPTablesPreroutingDropped tcpip.MultiCounterStat + InvalidDestinationAddressesReceived tcpip.MultiCounterStat + InvalidSourceAddressesReceived tcpip.MultiCounterStat + MalformedFragmentsReceived tcpip.MultiCounterStat + MalformedPacketsReceived tcpip.MultiCounterStat + OptionRecordRouteReceived tcpip.MultiCounterStat + OptionRouterAlertReceived tcpip.MultiCounterStat + OptionTimestampReceived tcpip.MultiCounterStat + OptionUnknownReceived tcpip.MultiCounterStat + OutgoingPacketErrors tcpip.MultiCounterStat + PacketsDelivered tcpip.MultiCounterStat + PacketsReceived tcpip.MultiCounterStat + PacketsSent tcpip.MultiCounterStat + ValidPacketsReceived tcpip.MultiCounterStat + func (m *MultiCounterIPStats) Init(a, b *tcpip.IPStats) + type MulticastGroupProtocol interface + Enabled func() bool + NewReportV2Builder func() MulticastGroupProtocolV2ReportBuilder + SendLeave func(groupAddress tcpip.Address) tcpip.Error + SendReport func(groupAddress tcpip.Address) (sent bool, err tcpip.Error) + ShouldPerformProtocol func(tcpip.Address) bool + V2QueryMaxRespCodeToV1Delay func(code uint16) time.Duration + V2QueryMaxRespCodeToV2Delay func(code uint16) time.Duration + type MulticastGroupProtocolV2ReportBuilder interface + AddRecord func(recordType MulticastGroupProtocolV2ReportRecordType, ...) + Send func() (sent bool, err tcpip.Error) + type MulticastGroupProtocolV2ReportRecordType int + const MulticastGroupProtocolV2ReportRecordAllowNewSources + const MulticastGroupProtocolV2ReportRecordBlockOldSources + const MulticastGroupProtocolV2ReportRecordChangeToExcludeMode + const MulticastGroupProtocolV2ReportRecordChangeToIncludeMode + const MulticastGroupProtocolV2ReportRecordModeIsExclude + const MulticastGroupProtocolV2ReportRecordModeIsInclude