totally untested as i have no access to switches which support
the operation.

Signed-off-by: YAMAMOTO Takashi <[email protected]>
---
 ryu/cmd/of_config_cli.py | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/ryu/cmd/of_config_cli.py b/ryu/cmd/of_config_cli.py
index 69b6c02..db5b73e 100755
--- a/ryu/cmd/of_config_cli.py
+++ b/ryu/cmd/of_config_cli.py
@@ -369,6 +369,49 @@ max-rate 100
 
         self._request(line, f)
 
+    def do_add_queue(self, line):
+        """add_queue <peer> <target> <logical-switch> <queue>
+        eg. add_queue sw1 running LogicalSwitch7 NameOfNewQueue
+        """
+
+        def f(p, args):
+            try:
+                target, lsw, queue = args
+            except:
+                print "argument error"
+                print args
+                return
+
+            # get switch id
+            o = p.get()
+            capable_switch_id = o.id
+
+            try:
+                capable_switch = ofc.OFCapableSwitchType(
+                    id=capable_switch_id,
+                    resources=ofc.OFCapableSwitchResourcesType(
+                        queue=[
+                            ofc.OFQueueType(resource_id=queue)
+                        ]
+                    ),
+                    logical_switches=ofc.OFCapableSwitchLogicalSwitchesType(
+                        switch=[ofc.OFLogicalSwitchType(
+                            id=lsw,
+                            resources=ofc.OFLogicalSwitchResourcesType(
+                                queue=[queue])
+                        )]
+                    )
+                )
+            except TypeError:
+                print "argument error"
+                return
+            try:
+                p.edit_config(target, capable_switch)
+            except Exception, e:
+                print e
+
+        self._request(line, f)
+
     def do_list_logical_switch(self, line):
         """list_logical_switch <peer>
         """
-- 
1.8.3.1


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to