Class: Pio::PacketIn::DataParser

Inherits:
Object
  • Object
show all
Defined in:
lib/pio/packet_in.rb

Overview

Pio::PacketIn#data parser

Defined Under Namespace

Classes: EthernetHeaderParser, IPv4Packet

Class Method Summary collapse

Class Method Details

.read(raw_data) ⇒ Object

rubocop:disable MethodLength



76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/pio/packet_in.rb', line 76

def self.read(raw_data)
  ethernet_header = EthernetHeaderParser.read(raw_data)
  case ethernet_header.ether_type
  when 0x0800
    IPv4Packet.read raw_data
  when 0x0806
    Pio::Arp.read raw_data
  when 0x88cc
    Pio::Lldp.read raw_data
  else
    fail 'Failed to parse packet_in data.'
  end
end