Expand description
Netstack3 core IP layer.
This crate contains the IP layer for netstack3.
Modules§
- Definitions for devices at the IP layer.
- Group management protocols.
- The Internet Control Message Protocol (ICMP).
- Marker traits controlling IP context behavior.
- Multicast Forwarding
- Neighbor Unreachability Detection.
- Raw IP sockets.
- IP Layer definitions supporting sockets.
Structs§
AddableEntry
is a routing entry that may be used to add a new entry to the forwarding table.- The destination of an outbound IP packet.
- Metadata that is produced and consumed by the IP layer for each packet, but which also traverses the device layer.
- A forwarding entry.
- The timer ID for the fragment cache.
- Counters kept by the IP stack pertaining to fragmentation.
- Used to compare routes for how early they were added to the table.
- Hop limits for packets sent to multicast and unicast destinations.
- Ip layer counters.
- A cache of inbound IP packet fragments.
- The inner state for the IP layer for IP version
I
. - The stack’s IPv4 state.
- A builder for IPv4 state.
- The stack’s IPv6 state.
- A builder for IPv6 state.
- A socket mark.
- The 2 mark matchers a rule can specify. All non-none markers must match.
- The 2 marks socket can use to route traffic.
- A path MTU cache.
- The priority of a forwarding entry. Lower metrics are preferred.
- Meta information for an incoming packet.
- The resolved route to a destination IP address.
- The routes API interacting with all IP versions.
- The routes API for a specific IP version
I
. - An IP routing table.
- Identifier to a routing table.
- A routing rule.
- Contains traffic matchers for a given rule.
- Table that contains routing rules.
- The metadata associated with an outgoing IP packet.
- Informs the transport layer of parameters for transparent local delivery.
Enums§
- An error encountered when adding a routing entry.
- An IPv4 forwarding entry or an IPv6 forwarding entry.
- The metric for an
AddableEntry
. - The status of an IP address on an interface.
- The reason a received IP packet is dropped.
- An IPv4 forwarding entry or an IPv6 forwarding entry.
- Internal forwarding semantics.
- Events observed at the IP layer.
- The identifier for timer events in the IP layer.
- Packed destination passed to
IpDeviceSendContext::send_ip_frame
. - Send error cause for
IpSendFrameError
. - The status of an IPv4 address.
- The status of an IPv6 address.
- Mark domains.
- A matcher to the socket mark.
- The metric for an
Entry
. - The next hop for a
Destination
. - Tells whether a non local IP address is allowed as the source address for route selection.
- Tells whether the packet being routed is generated by us or someone else.
- The action to take in order to process a received IP packet.
- An error occurred while resolving the route to a destination
- The action part of a
Rule
. - Matches with
PacketOrigin
. - An error encountered when receiving a transport-layer packet.
Constants§
- Default hop limits for sockets.
- Default IPv4 TTL.
- The IPv6 subnet that contains all addresses;
::/0
.
Traits§
- The base execution context provided by the IP layer to transport layer protocols.
- Abstracts access to a [
filter::FilterHandler
] for core contexts. - The state context for the fragment cache.
- Provides the ability to check neighbor reachability via a specific device.
- The IP device context provided to the IP layer.
- Provides access to an IP device’s state for IP layer egress.
- Provides access to an IP device’s state for IP layer ingress.
- Provides access to an IP device’s MTU for the IP layer.
- The bindings execution context for the IP layer.
- The execution context for the IP layer.
- Trait for abstracting the IP layer for locally-generated traffic. That is, traffic generated by the netstack itself (e.g. ICMP, IGMP, or MLD).
- An extension trait providing IP layer properties.
- The state context that gives access to a singular routing table.
- The state context that gives access to routing tables provided to the IP layer.
- Provides access to a device for the purposes of IP routing.
- A handler for Source Address Selection.
- The state context provided to the IP layer.
- The execution context provided by a transport layer protocol to the IP layer.
- The IP context providing dispatch to the available transport protocols.
- Abstraction over the ability to join and leave multicast groups.
- The core context for the path MTU cache.
- A marker trait for the traits required by the transport layer from the IP layer.
Functions§
- Generates an IP packet ID.
- Receive an IPv4 packet from a device.
- Computes the action to take in order to process a received IPv4 packet.
- Receive an IPv6 packet from a device.
- Computes the action to take in order to process a received IPv6 packet.
- Requests that a route be added to the routing table.
- Requests that routes matching these specifiers be removed from the routing table.
- Returns the outgoing routing instructions for reaching the given destination.
Type Aliases§
- Send errors observed at or above the IP layer that carry a serializer.
- An IP Address that witnesses properties needed to be routed.