Hello,
I’m studying the OpenStack Neutron and Ryu SDN Controller to prepare for my
further work of developing an integration for Neutron and other SDN controller.
I have several questions related to the integration of Neutron and Ryu:
1) To enable Neutron to use Ryu as backend service, there are practically 2
ways:
- A stand-alone Ryu plugin, which connects to a centralised, stand-alone Ryu
server. This Ryu server will monitor OpenvSwitch via ovs agent (with ovs-vsctl
commands) resided at each compute/network node.
It could be something like:
Neutron -> Ryu Plugin -> Ryu Controller -> [ovsagent -> OVS] ->
Physical switch
Ryu Agent -> Ryu controller (what for?)
- A ML2-based mechanism driver which connects directly to Ryu controller
(ofagent) resided at each compute/network node. Each Ryu controller will handle
the the OF-compatible switch (currently, though, only OVS is supported?) in its
node. This helps to avoid using ovsagent (to be more flexible in message/flow
handling?)
[Neutron -> (ML2-based) Ryu plugin] -> [Ryu controller (OFagent) ->
OVS] -> Physical switch
So, could anybody help to confirm whether my understanding over the issue is
correct or not? And which one is recommended for my planned development of the
potential integration of another SDN controller into Neutron.
2) Regarding the RESTful API, i’ve digged into the code of Neutron’s Ryu plugin
and Ryu framework itself:
- In Ryu framework, the following files provide API related to
Neutron/Quantum integration:
rest.py, rest_config_switch.py, rest_quantum.py,
rest_tunnel.py, gre_tunnel.py and client.py
- In Neutron’s Ryu plugin
ryu_neutron_plugin.py and ryu_neutron_agent.py
So, while the client.py is imported and used by both ryu_neutron_plugin.py and
ryu_neutron_agent.py to create RESTful API request to RYU server, the other
modules (rest.py, rest_quantum.py, etc) will be used to handle these requests
and return the response. Is it correct? Can anybody help to explain more how
RYU actually receives these requests and dispatch them to the corresponding
modules? And how rest_quantum is different from rest.py
Thank you very much!
------------------------------------------------------------------------------
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel