On Tue, May 14, 2013 at 04:10:46PM +0200, Philipp Aeschlimann wrote:
> Hey there
> 
> I'm trying some things with QoS and therefore i wrote a simple
> test-app here (click download in the upper right corner):
> 
> https://owncloud.engineering.zhaw.ch/public.php?service=files&t=f6f7e645b0d67b3c9a0cc537f8b38dfb
> 
> It sends OFPQueueGetConfigRequest and tries to receive an
> OFPQueueGetConfigReply. But with the appliance from here
> https://github.com/osrg/ryu/wiki/OpenFlow_Tutorial I get this error:
> 
> error msg ev version: 0x1 msg_type 0x1 xid 0xa6425c5e type 1 code 1
> data _???B\^unsupported version 0x1. If possible, set the switch type
> 0x1 code 0x1
> unsupported version 0x1. If possible, set the switch to use one of the
> versions [4]

You have to configure OVS to use OF 1.3 instead of OF1.0.
By default OVS uses OF1.0.

> And with OVS 1.10.0 (installed localy) I get:
> 
> error msg ev version: 0x4 msg_type 0x1 xid 0xd49cfa2a type 1 code 1
> data ?????* type 0x1 code 0x1

Althouh you set OVS to use OF1.3 somehow, OVS doesn't support
OFPQueueGetConfigRequest yet. OVS returns an error message in respond to
the request.
type 0x1 = error
code 0x1 = bad request 


> But with the following changes and the softswitch from here:
> https://github.com/CPqD/ofsoftswitch13 everything works as expected
> 
> diff --git a/ryu/ofproto/ofproto_v1_3_parser.py
> b/ryu/ofproto/ofproto_v1_3_parser.py
> index 3f2d020..cace1aa 100644
> --- a/ryu/ofproto/ofproto_v1_3_parser.py
> +++ b/ryu/ofproto/ofproto_v1_3_parser.py
> @@ -2734,7 +2734,7 @@ class OFPPacketQueue(MsgBase):
>      @classmethod
>      def parser(cls, buf, offset):
>          (msg.queue_id, msg.port, msg.len) = struct.unpack_from(
> -            ofproto_v1_3.OFP_PACKET_QUEUE_PACK_STR, buf, offset)
> +            ofproto_v1_3.OFP_PACKET_QUEUE_PACK_STR, buffer(buf), offset)
> 
>          length = ofproto_v1_3.OFP_PACKET_QUEUE_SIZE
>          offset += ofproto_v1_3.OFP_PACKET_QUEUE_SIZE

See below.


> @@ -2766,7 +2766,7 @@ class OFPQueueGetConfigReply(MsgBase):
> 
>          msg.queues = []
>          offset += ofproto_v1_3.OFP_QUEUE_GET_CONFIG_REPLY_SIZE
> -        while offset < msg.length:
> +        while offset < msg_len:

This line looks good.

>              queue = OFPPacketQueue.parser(buf, offset)

msg.buf should be passed. Then first hunk can be dropped.

thanks,

>              msg.queues.append(queue)
>              offset += queue.len
> 
> The above errors from OVS are showing up anyways. THX in advance...
> 
> g *pae
> 
> --
> ZHAW - Zurich University of Applied Sciences
> Institute of Applied Information Technology InIT
> InIT Cloud Computing Laboratory ICCLab
> 
> Philipp Aeschlimann
> Obere Kirchgasse 2
> CH-8401 Winterthur
> 
> Tel. +41 58 934 6964 (intern 6964)
> mailto:[email protected]
> www.zhaw.ch
> www.cloudcomp.ch
> 
> GPG IDKey: 647E122E
> Fingerprint: 47B7 8D8A 98D1 E91D 4B7C E261 D88C BE9E 647E 122E
> 
> ------------------------------------------------------------------------------
> AlienVault Unified Security Management (USM) platform delivers complete
> security visibility with the essential security capabilities. Easily and
> efficiently configure, manage, and operate all of your security controls
> from a single console and one unified framework. Download a free trial.
> http://p.sf.net/sfu/alienvault_d2d
> _______________________________________________
> Ryu-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ryu-devel

-- 
yamahata

------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to