Class: Pio::Lldp

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/pio/lldp.rb,
lib/pio/lldp/frame.rb,
lib/pio/lldp/ttl-tlv.rb,
lib/pio/lldp/mac-address.rb,
lib/pio/lldp/port-id-tlv.rb,
lib/pio/lldp/optional-tlv.rb,
lib/pio/lldp/chassis-id-tlv.rb,
lib/pio/lldp/system-name-value.rb,
lib/pio/lldp/end-of-lldpdu-value.rb,
lib/pio/lldp/port-description-value.rb,
lib/pio/lldp/management-address-value.rb,
lib/pio/lldp/system-description-value.rb,
lib/pio/lldp/system-capabilities-value.rb

Overview

LLDP frame parser and generator.

Defined Under Namespace

Classes: ChassisIdTlv, EndOfLldpduValue, Frame, MacAddress, ManagementAddressValue, OptionalTlv, PortDescriptionValue, PortIdTlv, SystemCapabilitiesValue, SystemDescriptionValue, SystemNameValue, TtlTlv

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dpid, port_number, destination_mac = "01:80:c2:00:00:0e") ⇒ Lldp

Returns a new instance of Lldp.



20
21
22
23
24
25
26
# File 'lib/pio/lldp.rb', line 20

def initialize dpid, port_number, destination_mac = "01:80:c2:00:00:0e"
  @frame = Frame.new
  @frame.destination_mac = destination_mac
  @frame.source_mac = "11:22:33:44:55:66"  # FIXME
  @frame.chassis_id = dpid
  @frame.port_id = port_number
end

Class Method Details

.read(raw_data) ⇒ Object



14
15
16
17
# File 'lib/pio/lldp.rb', line 14

def self.read raw_data
  frame = Frame.read( raw_data )
  new frame.dpid, frame.port_id
end

Instance Method Details

#to_binaryObject



34
35
36
# File 'lib/pio/lldp.rb', line 34

def to_binary
  @frame.to_binary_s + "\000" * ( 64 - @frame.num_bytes )
end