[Ryu-devel] [PATCH] add network awareness module
Brought to you by:
nz_gizmoguy
From: 北邮-李呈 <lic...@qq...> - 2016-07-06 07:28:58
|
To whom it may concern, First of all, I have to apologize for sending email again and again. I notice that my email context is so much that hard to display in a email. Thus, I delete the patch information. You can review the code in attached file. Sorry again for bothering you. This is a Ryu Application module's patch. I named it as "Network Aawareness", which can aware the network information including topology, host, link, link delay and link free bandwidth. Moreover, ShortestForwarding module supports three types of K-shortest forwarding, which can achieve basic network load balancing. More detail information shows below. I sent a patch before, but I got no reply. I search for my email in mail-list to find out that there are no context in my e-mail. Hope to get reply,any suggestion is good! ## Network Awareness Network Awareness is a set of Ryu applications to collecting the basic network information including the topology, link delay, and link free bandwidth. Also, the Shortest\_forwarding.py application can achieve the shortest path forwarding based on HOP, DELAY and BANDWIDTH. You can set model of computing shortest path when starting Ryu by adding "weight" argument. Moreover, you can set "k-paths" argument to support K-Shortest paths computing. Fortunately, our application supports load balance based on dynamic traffic information. The detail information of modules shows below. * Network Aware is a module for collecting network information. * Network Monitor is a module for collecting network traffic information. * Network Delay is a module for collecting link delay information. * Shortest\_forwarding is a simple application to achieve shortest forwarding based on hop or delay. * Setting is the common setting module. In this version, we take networkx's data structure to store topology. Meanwhile, we also use networkx's function to calculate shortest path. ### Download File Download files, and add them to ryu directory, for instance, app/network_awareness ### Make some changes To register parsing parameter, you NEED to add code into flags.py, which is in the topo directory of ryu project. CONF.register_cli_opts([ # k_shortest_forwarding cfg.IntOpt('k-paths', default=1, help='number for k shortest paths'), cfg.StrOpt('weight', default='hop', help='weight type of computing shortest path.')]) ### Reinstall Ryu You have to reinstall Ryu, so that you can run the new code. In the top derectory of ryu project. sudo python setup.py install ### Start Go into the directory, and run applications. You are suggested to add arguments when starting Ryu. The example shows below. ryu-manager shortest_forwarding.py --observe-links --k-paths=2 --weight=bw The last step is to set up a network and connect to Ryu. If you need to show collected information, you can set the parameter in setting.py. Also, you can define your personal setting, such as topology discovery period, You will find out the information shown in terninal. From 6c2d02ed0f3557aaf43ae8a5541448d6c47e7f6f Mon Sep 17 00:00:00 2001 From: muzixing <350...@qq...> Date: Fri, 1 Jul 2016 10:17:29 +0800 Subject: [PATCH] add network awareness module --- ryu/app/network_awareness/README.md | 55 +++ ryu/app/network_awareness/__init__.py | 1 + ryu/app/network_awareness/network_awareness.py | 277 +++++++++++++++ .../network_awareness/network_delay_detector.py | 152 ++++++++ ryu/app/network_awareness/network_monitor.py | 365 ++++++++++++++++++++ ryu/app/network_awareness/setting.py | 9 + ryu/app/network_awareness/shortest_forwarding.py | 322 +++++++++++++++++ ryu/flags.py | 7 + 8 files changed, 1188 insertions(+) create mode 100644 ryu/app/network_awareness/README.md create mode 100644 ryu/app/network_awareness/__init__.py create mode 100644 ryu/app/network_awareness/network_awareness.py create mode 100644 ryu/app/network_awareness/network_delay_detector.py create mode 100644 ryu/app/network_awareness/network_monitor.py create mode 100644 ryu/app/network_awareness/setting.py create mode 100644 ryu/app/network_awareness/shortest_forwarding.py |