Ryu is a component-based SDN controller fully written in Python. It is a project backed by Nippon Telegraph and Telephone (NTT) Labs. The project has Japanese roots; Ryu means "flow" in Japanese and is pronounced "ree-yooh" in English, which matches well with the OpenFlow objective of programming flow in network devices. By being component based, the Ryu framework breaks the software it uses into individual portions that can be taken in part or as a whole. For example, on your virtual machine, under
/home/ubuntu/ryu/ryu, you can see several folders, including
ubuntu@sdnhubvm:~/ryu/ryu[00:04] (master)$ pwd /home/ubuntu/ryu/ryu ubuntu@sdnhubvm:~/ryu/ryu[00:05] (master)$ ls app/ cmd/ exception.pyc __init__.py log.pyc topology/ base/ contrib/ flags.py __init__.pyc ofproto/ utils.py cfg.py controller/ flags.pyc lib/ services/ utils.pyc cfg.pyc exception.py hooks.py log.py tests/
Each of these folders contains different software components...