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