Class: PacketGen::Header::OSPFv3::LSARouter
- Inherits:
-
LSAHeader
- Object
- Types::Fields
- LSAHeader
- PacketGen::Header::OSPFv3::LSARouter
- Defined in:
- lib/packetgen/header/ospfv3/lsa.rb
Overview
This class handles OSPFv3 LSA Router payloads.
A LSA router payload is composed of:
-
a header (see methods inherited from LSAHeader),
-
a 8-bit flag word #flags (Types::Int8),
-
a 24-bit #options field (Types::Int24),
-
and an array of #links (ArrayOfLink).
Constant Summary
Constants inherited from LSAHeader
PacketGen::Header::OSPFv3::LSAHeader::TYPES
Instance Attribute Summary collapse
- #b_flag ⇒ Boolean
-
#dc_opt ⇒ Boolean
This bit describes the router’s handling of demand circuits.
- #e_flag ⇒ Boolean
-
#e_opt ⇒ Boolean
This bit describes the way AS-external-LSAs are flooded.
-
#flags ⇒ Integer
8-bit flag word.
- #links ⇒ ArrayOfLink
-
#n_opt ⇒ Boolean
This bit indicates whether or not the router is attached to an NSSA.
- #nt_flag ⇒ Boolean
-
#options ⇒ Integer
24-bit options field.
-
#r_opt ⇒ Boolean
This bit indicates whether the originator is an active router.
-
#v6_opt ⇒ Boolean
If this bit is clear, the router/link should be excluded from IPv6 routing calculations.
- #v_flag ⇒ Boolean
-
#x_opt ⇒ Boolean
This bit should be set to 0, and ignored when received.
Attributes inherited from LSAHeader
#advertising_router, #age, #checksum, #length, #link_state_id, #sequence_number, #type
Method Summary
Methods inherited from LSAHeader
#calc_checksum, #calc_length, #human_type, #to_human, #to_lsa_header
Methods included from Types::Fieldable
#format_inspect, #read, #sz, #to_human, #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
#b_flag ⇒ Boolean
88 89 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 88 define_bit_fields_on :flags, :zz, 3, :nt_flag, :x_flag, :v_flag, :e_flag, :b_flag |
#dc_opt ⇒ Boolean
This bit describes the router’s handling of demand circuits.
75 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 75 OSPFv3.(self) |
#e_flag ⇒ Boolean
88 89 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 88 define_bit_fields_on :flags, :zz, 3, :nt_flag, :x_flag, :v_flag, :e_flag, :b_flag |
#e_opt ⇒ Boolean
This bit describes the way AS-external-LSAs are flooded.
75 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 75 OSPFv3.(self) |
#flags ⇒ Integer
8-bit flag word
73 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 73 define_field :flags, Types::Int8 |
#links ⇒ ArrayOfLink
78 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 78 define_field :links, ArrayOfLink, builder: ->(h, t) { t.new(length_from: -> { h.length - h.offset_of(:links) }) } |
#n_opt ⇒ Boolean
This bit indicates whether or not the router is attached to an NSSA.
75 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 75 OSPFv3.(self) |
#nt_flag ⇒ Boolean
88 89 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 88 define_bit_fields_on :flags, :zz, 3, :nt_flag, :x_flag, :v_flag, :e_flag, :b_flag |
#options ⇒ Integer
75 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 75 OSPFv3.(self) |
#r_opt ⇒ Boolean
This bit indicates whether the originator is an active router.
75 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 75 OSPFv3.(self) |
#v6_opt ⇒ Boolean
If this bit is clear, the router/link should be excluded from IPv6 routing calculations.
75 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 75 OSPFv3.(self) |
#v_flag ⇒ Boolean
88 89 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 88 define_bit_fields_on :flags, :zz, 3, :nt_flag, :x_flag, :v_flag, :e_flag, :b_flag |
#x_opt ⇒ Boolean
This bit should be set to 0, and ignored when received.
75 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 75 OSPFv3.(self) |