Hey happy belated new year LoL

Thanks for the answer, I'll take a look

2018-01-10 5:34 GMT-03:00 <tanvir.ulhu...@data61.csiro.au>:

> Hi Jose
>
>
> Please check the following links for more specific information,
>
> https://github.com/dariobanfi/multipath-sdn-controller/tree/
> master/controller
>
> http://csie.nqu.edu.tw/smallko/sdn/ryu_multipath_13.htm
>
> http://www.muzixing.com/pages/2014/11/07/load-
> balancemultipath-application-on-ryu.html
>
>
> If you have any specific question, please feel free to ask.
>
> Best of luck :)
>
> -Tanvir
> ------------------------------
> *From:* Jose Carlos Ferreira de Melo Junior <jc...@cin.ufpe.br>
> *Sent:* Tuesday, 9 January 2018 11:21 PM
> *To:* Ryu-devel
> *Cc:* Ul Huque, Tanvir (Data61, Eveleigh ATP); iwase.yusu...@gmail.com
>
> *Subject:* Re: [Ryu-devel] splitting a flow into a number of flows
>
> Hi guys, I couldn't help but notice that you two are discussing about
> spliting flows into two sub-flows refering to the ring topology showed
> here.
>
> I would like to ask to Tanvir, in this ring topology you should had
> experienced some kind of loop how you managed to solve this problem?
>
> I was trying to do the same thing with the same topology using Dijkstra
> Algorithm but there were a lot of broadcast messages in loop such as ARP ,
> LLDP and ICMPv6 all the time
>
> 2018-01-08 21:12 GMT-03:00 Iwase Yusuke <iwase.yusu...@gmail.com>:
>
>> Hi Tanvir,
>>
>>
>> > To do round-robin, what I have to change the above code?
>>
>> The OpenFlow Spec says the selection algorithm of SELECT type is
>> depending on
>> the switch's implementation.
>> So whether switch will do round-robin or other selection algorithm (e.g.,
>> hash
>> of source MAC) is the outside of the OpenFlow and not controllable from
>> Ryu
>> side...
>> Please refer to the docs of your OpenFlow switch.
>>
>> Thanks,
>> Iwase
>>
>>
>> On 2017年12月28日 03:11, tanvir.ulhu...@data61.csiro.au wrote:
>>
>>> "weight" should be determined only when "OFPGT_SELECT" type.
>>> What does "split" exactly mean?
>>> To do round-robin or load-balance on two path, you should use
>>> "OFPGT_SELECT".
>>>
>>>
>>> Thanks for your reply :)  My response is given below,
>>>
>>>                     ________________ switch 3_____________
>>>                     |
>>>                   |
>>>                     |
>>>                   |
>>>   h1------switch 1
>>>       switch 4-------- h2
>>>                     |_________________ switch 5___________|
>>>
>>> For the above topology, I used the following code in which a flow is
>>> supposed to be split into two equal sub-flows in Switch 1 (a flow entering
>>> into switch 1 will be divided equally to pass through switch 3 and switch
>>> 5). However, I have found that because of using "ofproto.OFPGT_SELECT", the
>>> controller sends the flow in one of the links between two links (either
>>> through switch 3 or switch 5). How can I divide a flow into two sub-flows
>>> passing through two links?
>>>
>>>            group_id = 1
>>>            action01 = [parser.OFPActionOutput(2)]
>>>            action02 = [parser.OFPActionOutput(4)]
>>>            weight01 = 50
>>>            weight02 = 50
>>>            watch_port = ofproto_v1_3.OFPP_ANY
>>>            watch_group = ofproto_v1_3.OFPQ_ALL
>>>            bucket01 = parser.OFPBucket(weight01, watch_port,
>>> watch_group, action01)
>>>            bucket02 = parser.OFPBucket(weight02, watch_port,
>>> watch_group, action02)
>>>            req = parser.OFPGroupMod(datapath, ofproto.OFPFC_ADD,
>>> ofproto.OFPGT_SELECT, group_id=1, buckets=[bucket01, bucket02])
>>>            datapath.send_msg(req)
>>>
>>>
>>> To do round-robin, what I have to change the above code?
>>>
>>> Thanks,
>>> -Tanvir
>>> ________________________________________
>>> From: Iwase Yusuke <iwase.yusu...@gmail.com>
>>> Sent: Monday, 25 December 2017 6:08 PM
>>> To: Ul Huque, Tanvir (Data61, Eveleigh ATP)
>>> Cc: ryu-devel@lists.sourceforge.net
>>> Subject: Re: [Ryu-devel] splitting a flow into a number of flows
>>>
>>> Hi Tanvir,
>>>
>>>
>>>   > (1) How can I split a flow into multiple sub-flows defining the
>>> percentage of
>>>   > each sub-flows compared to the flow?
>>>
>>> "weight" should be determined only when "OFPGT_SELECT" type.
>>> What does "split" exactly mean?
>>> To do round-robin or load-balance on two path, you should use
>>> "OFPGT_SELECT".
>>>
>>>
>>>   > (2) I want to know the use, and application of OFPGT_INDRIECT, and
>>> OFPGT_FF.
>>>
>>> For the details of each OFPGT_* types, please refer to "5.6.1 Group
>>> Types" on
>>> the OpenFlow Spec 1.3.5.
>>>
>>>
>>> Thanks,
>>> Iwase
>>>
>>>
>>> On 2017年12月21日 17:54, tanvir.ulhu...@data61.csiro.au wrote:
>>>
>>>> Hi
>>>>
>>>>
>>>> Thanks for your help.
>>>>
>>>> I have used ".OFPGT_ALL" in ".OFPGroupMod" message, and found that the
>>>> flow is splitting. But there is a serious problem: if I set any value in
>>>> "weight" field, except 0, then the flow does not split into multiple
>>>> sub-flows. I have also noticed that if I set 0 in  "weight" field, then the
>>>> flow sends an equal number of packets in each sub-flows and the number of
>>>> packets of a sub-flow is equivalent to the number of packets of the flow. I
>>>> used the following code,
>>>>
>>>>           ofproto = datapath.ofproto
>>>>           parser = datapath.ofproto_parser
>>>>           group_id = 1
>>>>           action01 = [parser.OFPActionOutput(2)]
>>>>           action02 = [parser.OFPActionOutput(4)]
>>>>           weight01 = 0
>>>>           weight02 = 0
>>>>           watch_port = ofproto_v1_3.OFPP_ANY
>>>>           watch_group = ofproto_v1_3.OFPQ_ALL
>>>>           bucket01 = parser.OFPBucket(weight01, watch_port,
>>>> watch_group, action01)
>>>>           bucket02 = parser.OFPBucket(weight02, watch_port,
>>>> watch_group, action02)
>>>>           req = parser.OFPGroupMod(datapath, ofproto.OFPFC_ADD,
>>>> ofproto.OFPGT_ALL, group_id=1, buckets=[bucket01, bucket02])     #  (2)
>>>> ofproto.OFPGT_SELECT --> ofproto.OFPGT_ALL
>>>>           datapath.send_msg(req)
>>>>
>>>> (1) How can I split a flow into multiple sub-flows defining the
>>>> percentage of each sub-flows compared to the flow?
>>>> (2) I want to know the use, and application of OFPGT_INDRIECT, and
>>>> OFPGT_FF.
>>>>
>>>> Thanks,
>>>> -Tanvir
>>>>
>>>>
>>>> ________________________________________
>>>> From: Iwase Yusuke <iwase.yusu...@gmail.com>
>>>> Sent: Thursday, 21 December 2017 10:50 AM
>>>> To: Ul Huque, Tanvir (Data61, Eveleigh ATP)
>>>> Cc: ryu-devel@lists.sourceforge.net
>>>> Subject: Re: [Ryu-devel] splitting a flow into a number of flows
>>>>
>>>> Hi,
>>>>
>>>>    >          buckets = [parser.OFPBucket(weight01, watch_port,
>>>> watch_group,
>>>>    > action01), parser.OFPBucket(weight02, watch_port, watch_group,
>>>> action02)]
>>>>    >          req = parser.OFPGroupMod(datapath, ofproto.OFPFC_ADD,
>>>>    > ofproto.OFPGT_SELECT, group_id, buckets)
>>>>
>>>> How about using ofproto.OFPGT_ALL instead of ofproto.OFPGT_SELECT?
>>>> Please refer to "5.6.1 Group Types" on OpenFlow Spec 1.3.5 for the
>>>> difference
>>>> between the types of group action.
>>>>
>>>> Thanks,
>>>> Iwase
>>>>
>>>>
>>>> On 2017年12月19日 18:58, tanvir.ulhu...@data61.csiro.au wrote:
>>>>
>>>>> Hi
>>>>>
>>>>>
>>>>> I want to split a flow into two flows, e.g., a flow entering into
>>>>> switch 1 will
>>>>> be splitted into two flows going to switch 3 and switch 5.
>>>>>
>>>>>
>>>>>
>>>>>                    ________________ switch 3_____________
>>>>>
>>>>>                    |
>>>>>             |
>>>>>
>>>>> h1------switch 1
>>>>>     switch 4-------- h2
>>>>>
>>>>>                   |_________________ switch 5____________|
>>>>>
>>>>>
>>>>>
>>>>> Now, to split the flow I have used the following code, however, I have
>>>>> found
>>>>> that flow is not splitting and passing through only one link without
>>>>> sending any
>>>>> packets in other link.
>>>>>
>>>>> 1. Could you please help me identifying the problem?
>>>>>
>>>>> 2. Could you please share necessary resources/links/guidelines of load
>>>>> sharing
>>>>> in SDN using RYU so that I can have workable implementation?
>>>>>
>>>>>
>>>>>
>>>>> #.......................................................
>>>>> send_group_mod
>>>>> .....................................................
>>>>>        # applicable in Swicth-1 (shared switch/AP)
>>>>>
>>>>>
>>>>>        def group_mod01(self, datapath):
>>>>>            ofproto = datapath.ofproto
>>>>>            parser = datapath.ofproto_parser
>>>>>
>>>>>            group_id = 1
>>>>>            action01 = [parser.OFPActionOutput(2)]   #  for switch 3
>>>>>            action02 = [parser.OFPActionOutput(4)]   # for switch 5
>>>>>            weight01 = 50
>>>>>            weight02 = 50
>>>>>            watch_port = ofproto_v1_3.OFPP_ANY
>>>>>            watch_group = ofproto_v1_3.OFPQ_ALL
>>>>>            buckets = [parser.OFPBucket(weight01, watch_port,
>>>>> watch_group,
>>>>> action01), parser.OFPBucket(weight02, watch_port, watch_group,
>>>>> action02)]
>>>>>            req = parser.OFPGroupMod(datapath, ofproto.OFPFC_ADD,
>>>>> ofproto.OFPGT_SELECT, group_id, buckets)
>>>>>            datapath.send_msg(req)
>>>>>
>>>>> #.......................................................
>>>>> switch_in_handler
>>>>> ...................................................
>>>>>                                                      # pro-active rule
>>>>> in Switch 1
>>>>>
>>>>>        @set_ev_cls(ofp_event.EventOFPSwitchFeatures,
>>>>> CONFIG_DISPATCHER)
>>>>>        def switch_features_handler(self, ev):
>>>>>            datapath = ev.msg.datapath
>>>>>            dpid = datapath.id
>>>>>            ofproto = datapath.ofproto
>>>>>            parser = datapath.ofproto_parser
>>>>>
>>>>>            if datapath.id == 1:
>>>>>                self.group_mod01(datapath)
>>>>>                actions = [parser.OFPActionSetField(ip_dscp = 1),
>>>>> parser.OFPActionGroup(group_id = 1)]
>>>>>                priority = 100
>>>>>                match = parser.OFPMatch(in_port= 1, eth_type=0x0800,
>>>>> ipv4_src='10.0.0.1', ipv4_dst='10.0.0.2', ip_proto=17, udp_dst=5555 )
>>>>>                self.add_flow(datapath, priority , match, actions)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------
>>>>> ------------------
>>>>> 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
>>>>
>>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> 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
>>
>
>
>
> --
> Atenciosamente,
> José Carlos Ferreira
> Mestrando em Ciência da Computação
> Analista de Redes e Sistemas PoP-PE/RNP
>



-- 
Atenciosamente,
José Carlos Ferreira
Mestrando em Ciência da Computação
Analista de Redes e Sistemas PoP-PE/RNP
------------------------------------------------------------------------------
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