Module tunneling

Source
Expand description

IPv6/IPv4 tunneling protocols IPv6/IPv4 Tunneling Implementation

This module provides comprehensive tunneling solutions for enabling IPv6 connectivity over IPv4 networks. It implements multiple tunneling protocols to ensure universal connectivity for the P2P Foundation networking stack.

§Supported Protocols

  • 6to4: Automatic tunneling of IPv6 traffic over IPv4 networks
  • Teredo: NAT traversal for IPv6 connectivity through NAT devices
  • 6in4: Configured tunneling for IPv6 over IPv4 with explicit endpoints
  • DS-Lite: ISP-provided dual-stack lite tunneling
  • ISATAP: Enterprise network tunneling for corporate environments
  • MAP-E: ISP IPv4 sharing via encapsulation with mapping rules
  • MAP-T: ISP IPv4/IPv6 translation with mapping rules

§Architecture

The tunneling system uses a trait-based architecture that allows for:

  • Protocol-agnostic tunnel management
  • Automatic protocol selection based on network conditions
  • Seamless integration with the transport layer
  • Performance monitoring and failover capabilities

Re-exports§

pub use sixto4::SixToFourTunnel;
pub use teredo::TeredoTunnel;
pub use sixinfour::SixInFourTunnel;
pub use dslite::DsLiteTunnel;
pub use isatap::IsatapTunnel;
pub use map::MapTunnel;
pub use map::MapProtocol;
pub use map::MapRule;
pub use map::PortParameters;
pub use map::PortSet;

Modules§

dslite
DS-Lite (Dual-Stack Lite) Tunneling Protocol Implementation
isatap
ISATAP (Intra-Site Automatic Tunnel Addressing Protocol) Implementation
map
MAP-E and MAP-T (Mapping of Address and Port) Implementation
sixinfour
6in4 Static Tunneling Protocol Implementation
sixto4
6to4 Tunneling Protocol Implementation
teredo
Teredo Tunneling Protocol Implementation

Structs§

NetworkCapabilities
Capabilities of the current network environment for tunneling
TunnelConfig
Configuration for tunneling protocols
TunnelManager
Manager for multiple tunnel connections with automatic failover
TunnelManagerConfig
Configuration for the tunnel manager
TunnelMetrics
Statistics and performance metrics for tunnel connections
TunnelQualityMetric
Quality metrics for tunnel monitoring and selection
TunnelSelection
Result of tunnel auto-selection process

Enums§

TunnelProtocol
Tunneling protocol types supported by the P2P Foundation
TunnelState
Current state of a tunnel connection

Traits§

Tunnel
Core trait for all tunneling protocol implementations

Functions§

create_tunnel
Create a tunnel instance for a specific protocol
create_tunnel_config
Create a tunnel configuration for a specific protocol
detect_network_capabilities
Detect current network capabilities for tunnel selection