Thank you for your response!

But in this case do you know if I set a flow rule telling a specific flow to go 
to a queue through the rest_ofctl api will it work?

Would i have to post something with an action OUTPORT and QUEUE number for 
example?

Thanks in advance,
Sherif

> On 11 Aug 2017, at 4:01 PM, Iwase Yusuke <iwase.yusu...@gmail.com> wrote:
> 
> Hi Sherif,
> 
> Please include Ryu-devel mailing list.
> 
>> On 2017年08月09日 18:17, Fahmy Sherif Alaa Salaheldin wrote:
>> Good Morning Iwase,
>> 
>> Thanks a lot for the update I will try it asap! But I was curious could you 
>> set queues per port and not per switch?
>> 
>> In rest_QOS.py doc they say that at each POST curl the the configurations 
>> get overridden!
>> 
>> Last time when I tried something like,
>> 
>> curl -X POST -d '{"port_name": "s1-eth1", "type": "linux-htb", "max_rate": 
>> "1000000", "queues":
>> [{"max_rate": "500000"}, {"min_rate": "800000"}]}, {"port_name": "s1-eth2", 
>> "type": "linux-htb", "max_rate": "2000000", "queues":
>> [{"max_rate": "600000"}, {"min_rate": "900000"}]}' 
>> http://localhost:8080/qos/queue/0000000000000001
>> | jq .
>> 
>> then request the get $ curl -X GET 
>> http://localhost:8080/qos/queue/0000000000000001 | jq .
>> 
>> I could only see the queues configured in s1-eth2 (The last one)
> 
> It seems a bug of rest_qos.py.
> rest_qos.py stores Queues list of only last one.
> (rest_qos.py clears all stores Queues list for every POST request...)
> 
> But Queues on OVS seems to be configured as expected, and can be seen on 
> ovs-vsctl command.
> e.g.)
> mininet> sh ovs-vsctl list Queue
> _uuid               : 1724da04-278c-4cba-ba6c-cd00e4f23f67
> dscp                : []
> external_ids        : {}
> other_config        : {max-rate="500000"}
> 
> _uuid               : 775211a9-51ec-434f-92e7-38b9aa58864b
> dscp                : []
> external_ids        : {}
> other_config        : {max-rate="600000"}
> 
> _uuid               : 1a5a5639-29df-4644-9c4e-ce1fcccb8665
> dscp                : []
> external_ids        : {}
> other_config        : {min-rate="900000"}
> 
> _uuid               : cb67c45a-1776-4ceb-93b4-75f81a0ea248
> dscp                : []
> external_ids        : {}
> other_config        : {min-rate="800000"}
> mininet> 
> mininet> 
> mininet> sh ovs-vsctl list QoS
> _uuid               : fe6220aa-c44d-4b0b-8f52-2b3228c480c8
> external_ids        : {}
> other_config        : {max-rate="1000000"}
> queues              : {0=1724da04-278c-4cba-ba6c-cd00e4f23f67, 
> 1=cb67c45a-1776-4ceb-93b4-75f81a0ea248}
> type                : linux-htb
> 
> _uuid               : 9209f7a7-8f53-4d4f-a9b5-d0f3e03780b3
> external_ids        : {}
> other_config        : {max-rate="2000000"}
> queues              : {0=775211a9-51ec-434f-92e7-38b9aa58864b, 
> 1=1a5a5639-29df-4644-9c4e-ce1fcccb8665}
> type                : linux-htb
> 
> 
> Thanks,
> Iwase
> 
>> 
>> Best,
>> Sherif
>> 
>> Ps.
>> 
>> In the Ryu documentation this is written
>> 
>> # set a queue to the switches
>> # POST /qos/queue/{switch-id}
>> #
>> # request body format:
>> # {"port_name":"<name of port>",
>> # "type": "<linux-htb or linux-other>",
>> # "max-rate": "<int>",
>> # "queues":[{"max_rate": "<int>", "min_rate": "<int>"},...]}
>> #
>> # Note: This operation override
>> # previous configurations.
>> # Note: Queue configurations are available for
>> # OpenvSwitch.
>> # Note: port_name is optional argument.
>> # If does not pass the port_name argument,
>> # all ports are target for configuration.
>> 
>> I was wondering if this meant that we cannot configure each port separately.
>> 
>> For instance if I want to have 2 queues x,y on port s1-eth1 and 2 queues a,b 
>> on port s1-eth2, is that possible? 
>> if yes then in the flow rule what should the "actions" be (since we can only 
>> give "queue" and queue_id)!
>> 
>> "If I don't give a port_name all ports are target for configuration" does 
>> this mean that there will be a queue on each port? 
>> 
>> Best,
>> Sherif
>> 
>> 
>> 
>> 
>> ________________________________________
>> De : Iwase Yusuke <iwase.yusu...@gmail.com>
>> Envoyé : jeudi 20 juillet 2017 08:36
>> À : Fahmy Sherif Alaa Salaheldin
>> Cc : ryu-devel@lists.sourceforge.net
>> Objet : Re: [Ryu-devel] Queues not shown in get stats/queueconfig --> 
>> Confusion about rest_QOS and rest_OFCTL
>> 
>> Hi Sherif,
>> 
>> On my environment (Ryu 4.15, Open vSwitch 2.6.1 and Mininet 2.3.0), I can 
>> see queues via ofctl_rest.
>> 
>> # Create Queues via rest_qos.py
>> $ curl -X POST -d '{"port_name": "s1-eth1", "type": "linux-htb", "max_rate": 
>> "1000000", "queues":
>> [{"max_rate": "500000"}, {"min_rate": "800000"}]}' 
>> http://localhost:8080/qos/queue/0000000000000001
>> | jq .
>> [
>>   {
>>     "switch_id": "0000000000000001",
>>     "command_result": {
>>       "result": "success",
>>       "details": {
>>         "0": {
>>           "config": {
>>             "max-rate": "500000"
>>           }
>>         },
>>         "1": {
>>           "config": {
>>             "min-rate": "800000"
>>           }
>>         }
>>       }
>>     }
>>   }
>> ]
>> 
>> # Confirm Queues via rest_qos.py
>> $ curl -X GET http://localhost:8080/qos/queue/0000000000000001 | jq .
>> [
>>   {
>>     "switch_id": "0000000000000001",
>>     "command_result": {
>>       "result": "success",
>>       "details": {
>>         "0": {
>>           "config": {
>>             "max-rate": "500000"
>>           }
>>         },
>>         "1": {
>>           "config": {
>>             "min-rate": "800000"
>>           }
>>         }
>>       }
>>     }
>>   }
>> ]
>> 
>> # Confirm Queues via ofctl_rest
>> $ curl -X GET http://localhost:8080/stats/queueconfig/1/1 | jq .
>> {
>>   "1": [
>>     {
>>       "queues": [
>>         {
>>           "properties": [],
>>           "queue_id": 0,
>>           "port": 1
>>         },
>>         {
>>           "properties": [],
>>           "queue_id": 1,
>>           "port": 1
>>         }
>>       ],
>>       "port": 1
>>     }
>>   ]
>> }
>> 
>> Please note I could not see "properties" for each Queue.
>> OVS does not seems to send "properties" info on OFPQueueGetConfigReply 
>> message.
>> 
>> 
>> Thanks,
>> Iwase
>> 
>> 
>>> On 2017年07月18日 22:31, Fahmy Sherif Alaa Salaheldin wrote:
>>> Good Afternoon,
>>> 
>>> 
>>> Simply I followed https://osrg.github.io/ryu-book/en/html/rest_qos.html
>>> 
>>> 
>>> But then tried to verify that the Queues were added though the rest_OFCTL
>>> 
>>> 
>>> curl -X GET http://localhost:8080/stats/queueconfig/1/1
>>> 
>>> 
>>> and it returned no queues configured. Is this normal?
>>> 
>>> 
>>> My question is when I configure queues through rest_QOS I HAVE to also 
>>> generate flow rules with
>>> rest_QOS
>>> 
>>> 
>>> i.e send my flow rules  to
>>> 
>>> http://localhost:8080/qos/queue/0000000000000001​
>>> 
>>> Correct?
>>> 
>>> 
>>> Sherif
>>> 
>>> 
>>> 
>>> ------------------------------------------------------------------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Ryu-devel mailing list
>>> Ryu-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/ryu-devel
>>> 
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to