Hi, Deni
If APIs in bridge.py are not enough to satisfy your demand, you can use
"run_command()" in bridge.py.
"run_command()" calls functions in vsctl.py.
I think you will be able to add/delete bridges by using this function. :)
https://github.com/osrg/ryu/blob/master/ryu/lib/ovs/bridge.py#L104
Thanks,
Fujimoto
On 2017年04月28日 00:51, Deni Toruan wrote:
Hi Fujimoto san,
Thank you very much for the code. I have ran it and it was working.
Thanks, you have saved my days.
Btw, I have another questions related to this issue. I do hope you
will not mind :)
a. When I am trying to add port and add/delete bridge, I did not find
any function related to those commands in library bridge.py. Is it
mean I can't add port using library bridge.py?
b. I saw in library vsctl.py, there is some commands related to add
port and add/delete bridge. Is it mean we must use this library to add
the port?
Thank you for your help.
regards,
deni
On Wed, Apr 26, 2017 at 1:46 AM, Fujimoto Satoshi
<satoshi.fujimo...@gmail.com <mailto:satoshi.fujimo...@gmail.com>> wrote:
Hi, Deni
In your application, I think there is no one which calls
"ovs_bridge()".
It is better to implement your code in Event Handlers.
For example, Features Reply Handler will be called when your
application gets the Features Reply message
(≒ when the connection to the OVS is established).
For details, you can read the Ryu Book and Ryu API Reference:
https://osrg.github.io/ryu-book/en/html/switching_hub.html#event-handler
<https://osrg.github.io/ryu-book/en/html/switching_hub.html#event-handler>
http://ryu.readthedocs.io/en/latest/ryu_app_api.html#event-classes
<http://ryu.readthedocs.io/en/latest/ryu_app_api.html#event-classes>
And you have to specify the port with string, like this:
ovs_bridge.del_port('eth1')
Now I made a simple code by modifying simple_switch.py and
attached it to this mail.
Please check and try it! :)
Thanks,
Fujimoto
On 2017年04月25日 20:04, Deni Toruan wrote:
Dear Fujimoto san, thank you very much for your information.
I have tried to put the code to the file: simple_switch.py (as in
attachment), and try to run it in Ryu controller machine.
The code is running, how ever, when I checked in the OVS machine
(VM IP: 10.0.0.5), there is no changes. The port eth1 is still
there.
Is there anything wrong in putting the code to file simple_switch.py?
thank you.
regards,
deni toruan
On Tue, Apr 25, 2017 at 1:40 AM, Fujimoto Satoshi
<satoshi.fujimo...@gmail.com
<mailto:satoshi.fujimo...@gmail.com>> wrote:
Hi, Deni
You can make a connection by instantiating OVSBridge:
ovs_bridge = OVSBridge(None, datapath.id
<http://datapath.id>, 'tcp:127.0.0.1:6632
<http://127.0.0.1:6632>', timeout=1)
And by the following code, for example, you can delete a port:
ovs_bridge = OVSBridge(None, datapath.id
<http://datapath.id>, 'tcp:127.0.0.1:6632
<http://127.0.0.1:6632>', timeout=1)
ovs_bridge.init()
ports = ovs_bridge.get_port_name_list()
ovs_bridge.del_port(ports[0])
OVSBridge provides some other APIs.
For details, please check this code:
https://github.com/osrg/ryu/blob/master/ryu/lib/ovs/bridge.py
<https://github.com/osrg/ryu/blob/master/ryu/lib/ovs/bridge.py>
Thanks,
Fujimoto
On 2017年04月24日 16:18, Deni Toruan wrote:
Hi Satoshi san, thank you for your kind reply.
On Mon, Apr 24, 2017 at 5:07 AM, Fujimoto Satoshi
<satoshi.fujimo...@gmail.com
<mailto:satoshi.fujimo...@gmail.com>> wrote:
Hi, Deni
The problem may be caused by that you use "ovsdb_event"
and "ovs_vsctl" at the same time.
If you don't need to monitor the status of OVS, you
should not use "ovsdb_event".
Is it mean I should not use initiation :
"ovsdb_event.EventNewOVSDBConnection)"? So how I will make
(realize) a connection between controller and OVSDB Server?
Also, you can use "OVSBridge" to control your OVS.
"OVSBridge" calls "ovs_vsctl.VSCtl()" in __init__(), and
wraps some operations including adding a port.
Thank you for your suggestion.Would you mind to give me some
clue for using the "OVSBridge" and for calling the
"ovs_vsctl.VSCtl()"?
Thanks,
Fujimoto
Thank you.
Regards, Deni
On 2017年04月23日 19:23, Deni Toruan wrote:
Dear all,
Currently, I am trying to make a connection between Ryu
Controller and OVS, and trying to modify OVS from
controller (add bridge, add port, delete port, etc)
dynamically.
Currently, the OVS and Ryu controller can be connected.
They are running in different VM. However, when I try
to run my simple app, it didn't work. In the code, I am
trying to delete one port that I have already set up
from OVS terminal. I always got this in controller:
----------------------------
d5f55957-26e1-4e24-8b9c-bb15210aa220
New OVSDB connection from system id
d5f55957-26e1-4e24-8b9c-bb15210aa220
New connection from 10.0.0.11:47985
<http://10.0.0.11:47985>
instantiating app None of RemoteOvsdb
BRICK RemoteOvsdb-d5f55957-26e1-4e24-8b9c-bb15210aa220
EVENT OVSDB->SimpleSwitch EventNewOVSDBConnection
EventNewOVSDBConnection<system_id=d5f55957-26e1-4e24-8b9c-bb15210aa220>
d5f55957-26e1-4e24-8b9c-bb15210aa220
New OVSDB connection from system id
d5f55957-26e1-4e24-8b9c-bb15210aa220
instantiating app None of RemoteOvsdb
BRICK RemoteOvsdb-d5f55957-26e1-4e24-8b9c-bb15210aa220
EVENT OVSDB->SimpleSwitch EventNewOVSDBConnection
EventNewOVSDBConnection<system_id=d5f55957-26e1-4e24-8b9c-bb15210aa220>
d5f55957-26e1-4e24-8b9c-bb15210aa220
New OVSDB connection from system id
d5f55957-26e1-4e24-8b9c-bb15210aa220
New connection from 10.0.0.11:47986
<http://10.0.0.11:47986>
---------------------------------
For your information, I customize the code and I put it
in attachment. Please give some hints for doing this,
especially with the code. Thank you.
Best regards,
Deni Lumbantoruan
------------------------------------------------------------------------------
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>
--
Deni Toruan
Dosen IT Del
Sitoluama
------------------------------------------------------------------------------
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>
--
Deni Toruan
Dosen IT Del
Sitoluama
------------------------------------------------------------------------------
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>
--
Deni Toruan
Dosen IT Del
Sitoluama
------------------------------------------------------------------------------
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