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
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to