Class: PacketGen::Header::OSPFv2::External

Inherits:
BinStruct::Struct
  • Object
show all
Includes:
BinStruct::Structable
Defined in:
lib/packetgen/header/ospfv2/lsa.rb

Overview

This class handles external links in LSA AS-External payloads.

Author:

  • Sylvain Daubert

  • LemonTree55

Since:

  • 2.5.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#e_flagInteger

1-bit type of external metric. If set, #metric is Type 2 external metric, else it is Type1.

Returns:

  • (Integer)


169
# File 'lib/packetgen/header/ospfv2/lsa.rb', line 169

define_bit_attr :u8, e_flag: 1, tos: 7

#ext_route_tagInteger

32-bit external route tag. Not used by OSPF protocol.

Returns:

  • (Integer)


181
# File 'lib/packetgen/header/ospfv2/lsa.rb', line 181

define_attr :ext_route_tag, BinStruct::Int32

#forwarding_addrIP::Addr

Forwarding address

Returns:



177
# File 'lib/packetgen/header/ospfv2/lsa.rb', line 177

define_attr :forwarding_addr, IP::Addr

#metricInteger

Cost of this route

Returns:

  • (Integer)


173
# File 'lib/packetgen/header/ospfv2/lsa.rb', line 173

define_attr :metric, BinStruct::Int24

#tosInteger

7-bit TOS

Returns:

  • (Integer)


169
# File 'lib/packetgen/header/ospfv2/lsa.rb', line 169

define_bit_attr :u8, e_flag: 1, tos: 7

#u8Integer

1st byte containing #e_flag and ##tos

Returns:

  • (Integer)


169
# File 'lib/packetgen/header/ospfv2/lsa.rb', line 169

define_bit_attr :u8, e_flag: 1, tos: 7

Instance Method Details

#to_humanString

Get human-readable string

Returns:

  • (String)

Since:

  • 2.5.0



185
186
187
# File 'lib/packetgen/header/ospfv2/lsa.rb', line 185

def to_human
  "<type:#{e_flag? ? 2 : 1},tos:#{tos},metric:#{metric},fwaddr:#{forwarding_addr},tag:#{ext_route_tag}>"
end