Struct OspfLinkStateAcknowledgmentPacket

Source
pub struct OspfLinkStateAcknowledgmentPacket {
    pub header: Ospfv2PacketHeader,
    pub lsa_headers: Vec<OspfLinkStateAdvertisementHeader>,
}
Expand description

The Link State Acknowledgment packet

Link State Acknowledgment Packets are OSPF packet type 5. To make the flooding of link state advertisements reliable, flooded advertisements are explicitly acknowledged. This acknowledgment is accomplished through the sending and receiving of Link State Acknowledgment packets. Multiple link state advertisements can be acknowledged in a single Link State Acknowledgment packet.

Depending on the state of the sending interface and the source of the advertisements being acknowledged, a Link State Acknowledgment packet is sent either to the multicast address AllSPFRouters, to the multicast address AllDRouters, or as a unicast. The sending of Link State Acknowledgement packets is documented in Section 13.5. The reception of Link State Acknowledgement packets is documented in Section 13.7.

The format of this packet is similar to that of the Data Description packet. The body of both packets is simply a list of link state advertisement headers.

Fields§

§header: Ospfv2PacketHeader§lsa_headers: Vec<OspfLinkStateAdvertisementHeader>

Trait Implementations§

Source§

impl Debug for OspfLinkStateAcknowledgmentPacket

Source§

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

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

impl<'nom> Parse<&'nom [u8]> for OspfLinkStateAcknowledgmentPacket

Source§

fn parse_be(orig_i: &'nom [u8]) -> IResult<&'nom [u8], Self>

Parse input as Big-Endian
Source§

fn parse_le(orig_i: &'nom [u8]) -> IResult<&'nom [u8], Self>

Parse input as Little-Endian
Source§

fn parse(orig_i: &'nom [u8]) -> IResult<&'nom [u8], Self>

Parse input, not knowing the endianness Read more

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