Hi Matt,
I've posted patches to support this feature. Could you try it?
[Ryu-devel] [PATCH 1/3] controller: Support proactive connection
Note: Currently, Ryu does not aware of whether connections is reactive or
proactive,
so it is not recommended to use them simultaneously against the same switch.
The connection might be duplicated.
Thanks,
Iwase
On 2017年10月06日 07:24, Matthew Moskowitz wrote:
Awesome! I look forward to trying it out.
On Thu, Oct 5, 2017 at 12:34 AM, Iwase Yusuke <iwase.yusu...@gmail.com
<mailto:iwase.yusu...@gmail.com>> wrote:
Hi Matt,
Currently, I'm testing this feature on my branch.
(Still this have some buggy behaviors though...)
https://github.com/iwaseyusuke/ryu/tree/controller-Support_proactive_connection
<https://github.com/iwaseyusuke/ryu/tree/controller-Support_proactive_connection>
But, the amount of task should not differ so much from this branch, I guess.
Thanks,
Iwase
On 2017年10月05日 15:16, Matthew Moskowitz wrote:
Thank you for the advice on the failover Iwase.
As far as having Ryu behave as the client, do you have any insight into
how large of a task
this would be?
Matt
On Tue, Oct 3, 2017 at 8:58 PM, Iwase Yusuke <iwase.yusu...@gmail.com
<mailto:iwase.yusu...@gmail.com> <mailto:iwase.yusu...@gmail.com
<mailto:iwase.yusu...@gmail.com>>> wrote:
Hi Matt,
Thank you for sharing use-cases.
For the latter case, I guess it should take some lags to change
controllers addresses
on switches
to do efficiently failover.
Might have still some lags, but how about using virtual IPs on
controller side (like
clustering
controller)?
I should be smaller lags than changing addresses on switch side.
Thanks,
Iwase
On 2017年10月04日 10:56, Matthew Moskowitz wrote:
Thanks Iwase and Carlos for your thoughts,
2 cases that this feature is interesting to me for would be:
Integrating Ryu with other software that is already running a
different
webserver/asynchronous library. Nicer in this case not to have
to deal with 2 different
webservers/coroutine types.
Efficient failover if one Ryu application should fail for any
reason, the new one can
instantly connect to the switch. Your suggestion to use the
ovsdb library could
help with
this one.
Thanks,
Matt
On Tue, Oct 3, 2017 at 7:20 PM, Iwase Yusuke
<iwase.yusu...@gmail.com
<mailto:iwase.yusu...@gmail.com>
<mailto:iwase.yusu...@gmail.com
<mailto:iwase.yusu...@gmail.com>>
<mailto:iwase.yusu...@gmail.com <mailto:iwase.yusu...@gmail.com>
<mailto:iwase.yusu...@gmail.com
<mailto:iwase.yusu...@gmail.com>>>> wrote:
Hi Carlos,
Thank you for your reply!
As you said, the OpenFlow Spec does not restrict Switches
must initiate
connection to
Controllers.
But initiating connection by Controllers seems to be the
"optional" feature.
===
Quote: OpenFlow Spec 1.3.5 "6.3.3 Connection Setup"
===
Optionally, the switch may allow the controller to
initiate the connection. In
this
case, the
switch should
accept incoming standard TLS or TCP connections from the
controller, using
either a
user-specified
transport port or the default OpenFlow transport port
6653. Connections
initiated by
the switch and
the controller behave the same once the transport
connection is established.
===
If OVS does not know on where Ryu is listening when OVS
starting up, how about
using
OVSDB library
to tell controller's IP:Port to OVS?
If OVS listening on OVSDB connection, "set-controller"
API can tell its own
address to OVS.
https://github.com/osrg/ryu/blob/6e69e9b8a6ebd2bb06aa864cc76ef0b79d1ac9c3/ryu/lib/ovs/bridge.py#L128
<https://github.com/osrg/ryu/blob/6e69e9b8a6ebd2bb06aa864cc76ef0b79d1ac9c3/ryu/lib/ovs/bridge.py#L128>
<https://github.com/osrg/ryu/blob/6e69e9b8a6ebd2bb06aa864cc76ef0b79d1ac9c3/ryu/lib/ovs/bridge.py#L128
<https://github.com/osrg/ryu/blob/6e69e9b8a6ebd2bb06aa864cc76ef0b79d1ac9c3/ryu/lib/ovs/bridge.py#L128>>
<https://github.com/osrg/ryu/blob/6e69e9b8a6ebd2bb06aa864cc76ef0b79d1ac9c3/ryu/lib/ovs/bridge.py#L128
<https://github.com/osrg/ryu/blob/6e69e9b8a6ebd2bb06aa864cc76ef0b79d1ac9c3/ryu/lib/ovs/bridge.py#L128>
<https://github.com/osrg/ryu/blob/6e69e9b8a6ebd2bb06aa864cc76ef0b79d1ac9c3/ryu/lib/ovs/bridge.py#L128
<https://github.com/osrg/ryu/blob/6e69e9b8a6ebd2bb06aa864cc76ef0b79d1ac9c3/ryu/lib/ovs/bridge.py#L128>>>
And apart from that, initiating connection by Controllers
looks interesting
feature for me.
Thanks,
Iwase
On 2017年10月04日 08:57, Carlos Ferreira wrote:
This is just a question, not a critic.
Doesn't the OpenFlow standard stipulates that it is
the Switch that
must connect to a Controller, and not the other way
around?
Carlos Ferreira
On 4 October 2017 at 00:42, Iwase Yusuke
<iwase.yusu...@gmail.com
<mailto:iwase.yusu...@gmail.com>
<mailto:iwase.yusu...@gmail.com
<mailto:iwase.yusu...@gmail.com>>
<mailto:iwase.yusu...@gmail.com
<mailto:iwase.yusu...@gmail.com>
<mailto:iwase.yusu...@gmail.com <mailto:iwase.yusu...@gmail.com>>>>
wrote:
Hi Matt,
As far as I know, Ryu does not provide such
feature (only do wait incoming
connection
like server).
Would you share us if you have any use-case or
situation where Ryu
must act as
a client?
If there are useful use-cases, better to
implement it, I guess!
Thanks,
Iwase
On 2017年10月04日 07:16, Matthew Moskowitz wrote:
Hi,
By default when a Ryu application is started,
it is listening for
a connection
request that comes from the switch. (For
instance, using ovs, you
would run
ovs-vsctl set-controller to tell it where to
talk to the Ryu
application).
However,
OpenvSwitch can also behave like a server and
wait for a request
from an
openflow
controller.
Is there an existing setting that allows a
Ryu application act as
a client
such that
the Ryu app will make the initial request to
connect with the
openflow switch?
Thanks,
Matt
------------------------------------------------------------------------------
Check out the vibrant tech community on one
of the world's most
engaging tech sites, Slashdot.org!
http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net <mailto:Ryu-devel@lists.sourceforge.net>
<mailto:Ryu-devel@lists.sourceforge.net
<mailto:Ryu-devel@lists.sourceforge.net>>
<mailto:Ryu-devel@lists.sourceforge.net
<mailto:Ryu-devel@lists.sourceforge.net>
<mailto:Ryu-devel@lists.sourceforge.net
<mailto:Ryu-devel@lists.sourceforge.net>>>
https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>
<https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>>
<https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>
<https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>>>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of
the world's most
engaging tech sites, Slashdot.org!
http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net <mailto:Ryu-devel@lists.sourceforge.net>
<mailto:Ryu-devel@lists.sourceforge.net
<mailto:Ryu-devel@lists.sourceforge.net>>
<mailto:Ryu-devel@lists.sourceforge.net
<mailto:Ryu-devel@lists.sourceforge.net>
<mailto:Ryu-devel@lists.sourceforge.net
<mailto:Ryu-devel@lists.sourceforge.net>>>
https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>
<https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>>
<https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>
<https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>>>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the
world's most
engaging tech sites, Slashdot.org!
http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net <mailto:Ryu-devel@lists.sourceforge.net>
<mailto:Ryu-devel@lists.sourceforge.net
<mailto:Ryu-devel@lists.sourceforge.net>>
<mailto:Ryu-devel@lists.sourceforge.net
<mailto:Ryu-devel@lists.sourceforge.net>
<mailto:Ryu-devel@lists.sourceforge.net
<mailto:Ryu-devel@lists.sourceforge.net>>>
https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>
<https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>>
<https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>
<https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>>>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net <mailto:Ryu-devel@lists.sourceforge.net>
<mailto:Ryu-devel@lists.sourceforge.net
<mailto:Ryu-devel@lists.sourceforge.net>>
https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>
<https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net <mailto:Ryu-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/ryu-devel
<https://lists.sourceforge.net/lists/listinfo/ryu-devel>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel