Versions in this module Expand all Collapse all v1 v1.0.1 Apr 30, 2024 Changes in this version + const DefaultCleanupInterval + const DefaultMaxPendingQueueSize + const DefaultPendingRouteExpiration + var ErrAlreadyInitialized = errors.New("table is already initialized") + var ErrMissingClock = errors.New("clock must not be nil") + var ErrNoBufferSpace = errors.New("unable to queue packet, no buffer space available") + type Config struct + Clock tcpip.Clock + MaxPendingQueueSize uint8 + func DefaultConfig(clock tcpip.Clock) Config + type GetRouteResult struct + GetRouteResultState GetRouteResultState + InstalledRoute *InstalledRoute + type GetRouteResultState uint8 + const InstalledRouteFound + const NoRouteFoundAndPendingInserted + const PacketQueuedInPendingRoute + func (e GetRouteResultState) String() string + type InstalledRoute struct + func (r *InstalledRoute) LastUsedTimestamp() tcpip.MonotonicTime + func (r *InstalledRoute) SetLastUsedTimestamp(monotonicTime tcpip.MonotonicTime) + type PendingRoute struct + type RouteTable struct + func (r *RouteTable) AddInstalledRoute(key stack.UnicastSourceAndMulticastDestination, route *InstalledRoute) []*stack.PacketBuffer + func (r *RouteTable) Close() + func (r *RouteTable) GetLastUsedTimestamp(key stack.UnicastSourceAndMulticastDestination) (tcpip.MonotonicTime, bool) + func (r *RouteTable) GetRouteOrInsertPending(key stack.UnicastSourceAndMulticastDestination, pkt *stack.PacketBuffer) (GetRouteResult, bool) + func (r *RouteTable) Init(config Config) error + func (r *RouteTable) NewInstalledRoute(route stack.MulticastRoute) *InstalledRoute + func (r *RouteTable) RemoveAllInstalledRoutes() + func (r *RouteTable) RemoveInstalledRoute(key stack.UnicastSourceAndMulticastDestination) bool