Hello Vilius,
There are 2 modes in which OpenFlow works on HP switches (for the
firmware you are using). Depending on the mode the OpenFlow pipeline would
be different.
1) Standard Match Mode (DEFAULT)
0 ---------> 100 -------------> 200 -------> 201 -----------> 202
--------> 203 ----------> 204
0 : Pipeline start. This is a READ ONLY table. You cant program rules
on this
100: HardwareTable
200+: Software tables.
2) IP Control Table Mode.
0 -----------> 50 ------------> 101 ------------------> 200 ------> 201
-----------> 202 --------> 203 ----------> 204
| | |
| | |
| |-----------------> 102 ------------------> |
| |
------------------> 100 --------------------------------------|
0 : Pipeline start. This is a READ ONLY table. You cant program rules on
this
50: IP Control Table.
101: IP Match Table
102: IP Miss table
100: Non IP table
200+ : Software Tables.
Not sure why the switch is disconnecting and reconnecting. Can you share
the output of "show logging -r" command on the switch when this is
happening? Also if possible share the packet capture between the switch and
the controller.
Regards,
Nitish
On Tue, Nov 25, 2014 at 4:27 PM, Palubinskas Vilius <
[email protected]> wrote:
>
> 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