Expand description
Definitions for devices at the IP layer.
Structs§
- A strongly-held reference to an IP address assigned to a device.
- An iterator over address StrongIds. Created from
IpDeviceAddresses
. - Address properties common to IPv4 and IPv6.
- A reference to the DAD address state.
- Holds references to state associated with duplicate address detection.
- A timer ID for duplicate address detection.
- A container for the default hop limit kept by [
IpDeviceState
]. - The device IP API interacting with all IP versions.
- Provides an API for dealing with devices at the IP layer, aka interfaces.
- IPv4 and IPv6 state combined.
- A secret for generating
OpaqueIid
s. - A device’s IP addresses for IP version
I
. - Configurations common to all IP devices.
- An update to IP device configuration.
- The flags for an IP device.
- The state kept for each device to handle multicast group membership.
- An IP device timer.
- The configuration for an IPv4 address.
- Data associated with an IPv4 address on an interface.
- The state associated with an IPv4 device address.
- Configuration common to all IPv4 devices.
- IPv4 device configurations and flags.
- An update to IPv4 device configuration.
- A timer ID for IPv4 devices.
- The configuration for a manually-assigned IPv6 address.
- The common configuration for a SLAAC-assigned IPv6 address.
- Data associated with an IPv6 address on an interface.
- Flags associated with an IPv6 device address.
- The state associated with an IPv6 device address.
- Configuration common to all IPv6 devices.
- IPv6 device configurations and flags.
- An update to IPv6 device configuration.
- A discovered route.
- IPv6 device parameters that can be learned from router advertisements.
- Route discovery state on a device.
- An opaque interface identifier (IID).
- The primary reference to the state associated with an IP address assigned to an IP device.
- A device’s router solicitation state.
- A router solicitation timer.
- The state associated with a SLAAC address.
- A mutable view into state associated with a SLAAC address’s mutable state.
- Supports [
SlaacContext::with_slaac_addrs_mut_and_config
]. - The configuration for SLAAC.
- An update structure for
SlaacConfiguration
. - Counters for SLAAC.
- Global Slaac state on a device.
- A timer ID for SLAAC.
- Configuration for a temporary IPv6 address assigned via SLAAC.
- A weakly-held reference to an IP address assigned to a device.
Enums§
- Errors that can be returned by the [
DeviceIpApiAny::add_ip_addr_subnet
] function. - An AddrSubnet together with configuration specified for it when adding it to the stack.
- The reason an address was removed.
- Events generated by duplicate address detection.
- Possible representations of an IP address that is valid for deletion.
- Internal SLAAC timer ID key for
SlaacState
’sLocalTimerHeap
. - IP address assignment states.
- Events emitted from IP devices.
- The configuration for an IPv6 address.
- The various states DAD may be in for an address.
- A timer ID for IPv6 devices.
- A lifetime that may be forever/infinite.
- Describes the value being used as the nonce for [
generate_opaque_interface_identifier
]. - An address’ preferred lifetime information.
- Error type for setting properties on IP addresses.
- Configuration for an IPv6 address assigned via SLAAC that varies based on whether the address is static or temporary
- Configuration values for SLAAC temporary addressing.
- Errors observed from updating a device’s IP configuration.
Constants§
- 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. - Minimum duration between router solicitation messages as defined in RFC 4861 section 10.
- The minimum REGEN_ADVANCE as specified in RFC 8981 Section 3.8.
Traits§
- The state associated with an IP address assigned to an IP device.
- The execution context while performing DAD.
- The execution context for DAD.
- An implementation for Duplicate Address Detection.
- A marker trait for a spec of address IDs.
- Ties an
IpAddressIdSpec
to a core context implementation. - The core context providing access to device IP address state.
- The bindings execution context for IP devices.
- The execution context for IP devices.
- A trait abstracting configuration between IPv4 and IPv6.
- An extension trait adding IP device properties.
- The execution context for an IP device with a buffer.
- Bindings types required for IP device state.
- Accessor for IP device state.
- An
Ip
extension trait adding IP device state properties. - The core context for IPv6 device configuration.
- The execution context for an IPv6 device.
- An implementation of an IPv6 device.
- An implementation of the execution context available when accessing the IPv6 route discovery state.
- The bindings execution context for IPv6 route discovery.
- The execution context for IPv6 route discovery.
- The execution context for router solicitation.
- An implementation of Router Solicitation.
- Abstracts iteration over a device’s SLAAC addresses.
- The bindings execution context for SLAAC.
- The execution context for SLAAC.
- The context provided to the callback passed to
IpDeviceConfigurationContext::with_ip_device_configuration_mut
. - The context provided to the callback passed to
Ipv6DeviceConfigurationContext::with_ipv6_device_configuration_mut
.
Functions§
- Adds
addr_sub
todevice_id
with configurationaddr_config
. - Removes IPv4 state for the device without emitting events.
- Removes IPv6 state for the device without emitting events.
- Deletes an IP address from a device, returning the address and its configuration if it was removed.
- Gets a single IPv4 address and subnet for a device.
- Gets the hop limit for new IPv6 packets that will be sent out from
device
. - Returns whether
device_id
is enabled for IP versionI
. - Is IP packet multicast forwarding enabled?
- Is IP packet unicast forwarding enabled?
- Adds
device_id
to a multicast groupmulticast_addr
. - Joins the multicast group
multicast_addr
ondevice_id
. - Removes
device_id
from a multicast groupmulticast_addr
. - Leaves the multicast group
multicast_addr
ondevice_id
. - Handles receipt of an IGMP packet on
device
.