Hello,
Looks like HP have upgraded switch firmware to WB.15.16.0004 and OF
1.3 made possible. Now I found some information what flows can be
installed in specific tables (100 and 200 table). I modified
simple_switch_13.py. At first time it look like working when I got
notifications or errors. Switch's flow table becomes empty. Looks like
switch reconnecting after some time? Thanks in advance.
What is config and main modes?
@ubuntu:~/ryu$ PYTHONPATH=. ./bin/ryu-manager --verbose
ryu/app/simple_switch.py loading app ryu/app/simple_switch.py
loading app ryu.controller.ofp_handler
instantiating app ryu/app/simple_switch.py of SimpleSwitch13
instantiating app ryu.controller.ofp_handler of OFPHandler
BRICK SimpleSwitch13
CONSUMES EventOFPSwitchFeatures
CONSUMES EventOFPPacketIn
BRICK ofp_event
PROVIDES EventOFPSwitchFeatures TO {'SimpleSwitch13': set(['config'])}
PROVIDES EventOFPPacketIn TO {'SimpleSwitch13': set(['main'])}
CONSUMES EventOFPEchoRequest
CONSUMES EventOFPPortDescStatsReply
CONSUMES EventOFPSwitchFeatures
CONSUMES EventOFPErrorMsg
CONSUMES EventOFPHello
connected socket:<eventlet.greenio.GreenSocket object at 0xb6778f0c>
address:('10.0.0.2', 51640)
hello ev <ryu.controller.ofp_event.EventOFPHello object at 0xb678518c>
move onto config mode
EVENT ofp_event->SimpleSwitch13 EventOFPSwitchFeatures
switch features ev version: 0x4 msg_type 0x6 xid 0xe30c1503
OFPSwitchFeatures(auxiliary_id=0,capabilities=271,datapath_id=585321643271168L,n_buffers=0,n_tables=3)
move onto main mode
connected socket:<eventlet.greenio.GreenSocket object at 0xb678562c>
address:('10.0.0.2', 55489)
hello ev <ryu.controller.ofp_event.EventOFPHello object at 0xb67858cc>
move onto config mode
EVENT ofp_event->SimpleSwitch13 EventOFPSwitchFeatures
switch features ev version: 0x4 msg_type 0x6 xid 0x646b5e48
OFPSwitchFeatures(auxiliary_id=0,capabilities=271,datapath_id=585321643271168L,n_buffers=0,n_tables=3)
move onto main mode
EVENT ofp_event->SimpleSwitch13 EventOFPPacketIn
packet in 585321643271168 00:15:2b:19:a9:c0 ff:ff:ff:ff:ff:ff 4
EVENT ofp_event->SimpleSwitch13 EventOFPPacketIn
EVENT ofp_event->SimpleSwitch13 EventOFPPacketIn
connected socket:<eventlet.greenio.GreenSocket object at 0xb673b6ec>
address:('10.0.0.2', 58809)
hello ev <ryu.controller.ofp_event.EventOFPHello object at 0xb673b90c>
move onto config mode
EVENT ofp_event->SimpleSwitch13 EventOFPSwitchFeatures
connected socket:<eventlet.greenio.GreenSocket object at 0xb673ba4c>
address:('10.0.0.2', 53490)
hello ev <ryu.controller.ofp_event.EventOFPHello object at 0xb673bcac>
move onto config mode
EVENT ofp_event->SimpleSwitch13 EventOFPSwitchFeatures
connected socket:<eventlet.greenio.GreenSocket object at 0xb673be0c>
address:('10.0.0.2', 55278)
hello ev <ryu.controller.ofp_event.EventOFPHello object at 0xb66c40cc>
-------------------------------------------------------------------------------------------------------------------------
diff --git a/ryu/app/simple_switch_13.py b/ryu/app/simple_switch_13.py
index b9cbad0..fa7c4aa 100644
--- a/ryu/app/simple_switch_13.py
+++ b/ryu/app/simple_switch_13.py
@@ -45,9 +45,9 @@ class SimpleSwitch13(app_manager.RyuApp):
match = parser.OFPMatch()
actions = [parser.OFPActionOutput(ofproto.OFPP_CONTROLLER,
ofproto.OFPCML_NO_BUFFER)]
- self.add_flow(datapath, 0, match, actions)
+ self.add_flow(datapath, 0, 100, match, actions)
- def add_flow(self, datapath, priority, match, actions, buffer_id=None):
+ def add_flow(self, datapath, priority, table, match, actions,
buffer_id=Non
ofproto = datapath.ofproto
parser = datapath.ofproto_parser
@@ -59,7 +59,7 @@ class SimpleSwitch13(app_manager.RyuApp):
instructions=inst)
else:
mod = parser.OFPFlowMod(datapath=datapath, priority=priority,
- match=match, instructions=inst)
+ match=match, instructions=inst,
table_id=ta
datapath.send_msg(mod)
@set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)
@@ -102,10 +102,10 @@ class SimpleSwitch13(app_manager.RyuApp):
# verify if we have a valid buffer_id, if yes avoid to send both
# flow_mod & packet_out
if msg.buffer_id != ofproto.OFP_NO_BUFFER:
- self.add_flow(datapath, 1, match, actions, msg.buffer_id)
+ self.add_flow(datapath, 1, 200, match, actions,
msg.buffer_id)
return
else:
- self.add_flow(datapath, 1, match, actions)
+ self.add_flow(datapath, 1, 200, match, actions)
data = None
if msg.buffer_id == ofproto.OFP_NO_BUFFER:
data = msg.data
Regards,
Vilius
From: nitish nagesh [mailto:[email protected]]
Sent: Wednesday, November 12, 2014 1:30 PM
To: Vilius Palubinskas
Cc: [email protected]
Subject: Re: [Ryu-devel] HP 2920 1.3OF
Hello Vilius,
Can you please share more details on whats not working with HP
2920 when used with Ryu in 1.3?
Regards,
Nitish
On Wed, Nov 12, 2014 at 3:20 PM, Vilius Palubinskas
<[email protected]> wrote:
Hi,
I’m looking for root problems why HP 2920 switch not fully functional
using 1.3 OF in Ryu controller. By the way with 1.0 OF works fine.
It’s possible to make some modifications in controller code or write
application to add 1.3 OF capability for this switch?
Regards,
Vilius.
------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel