pub trait IpExt: EthernetIpExt + IcmpIpExt {
type Packet<B: SplitByteSlice>: IpPacket<B, Self, Builder = Self::PacketBuilder> + GenericOverIp<Self, Type = Self::Packet<B>> + GenericOverIp<Ipv4, Type = Ipv4Packet<B>> + GenericOverIp<Ipv6, Type = Ipv6Packet<B>>;
type PacketBuilder: IpPacketBuilder<Self> + Eq;
}
Expand description
An extension trait to the Ip
trait adding associated types relevant for
packet parsing and serialization.
Required Associated Types§
Sourcetype Packet<B: SplitByteSlice>: IpPacket<B, Self, Builder = Self::PacketBuilder> + GenericOverIp<Self, Type = Self::Packet<B>> + GenericOverIp<Ipv4, Type = Ipv4Packet<B>> + GenericOverIp<Ipv6, Type = Ipv6Packet<B>>
type Packet<B: SplitByteSlice>: IpPacket<B, Self, Builder = Self::PacketBuilder> + GenericOverIp<Self, Type = Self::Packet<B>> + GenericOverIp<Ipv4, Type = Ipv4Packet<B>> + GenericOverIp<Ipv6, Type = Ipv6Packet<B>>
An IP packet type for this IP version.
Sourcetype PacketBuilder: IpPacketBuilder<Self> + Eq
type PacketBuilder: IpPacketBuilder<Self> + Eq
An IP packet builder type for the IP version.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.