Class: PacketGen::Header::OSPFv2::LSR

Inherits:
Types::Fields show all
Includes:
Types::Fieldable
Defined in:
lib/packetgen/header/ospfv2/ls_request.rb

Overview

This class handle a LS request, which is composed 3 Types::Int32 fields:

Author:

  • Sylvain Daubert

Since:

  • 2.5.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Types::Fieldable

#format_inspect, #read, #sz, #to_s, #type_name

Methods inherited from Types::Fields

#[], #[]=, #bits_on, define_bit_fields_on, define_field, define_field_after, define_field_before, #fields, fields, inherited, #initialize, #inspect, #offset_of, #optional?, #optional_fields, #present?, #read, remove_bit_fields_on, remove_field, #sz, #to_h, #to_s, update_field

Constructor Details

This class inherits a constructor from PacketGen::Types::Fields

Instance Attribute Details

#advertising_routerString

The Router ID of the requested LSA.

Returns:

  • (String)

31
# File 'lib/packetgen/header/ospfv2/ls_request.rb', line 31

define_field :advertising_router, IP::Addr

This field identifies the portion of the internet environment that is being described by the LSA to request.

Returns:

  • (String)

27
# File 'lib/packetgen/header/ospfv2/ls_request.rb', line 27

define_field :link_state_id, IP::Addr

#typeInteger

The type of the LSA to request.

Returns:

  • (Integer)

22
# File 'lib/packetgen/header/ospfv2/ls_request.rb', line 22

define_field :type, Types::Int32Enum, enum: LSAHeader::TYPES

Instance Method Details

#human_typeString

Get human-readable type

Returns:

  • (String)

Since:

  • 2.5.0


35
36
37
# File 'lib/packetgen/header/ospfv2/ls_request.rb', line 35

def human_type
  self[:type].to_human
end

#to_humanString

Returns:

  • (String)

Since:

  • 2.5.0


40
41
42
# File 'lib/packetgen/header/ospfv2/ls_request.rb', line 40

def to_human
  "LSR<#{human_type},#{link_state_id},#{advertising_router}>"
end