Crate pnet_transport

Crate pnet_transport 

Source
Expand description

Support for implementing transport layer protocols

The transport module provides the ability to send and receive packets at the transport layer using IPv4 or IPv6. It also enables layer 3 networking for specific transport protocols, using IPv4 only.

Note that this is limited by operating system support - for example, on OS X and FreeBSD, it is impossible to implement protocols which are already implemented in the kernel such as TCP and UDP.

Macros§

transport_channel_iterator
Create an iterator for some packet type.

Structs§

Config
Structure used for holding all configurable options for describing possible options for transport channels.
IcmpTransportChannelIterator
An iterator over packets of type IcmpPacket.
Icmpv6TransportChannelIterator
An iterator over packets of type Icmpv6Packet.
Ipv4TransportChannelIterator
An iterator over packets of type Ipv4Packet.
TcpTransportChannelIterator
An iterator over packets of type TcpPacket.
TransportReceiver
Structure used for receiving at the transport layer. Should be created with transport_channel().
TransportSender
Structure used for sending at the transport layer. Should be created with transport_channel().
UdpTransportChannelIterator
An iterator over packets of type UdpPacket.

Enums§

Ecn
TransportChannelType
Type of transport channel to present.
TransportProtocol
Represents a transport layer protocol.

Functions§

icmp_packet_iter
Return a packet iterator with packets of type IcmpPacket for some transport receiver.
icmpv6_packet_iter
Return a packet iterator with packets of type Icmpv6Packet for some transport receiver.
ipv4_packet_iter
Return a packet iterator with packets of type Ipv4Packet for some transport receiver.
tcp_packet_iter
Return a packet iterator with packets of type TcpPacket for some transport receiver.
transport_channel
Create a new (TransportSender, TransportReceiver) pair.
transport_channel_with
Create a new (TransportSender, TransportReceiver) pair using the additional options specified.
udp_packet_iter
Return a packet iterator with packets of type UdpPacket for some transport receiver.