Enum etherparse::icmpv6::DestUnreachableCode
source · pub enum DestUnreachableCode {
NoRoute = 0,
Prohibited = 1,
BeyondScope = 2,
Address = 3,
Port = 4,
SourceAddressFailedPolicy = 5,
RejectRoute = 6,
}
Expand description
“Destination Unreachable” ICMPv6 code containing a reason why a destination could not be reached.
§RFC 4443 Description:
A Destination Unreachable message SHOULD be generated by a router, or by the IPv6 layer in the originating node, in response to a packet that cannot be delivered to its destination address for reasons other than congestion. (An ICMPv6 message MUST NOT be generated if a packet is dropped due to congestion.)
Variants§
NoRoute = 0
No route to destination
Prohibited = 1
Communication with destination administratively prohibited
BeyondScope = 2
Beyond scope of source address
Address = 3
Address unreachable
Port = 4
Port unreachable
SourceAddressFailedPolicy = 5
Source address failed ingress/egress policy
RejectRoute = 6
Reject route to destination
Implementations§
source§impl DestUnreachableCode
impl DestUnreachableCode
sourcepub fn from_u8(code_u8: u8) -> Option<DestUnreachableCode>
pub fn from_u8(code_u8: u8) -> Option<DestUnreachableCode>
Converts the u8 code value from an ICMPv6 “destination unreachable”
packet to an icmpv6::DestUnreachableCode
enum.
§Example Usage:
use etherparse::{icmpv6, icmpv6::DestUnreachableCode};
let icmp_packet: [u8;8] = [
icmpv6::TYPE_DST_UNREACH, icmpv6::CODE_DST_UNREACH_PORT, 0, 0,
0, 0, 0, 0,
];
if icmpv6::TYPE_DST_UNREACH == icmp_packet[0] {
let dst = icmpv6::DestUnreachableCode::from_u8(
icmp_packet[1]
);
assert_eq!(dst, Some(icmpv6::DestUnreachableCode::Port));
}
Trait Implementations§
source§impl Clone for DestUnreachableCode
impl Clone for DestUnreachableCode
source§fn clone(&self) -> DestUnreachableCode
fn clone(&self) -> DestUnreachableCode
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for DestUnreachableCode
impl Debug for DestUnreachableCode
source§impl PartialEq for DestUnreachableCode
impl PartialEq for DestUnreachableCode
source§fn eq(&self, other: &DestUnreachableCode) -> bool
fn eq(&self, other: &DestUnreachableCode) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Copy for DestUnreachableCode
impl Eq for DestUnreachableCode
impl StructuralPartialEq for DestUnreachableCode
Auto Trait Implementations§
impl Freeze for DestUnreachableCode
impl RefUnwindSafe for DestUnreachableCode
impl Send for DestUnreachableCode
impl Sync for DestUnreachableCode
impl Unpin for DestUnreachableCode
impl UnwindSafe for DestUnreachableCode
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more