Skip to main content

IcmpMessage

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".

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§