[][src]Struct ipsec_parser::NotifyType

pub struct NotifyType(pub u16);

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.

Implementations

impl NotifyType[src]

pub const UNSUPPORTED_CRITICAL_PAYLOAD: NotifyType[src]

pub const INVALID_IKE_SPI: NotifyType[src]

pub const INVALID_MAJOR_VERSION: NotifyType[src]

pub const INVALID_SYNTAX: NotifyType[src]

pub const INVALID_MESSAGE_ID: NotifyType[src]

pub const INVALID_SPI: NotifyType[src]

pub const NO_PROPOSAL_CHOSEN: NotifyType[src]

pub const INVALID_KE_PAYLOAD: NotifyType[src]

pub const AUTHENTICATION_FAILED: NotifyType[src]

pub const SINGLE_PAIR_REQUIRED: NotifyType[src]

pub const NO_ADDITIONAL_SAS: NotifyType[src]

pub const INTERNAL_ADDRESS_FAILURE: NotifyType[src]

pub const FAILED_CP_REQUIRED: NotifyType[src]

pub const TS_UNACCEPTABLE: NotifyType[src]

pub const INVALID_SELECTORS: NotifyType[src]

pub const TEMPORARY_FAILURE: NotifyType[src]

pub const CHILD_SA_NOT_FOUND: NotifyType[src]

pub const INITIAL_CONTACT: NotifyType[src]

pub const SET_WINDOW_SIZE: NotifyType[src]

pub const ADDITIONAL_TS_POSSIBLE: NotifyType[src]

pub const IPCOMP_SUPPORTED: NotifyType[src]

pub const NAT_DETECTION_SOURCE_IP: NotifyType[src]

pub const NAT_DETECTION_DESTINATION_IP: NotifyType[src]

pub const COOKIE: NotifyType[src]

pub const USE_TRANSPORT_MODE: NotifyType[src]

pub const HTTP_CERT_LOOKUP_SUPPORTED: NotifyType[src]

pub const REKEY_SA: NotifyType[src]

pub const ESP_TFC_PADDING_NOT_SUPPORTED: NotifyType[src]

pub const NON_FIRST_FRAGMENTS_ALSO: NotifyType[src]

pub const MULTIPLE_AUTH_SUPPORTED: NotifyType[src]

pub const ANOTHER_AUTH_FOLLOWS: NotifyType[src]

pub const REDIRECT_SUPPORTED: NotifyType[src]

pub const IKEV2_FRAGMENTATION_SUPPORTED: NotifyType[src]

pub const SIGNATURE_HASH_ALGORITHMS: NotifyType[src]

impl NotifyType[src]

pub fn is_error(self) -> bool[src]

pub fn is_status(self) -> bool[src]

Trait Implementations

impl Clone for NotifyType[src]

impl Copy for NotifyType[src]

impl Debug for NotifyType[src]

impl Display for NotifyType[src]

impl Eq for NotifyType[src]

impl PartialEq<NotifyType> for NotifyType[src]

impl StructuralEq for NotifyType[src]

impl StructuralPartialEq for NotifyType[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.