On Jan 21, 2016, at 5:33 AM, David Gabriel
<[email protected]<mailto:[email protected]>> wrote:
I am getting an error when I want to get the vlan id of packets.
In fact, I am using the following code I found
here<http://ryu-zhdoc.readthedocs.org/en/latest/library_packet.html>
pkt = packet.Packet(array.array('B', ev.msg.data))
for p in pkt:
print p.protocol_name, p
if p.protocol_name == 'vlan':
print 'vid = ', p.vid
However I get the following error:
switch= Switch<dpid=52235646558, Port<dpid=52235646558, port_no=2, LIVE> >
ethernet ethernet(dst='01:00:0c:cc:cc:cd',ethertype=50,src='68:bd:ab:80:2b:94')
llc
llc(control=ControlFormatU(modifier_function1=0,modifier_function2=0,pf_bit=0),dsap_addr=170,ssap_addr=170)
hub: uncaught exception: Traceback (most recent call last):
File "/home/ubuntu/ryu/ryu/lib/hub.py", line 52, in _launch
func(*args, **kwargs)
File "/home/ubuntu/ryu/ryu/base/app_manager.py", line 459, in _event_loop
handler(ev)
File "/home/ubuntu/Documents/simpleSwitchv2.py", line 125, in
_packet_in_handler
print p.protocol_name, p
AttributeError: 'array.array' object has no attribute 'protocol_name'
Don’t swaddle your message in an array; a Packet-In message should only ever
contain (at maximum) one ethernet frame.
The frame may not even be a complete frame, due to buffering; from the OF 1.4.0
switch spec:
“The data fi eld contains the packet itself, or a fraction of the packet if the
packet is bu ffered.”
Your code *should* look something like this example adapted from rest_router:
pkt = packet.Packet(msg.data)
header_list = dict((p.protocol_name, p)
for p in pkt.protocols if type(p) != str)
if header_list:
if 'vlan' in header_list:
print 'vid = ' . header_list[‘vlan’].vid
Best,
Victor
--
Victor J. Orlikowski <> vjo@[cs.]duke.edu<http://duke.edu>
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel