received an arp reply
{"destination_mac"=>
#<Pio::Mac:0x7fadabee4de0
@string="11:22:33:44:55:66",
@value=18838586676582>,
"source_mac"=>
#<Pio::Mac:0x7fadabee3da0
@string="5c:9a:d8:ea:37:32",
@value=101820133947186>,
"ether_type"=>2054,
"hardware_type"=>1,
"protocol_type"=>2048,
"hardware_length"=>6,
"protocol_length"=>4,
"operation"=>1,
"sender_hardware_address"=>
#<Pio::Mac:0x7fadabee1f28 @string="06:04:00:02:5c:9a", @value=6614249790618>,
"sender_protocol_address"=>
#<Pio::IP:0x7fadabee0d80
@prefixlen=32,
@value=#<IPAddr: IPv4:216.234.55.50/255.255.255.255>>,
"target_hardware_address"=>
#<Pio::Mac:0x7fadabedf3b8
@string="c0:a8:00:01:11:22",
@value=211827787108642>,
"target_protocol_address"=>
#<Pio::IP:0x7fadabedd270
@prefixlen=32,
@value=#<IPAddr: IPv4:51.68.85.102/255.255.255.255>>}
received an arp request
{"destination_mac"=>
#<Pio::Mac:0x7fadabe8a048
@string="ff:ff:ff:ff:ff:ff",
@value=281474976710655>,
"source_mac"=>
#<Pio::Mac:0x7fadabe86b78
@string="5c:9a:d8:ea:37:32",
@value=101820133947186>,
"ether_type"=>2054,
"hardware_type"=>1,
"protocol_type"=>2048,
"hardware_length"=>6,
"protocol_length"=>4,
"operation"=>1,
"sender_hardware_address"=>
#<Pio::Mac:0x7fadabe83a68 @string="06:04:00:01:5c:9a", @value=6614249725082>,
"sender_protocol_address"=>
#<Pio::IP:0x7fadabe811a0
@prefixlen=32,
@value=#<IPAddr: IPv4:216.234.55.50/255.255.255.255>>,
"target_hardware_address"=>
#<Pio::Mac:0x7fadabe7aa30
@string="c0:a8:00:01:00:00",
@value=211827787104256>,
"target_protocol_address"=>
#<Pio::IP:0x7fadabe76520
@prefixlen=32,
@value=#<IPAddr: IPv4:0.0.0.0/255.255.255.255>>}
./lib/pio/ip.rb:43:in `initialize': Invalid IP address: #<Pio::IP:0x7fadabe811a0 @prefixlen=32, @value=#<IPAddr: IPv4:216.234.55.50/255.255.255.255>> (TypeError)
from ./lib/pio/arp/message.rb:52:in `new'
from ./lib/pio/arp/message.rb:52:in `frame_options'
from /usr/lib/ruby/1.8/pp.rb:214:in `inject'
from ./lib/pio/arp/message.rb:50:in `each'
from ./lib/pio/arp/message.rb:50:in `inject'
from ./lib/pio/arp/message.rb:50:in `frame_options'
from ./lib/pio/arp/message.rb:25:in `initialize'
from ./learning-switch.rb:98:in `new'
from ./learning-switch.rb:98:in `arp_reply_frames_binary_string'
from ./learning-switch.rb:72:in `send_arp_reply'
from ./learning-switch.rb:61:in `handle_arp_request'
from ./learning-switch.rb:39:in `packet_in'
from /usr/lib/ruby/gems/1.8/gems/trema-0.3.21/ruby/trema/dsl/runner.rb:157:in `start_trema'
from /usr/lib/ruby/gems/1.8/gems/trema-0.3.21/ruby/trema/dsl/runner.rb:157:in `run!'
from /usr/lib/ruby/gems/1.8/gems/trema-0.3.21/ruby/trema/dsl/runner.rb:157:in `maybe_run_apps'
from /usr/lib/ruby/gems/1.8/gems/trema-0.3.21/ruby/trema/dsl/runner.rb:156:in `fork'
from /usr/lib/ruby/gems/1.8/gems/trema-0.3.21/ruby/trema/dsl/runner.rb:156:in `maybe_run_apps'
from /usr/lib/ruby/gems/1.8/gems/trema-0.3.21/ruby/trema/dsl/runner.rb:34:in `run'
from /usr/lib/ruby/gems/1.8/gems/trema-0.3.21/ruby/trema/command/run.rb:44:in `trema_run'
from /usr/lib/ruby/gems/1.8/gems/trema-0.3.21/././bin/trema:64:in `initialize'
from /usr/lib/ruby/gems/1.8/gems/gli-2.7.0/lib/gli/command_support.rb:121:in `call'
from /usr/lib/ruby/gems/1.8/gems/gli-2.7.0/lib/gli/command_support.rb:121:in `execute'
from /usr/lib/ruby/gems/1.8/gems/gli-2.7.0/lib/gli/app_support.rb:279:in `call_command'
from /usr/lib/ruby/gems/1.8/gems/gli-2.7.0/lib/gli/app_support.rb:292:in `call'
from /usr/lib/ruby/gems/1.8/gems/gli-2.7.0/lib/gli/app_support.rb:292:in `call_command'
from /usr/lib/ruby/gems/1.8/gems/gli-2.7.0/lib/gli/app_support.rb:79:in `run'
from /usr/lib/ruby/gems/1.8/gems/trema-0.3.21/././bin/trema:288:in `start'
from /usr/lib/ruby/gems/1.8/gems/trema-0.3.21/././bin/trema:300