Struct NotifyType

Source
pub struct NotifyType(pub u16);
Expand description

Notify Message Type

Notification information can be error messages specifying why an SA could not be established. It can also be status data that a process managing an SA database wishes to communicate with a peer process.

The table below lists the notification messages and their corresponding values. The number of different error statuses was greatly reduced from IKEv1 both for simplification and to avoid giving configuration information to probers.

Types in the range 0 - 16383 are intended for reporting errors. An implementation receiving a Notify payload with one of these types that it does not recognize in a response MUST assume that the corresponding request has failed entirely. Unrecognized error types in a request and status types in a request or response MUST be ignored, and they should be logged.

Notify payloads with status types MAY be added to any message and MUST be ignored if not recognized. They are intended to indicate capabilities, and as part of SA negotiation, are used to negotiate non-cryptographic parameters.

Defined in RFC7296 section 3.10.1

Extensions:

  • RFC4555 IKEv2 Mobility and Multihoming Protocol (MOBIKE)
  • RFC4739 Multiple Authentication Exchanges in the Internet Key Exchange (IKEv2) Protocol
  • RFC5685 Redirect Mechanism for the Internet Key Exchange Protocol Version 2 (IKEv2)
  • RFC5723 Internet Key Exchange Protocol Version 2 (IKEv2) Session Resumption
  • RFC7427 Signature Authentication in the Internet Key Exchange Version 2 (IKEv2)

See also IKEV2IANA for the latest values.

Tuple Fields§

§0: u16

Implementations§

Source§

impl NotifyType

Source

pub const UNSUPPORTED_CRITICAL_PAYLOAD: NotifyType

Source

pub const INVALID_IKE_SPI: NotifyType

Source

pub const INVALID_MAJOR_VERSION: NotifyType

Source

pub const INVALID_SYNTAX: NotifyType

Source

pub const INVALID_MESSAGE_ID: NotifyType

Source

pub const INVALID_SPI: NotifyType

Source

pub const NO_PROPOSAL_CHOSEN: NotifyType

Source

pub const INVALID_KE_PAYLOAD: NotifyType

Source

pub const AUTHENTICATION_FAILED: NotifyType

Source

pub const SINGLE_PAIR_REQUIRED: NotifyType

Source

pub const NO_ADDITIONAL_SAS: NotifyType

Source

pub const INTERNAL_ADDRESS_FAILURE: NotifyType

Source

pub const FAILED_CP_REQUIRED: NotifyType

Source

pub const TS_UNACCEPTABLE: NotifyType

Source

pub const INVALID_SELECTORS: NotifyType

Source

pub const TEMPORARY_FAILURE: NotifyType

Source

pub const CHILD_SA_NOT_FOUND: NotifyType

Source

pub const INITIAL_CONTACT: NotifyType

Source

pub const SET_WINDOW_SIZE: NotifyType

Source

pub const ADDITIONAL_TS_POSSIBLE: NotifyType

Source

pub const IPCOMP_SUPPORTED: NotifyType

Source

pub const NAT_DETECTION_SOURCE_IP: NotifyType

Source

pub const NAT_DETECTION_DESTINATION_IP: NotifyType

Source

pub const COOKIE: NotifyType

Source

pub const USE_TRANSPORT_MODE: NotifyType

Source

pub const HTTP_CERT_LOOKUP_SUPPORTED: NotifyType

Source

pub const REKEY_SA: NotifyType

Source

pub const ESP_TFC_PADDING_NOT_SUPPORTED: NotifyType

Source

pub const NON_FIRST_FRAGMENTS_ALSO: NotifyType

Source

pub const MULTIPLE_AUTH_SUPPORTED: NotifyType

Source

pub const ANOTHER_AUTH_FOLLOWS: NotifyType

Source

pub const REDIRECT_SUPPORTED: NotifyType

Source

pub const IKEV2_FRAGMENTATION_SUPPORTED: NotifyType

Source

pub const SIGNATURE_HASH_ALGORITHMS: NotifyType

Source§

impl NotifyType

Source

pub fn is_error(self) -> bool

Source

pub fn is_status(self) -> bool

Trait Implementations§

Source§

impl Clone for NotifyType

Source§

fn clone(&self) -> NotifyType

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for NotifyType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for NotifyType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for NotifyType

Source§

fn eq(&self, other: &NotifyType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for NotifyType

Source§

impl Eq for NotifyType

Source§

impl StructuralPartialEq for NotifyType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.