Expand description
Definitions for devices at the IP layer.
Structs§
- Address
Id - A strongly-held reference to an IP address assigned to a device.
- Address
IdIter - An iterator over address StrongIds. Created from
IpDeviceAddresses
. - Common
Address Properties - Address properties common to IPv4 and IPv6.
- DadAddress
State Ref - A reference to the DAD address state.
- DadState
Ref - Holds references to state associated with duplicate address detection.
- DadTimer
Id - A timer ID for duplicate address detection.
- Default
HopLimit - A container for the default hop limit kept by [
IpDeviceState
]. - Device
IpAny Api - The device IP API interacting with all IP versions.
- Device
IpApi - Provides an API for dealing with devices at the IP layer, aka interfaces.
- Dual
Stack IpDevice State - IPv4 and IPv6 state combined.
- IidSecret
- A secret for generating
OpaqueIid
s. - IpDevice
Addresses - A device’s IP addresses for IP version
I
. - IpDevice
Configuration - Configurations common to all IP devices.
- IpDevice
Configuration AndFlags - The device configurations and flags.
- IpDevice
Configuration Update - An update to IP device configuration.
- IpDevice
Flags - The flags for an IP device.
- IpDevice
Multicast Groups - The state kept for each device to handle multicast group membership.
- IpDevice
Timer Id - An IP device timer.
- Ipv4
Addr Config - The configuration for an IPv4 address.
- Ipv4
Address Entry - Data associated with an IPv4 address on an interface.
- Ipv4
Address State - The state associated with an IPv4 device address.
- Ipv4
Device Configuration - Configuration common to all IPv4 devices.
- Ipv4
Device Configuration Update - An update to IPv4 device configuration.
- Ipv4
Device Timer Id - A timer ID for IPv4 devices.
- Ipv6
Addr Manual Config - The configuration for a manually-assigned IPv6 address.
- Ipv6
Addr Slaac Config - The common configuration for a SLAAC-assigned IPv6 address.
- Ipv6
Address Entry - Data associated with an IPv6 address on an interface.
- Ipv6
Address Flags - Flags associated with an IPv6 device address.
- Ipv6
Address State - The state associated with an IPv6 device address.
- Ipv6
Device Configuration - Configuration common to all IPv6 devices.
- Ipv6
Device Configuration Update - An update to IPv6 device configuration.
- Ipv6
Discovered Route - A discovered route.
- Ipv6
Network Learned Parameters - IPv6 device parameters that can be learned from router advertisements.
- Ipv6
Route Discovery State - Route discovery state on a device.
- Opaque
Iid - An opaque interface identifier (IID).
- Primary
Address Id - The primary reference to the state associated with an IP address assigned to an IP device.
- RsState
- A device’s router solicitation state.
- RsTimer
Id - A router solicitation timer.
- Slaac
Address Entry - The state associated with a SLAAC address.
- Slaac
Address Entry Mut - A mutable view into state associated with a SLAAC address’s mutable state.
- Slaac
Config AndState - Supports
SlaacContext::with_slaac_addrs_mut_and_configs
. - Slaac
Configuration - The configuration for SLAAC.
- Slaac
Configuration Update - An update structure for
SlaacConfiguration
. - Slaac
Counters - Counters for SLAAC.
- Slaac
State - Global Slaac state on a device.
- Slaac
Timer Id - A timer ID for SLAAC.
- Temporary
Slaac Config - Configuration for a temporary IPv6 address assigned via SLAAC.
- Weak
Address Id - A weakly-held reference to an IP address assigned to a device.
Enums§
- AddIp
Addr Subnet Error - Errors that can be returned by the [
DeviceIpApiAny::add_ip_addr_subnet
] function. - Addr
Subnet AndManual Config Either - An AddrSubnet together with configuration specified for it when adding it to the stack.
- Address
Removed Reason - The reason an address was removed.
- DadEvent
- Events generated by duplicate address detection.
- DelIp
Addr - Possible representations of an IP address that is valid for deletion.
- IidGeneration
Configuration - The method to use for generating the Interface Identifier portion of stable SLAAC addresses.
- Inner
Slaac Timer Id - Internal SLAAC timer ID key for
SlaacState
’sLocalTimerHeap
. - IpAddress
State - IP address assignment states.
- IpDevice
Event - Events emitted from IP devices.
- Ipv6
Addr Config - The configuration for an IPv6 address.
- Ipv6
DadState - The various states DAD may be in for an address.
- Ipv6
Device Timer Id - A timer ID for IPv6 devices.
- Lifetime
- A lifetime that may be forever/infinite.
- Opaque
IidNonce - Describes the value being used as the nonce for
OpaqueIid
. - Preferred
Lifetime - An address’ preferred lifetime information.
- SetIp
Address Properties Error - Error type for setting properties on IP addresses.
- Slaac
Config - Configuration for an IPv6 address assigned via SLAAC that varies based on whether the address is stable or temporary.
- Stable
Slaac Address Configuration - Configuration values for SLAAC stable addressing.
- Temporary
Slaac Address Configuration - Configuration values for SLAAC temporary addressing.
- Update
IpConfiguration Error - Errors observed from updating a device’s IP configuration.
Constants§
- MAX_
RTR_ SOLICITATION_ DELAY - Amount of time to wait after sending
MAX_RTR_SOLICITATIONS
Router Solicitation messages before determining that there are no routers on the link for the purpose of IPv6 Stateless Address Autoconfiguration if no Router Advertisement messages have been received as defined in RFC 4861 section 10. - RTR_
SOLICITATION_ INTERVAL - Minimum duration between router solicitation messages as defined in RFC 4861 section 10.
- SLAAC_
MIN_ REGEN_ ADVANCE - The minimum REGEN_ADVANCE as specified in RFC 8981 Section 3.8.
Traits§
- Assigned
Address State - The state associated with an IP address assigned to an IP device.
- DadAddress
Context - The execution context while performing DAD.
- DadContext
- The execution context for DAD.
- DadHandler
- An implementation for Duplicate Address Detection.
- IpAddress
IdSpec - A marker trait for a spec of address IDs.
- IpAddress
IdSpec Context - Ties an
IpAddressIdSpec
to a core context implementation. - IpDevice
Address Context - The core context providing access to device IP address state.
- IpDevice
Bindings Context - The bindings execution context for IP devices.
- IpDevice
Configuration Context - The execution context for IP devices.
- IpDevice
Configuration Handler - A trait abstracting configuration between IPv4 and IPv6.
- IpDevice
IpExt - An extension trait adding IP device properties.
- IpDevice
Send Context - The execution context for an IP device with a buffer.
- IpDevice
State Bindings Types - Bindings types required for IP device state.
- IpDevice
State Context - Accessor for IP device state.
- IpDevice
State IpExt - An
Ip
extension trait adding IP device state properties. - Ipv6
Device Configuration Context - The core context for IPv6 device configuration.
- Ipv6
Device Context - The execution context for an IPv6 device.
- Ipv6
Device Handler - An implementation of an IPv6 device.
- Ipv6
Discovered Routes Context - An implementation of the execution context available when accessing the IPv6 route discovery state.
- Ipv6
Link Layer Addr - A link-layer address that can be used to generate IPv6 addresses.
- Ipv6
Route Discovery Bindings Context - The bindings execution context for IPv6 route discovery.
- Ipv6
Route Discovery Context - The execution context for IPv6 route discovery.
- RsContext
- The execution context for router solicitation.
- RsHandler
- An implementation of Router Solicitation.
- Slaac
Addresses - Abstracts iteration over a device’s SLAAC addresses.
- Slaac
Bindings Context - The bindings execution context for SLAAC.
- Slaac
Context - The execution context for SLAAC.
- With
IpDevice Configuration MutInner - The context provided to the callback passed to
IpDeviceConfigurationContext::with_ip_device_configuration_mut
. - With
Ipv6 Device Configuration MutInner - The context provided to the callback passed to
Ipv6DeviceConfigurationContext::with_ipv6_device_configuration_mut
.
Functions§
- add_
ip_ addr_ subnet_ with_ config - Adds
addr_sub
todevice_id
with configurationaddr_config
. - clear_
ipv4_ device_ state - Removes IPv4 state for the device without emitting events.
- clear_
ipv6_ device_ state - Removes IPv6 state for the device without emitting events.
- del_
ip_ addr_ inner - Deletes an IP address from a device, returning the address and its configuration if it was removed.
- get_
ipv4_ addr_ subnet - Gets a single IPv4 address and subnet for a device.
- get_
ipv6_ hop_ limit - Gets the hop limit for new IPv6 packets that will be sent out from
device
. - is_
ip_ device_ enabled - Returns whether
device_id
is enabled for IP versionI
. - is_
ip_ multicast_ forwarding_ enabled - Is IP packet multicast forwarding enabled?
- is_
ip_ unicast_ forwarding_ enabled - Is IP packet unicast forwarding enabled?
- join_
ip_ multicast - Adds
device_id
to a multicast groupmulticast_addr
. - join_
ip_ multicast_ with_ config - Joins the multicast group
multicast_addr
ondevice_id
. - leave_
ip_ multicast - Removes
device_id
from a multicast groupmulticast_addr
. - leave_
ip_ multicast_ with_ config - Leaves the multicast group
multicast_addr
ondevice_id
. - receive_
igmp_ packet - Handles receipt of an IGMP packet on
device
.