This will get into destiny in the next day or so.  Here's a patch for
zaku.  You should then be able to create the action with:
actions = [[openflow.OFPAT_ENQUEUE, (port, queue_id)]]

I haven't actually tried it.  Let me know how it works. :)

-- Murphy

On Mon, 2010-11-29 at 13:36 -0500, Anand Bawiskar wrote:
> 
> Hi,
> 
> I trying to implement QOS using openflow switch and NOX controller
> wherein I am using 
> the queues configured at a particular port of openflow switch to queue
> packets for different applications.
> I use the dpctl tool for configuring the queues as:
> dpctl add-queue tcp:localhost:6634 3 1 7
> dpctl add-queue tcp:localhost:6634 3 2 3
> 
> 
> My topology is:
> 
> host2 -------------port1-|     Switch     | port3-queue1
> --------------------------------|  host4
> host3--------------port2-|                    |
> queue2--------------------------------|
> 
> 
> I am trying to map the flow to queue in NOX controller as:
> 
> actions = [[openflow.OFPAT_ENQUEUE, [0, prt[0],queuenum]]]
> 
> queuenum is 1 or 2 depending on the application's destination port
> number and i verified it is correct.
> 
> The error i see is "Invalid action type 11" so i think there is
> something wrong with above syntax.
> Can you please tell me the proper syntax and way to map flows to
> queues using NOX controller?
> 
> 
> Thanks,
> 
> Anand Bawiskar,
> 
> 
> 
> 
> 
> _______________________________________________
> nox-dev mailing list
> nox-dev@noxrepo.org
> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

diff --git a/src/nox/lib/core.py b/src/nox/lib/core.py
index 37bae36..fe47293 100644
--- a/src/nox/lib/core.py
+++ b/src/nox/lib/core.py
@@ -171,6 +171,9 @@ class Component:
             elif action[0] == openflow.OFPAT_SET_TP_SRC \
                     or action[0] == openflow.OFPAT_SET_TP_DST:
                 a = struct.pack("!HHHH", action[0], 8, action[1], 0)
+            elif action[0] == openflow.OFPAT_ENQUEUE:
+                a = struct.pack("!HHHHHHI", action[0], 16, action[1][0],
+                                0,0,0, action[1][1])
             else:
                 print 'invalid action type', action[0]
                 return None
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

Reply via email to