Trait IcmpMessage

Source
pub trait IcmpMessage<I: IpExt>: IcmpMessage<I> + MaybeTransportPacket {
    const IS_REWRITABLE: bool;

    // Required method
    fn update_icmp_id(&mut self, id: u16) -> u16;

    // Provided method
    fn is_rewritable(&self) -> bool { ... }
}
Expand description

An ICMP message type that may allow for transport-layer packet inspection.

Required Associated Constants§

Source

const IS_REWRITABLE: bool

Whether this ICMP message supports rewriting the ID.

Required Methods§

Source

fn update_icmp_id(&mut self, id: u16) -> u16

Sets the ICMP ID for the message, returning the previous value.

The ICMP ID is both the src AND dst ports for conntrack entries.

Provided Methods§

Source

fn is_rewritable(&self) -> bool

The same as IcmpMessage::IS_REWRITABLE, but for when you have an object, rather than a type.

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.

Implementations on Foreign Types§

Source§

impl IcmpMessage<Ipv4> for IcmpDestUnreachable

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv4> for IcmpTimeExceeded

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv4> for Icmpv4ParameterProblem

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv4> for Icmpv4Redirect

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv4> for Icmpv4TimestampReply

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv4> for Icmpv4TimestampRequest

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for IcmpDestUnreachable

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for IcmpTimeExceeded

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for Icmpv6PacketTooBig

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for Icmpv6ParameterProblem

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for MulticastListenerDone

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for MulticastListenerQuery

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for MulticastListenerQueryV2

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for MulticastListenerReport

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for MulticastListenerReportV2

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for NeighborAdvertisement

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for NeighborSolicitation

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for Redirect

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for RouterAdvertisement

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl IcmpMessage<Ipv6> for RouterSolicitation

Source§

const IS_REWRITABLE: bool = false

Source§

fn update_icmp_id(&mut self, _: u16) -> u16

Source§

impl<I: IpExt> IcmpMessage<I> for IcmpEchoReply

Source§

const IS_REWRITABLE: bool = true

Source§

fn update_icmp_id(&mut self, id: u16) -> u16

Source§

impl<I: IpExt> IcmpMessage<I> for IcmpEchoRequest

Source§

const IS_REWRITABLE: bool = true

Source§

fn update_icmp_id(&mut self, id: u16) -> u16

Implementors§