Class: PacketGen::Header::OSPFv3::LSALink
- Inherits:
-
LSAHeader
- Object
- Types::Fields
- LSAHeader
- PacketGen::Header::OSPFv3::LSALink
- Defined in:
- lib/packetgen/header/ospfv3/lsa.rb
Overview
This class handles OSPFv3 LSA Link payloads.
A Link payloads is composed of:
-
a 8-bit #router_priority field (Types::Int8),
-
a 24-bit #options field (Types::Int24),
-
a 128-bit IPv6 #interface_addr (IPv6::Addr),
-
a 32-bit #prefix_count field (Types::Int32),
-
and an array of IPv6Prefix (#prefixes, ArrayOfIPv6Prefix).
Constant Summary
Constants inherited from LSAHeader
PacketGen::Header::OSPFv3::LSAHeader::TYPES
Instance Attribute Summary collapse
-
#dc_opt ⇒ Boolean
This bit describes the router’s handling of demand circuits.
-
#e_opt ⇒ Boolean
This bit describes the way AS-external-LSAs are flooded.
-
#interface_addr ⇒ String
The originating router’s link-local interface address on the link.
-
#n_opt ⇒ Boolean
This bit indicates whether or not the router is attached to an NSSA.
-
#options ⇒ Integer
24-bit options field.
-
#prefix_count ⇒ Integer
The number of IPv6 address prefixes contained in the LSA.
-
#prefixes ⇒ ArrayOfIPv6Prefix
List of IPv6 prefixes to be associated with the link.
-
#r_opt ⇒ Boolean
This bit indicates whether the originator is an active router.
-
#router_priority ⇒ Integer
The Router Priority of the interface attaching the originating router to the link.
-
#v6_opt ⇒ Boolean
If this bit is clear, the router/link should be excluded from IPv6 routing calculations.
-
#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
#dc_opt ⇒ Boolean
This bit describes the router’s handling of demand circuits.
169 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 169 OSPFv3.(self) |
#e_opt ⇒ Boolean
This bit describes the way AS-external-LSAs are flooded.
169 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 169 OSPFv3.(self) |
#interface_addr ⇒ String
The originating router’s link-local interface address on the link.
173 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 173 define_field :interface_addr, IPv6::Addr |
#n_opt ⇒ Boolean
This bit indicates whether or not the router is attached to an NSSA.
169 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 169 OSPFv3.(self) |
#options ⇒ Integer
169 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 169 OSPFv3.(self) |
#prefix_count ⇒ Integer
The number of IPv6 address prefixes contained in the LSA.
177 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 177 define_field :prefix_count, Types::Int32 |
#prefixes ⇒ ArrayOfIPv6Prefix
List of IPv6 prefixes to be associated with the link.
181 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 181 define_field :prefixes, ArrayOfIPv6Prefix, builder: ->(h, t) { t.new(counter: h[:prefix_count]) } |
#r_opt ⇒ Boolean
This bit indicates whether the originator is an active router.
169 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 169 OSPFv3.(self) |
#router_priority ⇒ Integer
The Router Priority of the interface attaching the originating router to the link.
167 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 167 define_field :router_priority, Types::Int8 |
#v6_opt ⇒ Boolean
If this bit is clear, the router/link should be excluded from IPv6 routing calculations.
169 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 169 OSPFv3.(self) |
#x_opt ⇒ Boolean
This bit should be set to 0, and ignored when received.
169 |
# File 'lib/packetgen/header/ospfv3/lsa.rb', line 169 OSPFv3.(self) |