Class: PacketGen::Header::OSPFv3::LSARouter
- Inherits:
-
LSAHeader
- Object
- BinStruct::Struct
- 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 (
BinStruct::Int8
), -
a 24-bit #options field (
BinStruct::Int24
), -
and an array of #links (ArrayOfLink).
Constant Summary
Constants inherited from LSAHeader
PacketGen::Header::OSPFv3::LSAHeader::TYPES
Instance Attribute Summary collapse
-
#b_flag ⇒ Integer
If set, router is an area border router.
-
#dc_opt ⇒ Integer
This bit describes the router’s handling of demand circuits.
-
#e_flag ⇒ Integer
If set, router is an AS boundary router.
-
#e_opt ⇒ Integer
This bit describes the way AS-external-LSAs are flooded.
-
#flags ⇒ Integer
8-bit flag word.
-
#links ⇒ ArrayOfLink
Router interfaces, as a list of Link objects.
-
#n_opt ⇒ Integer
This bit indicates whether or not the router is attached to an NSSA.
-
#nt_flag ⇒ Integer
If set, the router is an NSSA border router that is translating NSSA-LSAs into AS-external-LSAs.
-
#options ⇒ Integer
24-bit options field.
-
#r_opt ⇒ Integer
This bit indicates whether the originator is an active router.
-
#v6_opt ⇒ Integer
If this bit is clear, the router/link should be excluded from IPv6 routing calculations.
-
#v_flag ⇒ Integer
If set, router is an endpoint or one or many fully adjacent virtual links.
-
#x_opt ⇒ Integer
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
Instance Attribute Details
#b_flag ⇒ Integer
If set, router is an area border router.
94 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 94 define_bit_attr :flags, zz: 3, nt_flag: 1, x_flag: 1, v_flag: 1, e_flag: 1, b_flag: 1 |
#dc_opt ⇒ Integer
This bit describes the router’s handling of demand circuits.
96 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 96 OSPFv3.(self) |
#e_flag ⇒ Integer
If set, router is an AS boundary router.
94 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 94 define_bit_attr :flags, zz: 3, nt_flag: 1, x_flag: 1, v_flag: 1, e_flag: 1, b_flag: 1 |
#e_opt ⇒ Integer
This bit describes the way AS-external-LSAs are flooded.
96 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 96 OSPFv3.(self) |
#flags ⇒ Integer
8-bit flag word
94 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 94 define_bit_attr :flags, zz: 3, nt_flag: 1, x_flag: 1, v_flag: 1, e_flag: 1, b_flag: 1 |
#links ⇒ ArrayOfLink
Router interfaces, as a list of PacketGen::Header::OSPFv3::Link objects.
100 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 100 define_attr :links, ArrayOfLink, builder: ->(h, t) { t.new(length_from: -> { h.length - h.offset_of(:links) }) } |
#n_opt ⇒ Integer
This bit indicates whether or not the router is attached to an NSSA.
96 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 96 OSPFv3.(self) |
#nt_flag ⇒ Integer
If set, the router is an NSSA border router that is translating NSSA-LSAs into AS-external-LSAs.
94 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 94 define_bit_attr :flags, zz: 3, nt_flag: 1, x_flag: 1, v_flag: 1, e_flag: 1, b_flag: 1 |
#options ⇒ Integer
96 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 96 OSPFv3.(self) |
#r_opt ⇒ Integer
This bit indicates whether the originator is an active router.
96 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 96 OSPFv3.(self) |
#v6_opt ⇒ Integer
If this bit is clear, the router/link should be excluded from IPv6 routing calculations.
96 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 96 OSPFv3.(self) |
#v_flag ⇒ Integer
If set, router is an endpoint or one or many fully adjacent virtual links.
94 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 94 define_bit_attr :flags, zz: 3, nt_flag: 1, x_flag: 1, v_flag: 1, e_flag: 1, b_flag: 1 |
#x_opt ⇒ Integer
This bit should be set to 0, and ignored when received.
96 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 96 OSPFv3.(self) |