Hey Iwase,
"*using the group table with openflow 1.3 with no sucess*" means that I am
using the group table as i said before and it is not working, means that I
am using the group specification and it doens't work.
and about your topology: It has only 2 switches or 4???
i don't know if my code is right or if i am missing something else.
2018-03-25 21:40 GMT-03:00 Iwase Yusuke <iwase.yusu...@gmail.com>:
> Hi Carlos,
>
> For such purpose, OFPGT_SELECT is appropriate, I guess.
>
> With the topology;
>
> +--------+ +--------+
> | s1 | | s2 |
> +----+ | (port 2)---(port 2) | +----+
> | h1 |---(port 1) | | (port 1)---| h2 |
> +----+ | (port 3)---(port 3) | +----+
> | | | |
> +--------+ +--------+
>
>
> I can install groups and flows entries, then can ping between h1 and h2
> with the
> following app.
>
>
> $ git diff
> diff --git a/ryu/app/simple_switch_13.py b/ryu/app/simple_switch_13.py
> index 06a5d0e..e1a5c3b 100644
> --- a/ryu/app/simple_switch_13.py
> +++ b/ryu/app/simple_switch_13.py
> @@ -48,6 +48,30 @@ class SimpleSwitch13(app_manager.RyuApp):
> ofproto.OFPCML_NO_BUFFER)]
> self.add_flow(datapath, 0, match, actions)
>
> + buckets = [
> + parser.OFPBucket(
> + 50, ofproto.OFPP_ANY, ofproto.OFPG_ANY,
> + [parser.OFPActionOutput(2)]),
> + parser.OFPBucket(
> + 50, ofproto.OFPP_ANY, ofproto.OFPG_ANY,
> + [parser.OFPActionOutput(3)]),
> + ]
> + mod = parser.OFPGroupMod(
> + datapath, ofproto.OFPGC_ADD, ofproto.OFPGT_SELECT, 1, buckets)
> + datapath.send_msg(mod)
> +
> + match = parser.OFPMatch(in_port=1)
> + actions = [parser.OFPActionGroup(1)] # from host to switch
> + self.add_flow(datapath, 1, match, actions)
> +
> + match = parser.OFPMatch(in_port=2)
> + actions = [parser.OFPActionOutput(1)] # from switch to host
> + self.add_flow(datapath, 1, match, actions)
> +
> + match = parser.OFPMatch(in_port=3)
> + actions = [parser.OFPActionOutput(1)] # from switch to host
> + self.add_flow(datapath, 1, match, actions)
> +
> def add_flow(self, datapath, priority, match, actions,
> buffer_id=None):
> ofproto = datapath.ofproto
> parser = datapath.ofproto_parser
>
>
> I don't know what "using the group table with openflow 1.3 with no sucess"
> means, but please confirm your group and flow table again.
>
> Thanks,
> Iwase
>
>
> On 2018年03月23日 21:11, Jose Carlos Ferreira de Melo Junior wrote:
>
>> Hey Iwase,
>>
>>
>> Split means really divide the flow I dont know if would be like a load
>> balancing (I think it is)
>>
>> For example the image below
>>
>>
>>
>>
>> But I dont know if this would be possible using the group table.
>>
>> 2018-03-23 4:04 GMT-03:00 Iwase Yusuke <iwase.yusu...@gmail.com <mailto:
>> iwase.yusu...@gmail.com>>:
>>
>>
>> Hi Carlos,
>>
>> What does "split flows" exactly mean?
>>
>> > req = parser.OFPGroupMod(datapath, ofp.OFPFC_ADD, ofp.OFPGT_SELECT,
>> > group_id, buckets)
>>
>> If you specify OFPGT_SELECT, switch will execute "one" bucket in the
>> group and
>> not copied like the port mirroring. If you intend to do port
>> mirroring, you need
>> to specify OFPGT_ALL. For other available group types, please refer
>> to the
>> OpenFlow spec and your switch's specification.
>>
>> Thanks,
>> Iwase
>>
>>
>> On 2018年03月21日 04:02, Jose Carlos Ferreira de Melo Junior wrote:
>>
>> Hi there,
>>
>> I know this topic was discussed before but I would like just a
>> simple
>> explanation about it.
>>
>> Because I am using the group table with openflow 1.3 with no
>> sucess.
>>
>>
>> My purpose is to split one flow in two flows and forward on port
>> 3 and 4
>> using the group table.
>>
>> My code is as follows:
>>
>>
>> *def group_mod(self, datapath):*
>> * global ofp, _parser_, dp*
>> * port_1 = 4*
>> * queue_1 = _parser_.OFPActionSetQueue(0)*
>> * actions_1 = [queue_1, _parser_.OFPActionOutput(port_1)]*
>> *
>> *
>> *
>> *
>> * port_2 = 3*
>> * queue_2 = _parser_.OFPActionSetQueue(0)*
>> * actions_2 = [queue_2, _parser_.OFPActionOutput(port_2)]*
>> *
>> *
>> * weight_1 = 50*
>> * weight_2 = 50*
>> *
>> *
>> * watch_port = ofproto_v1_3.OFPP_ANY*
>> * watch_group = ofproto_v1_3.OFPQ_ALL*
>> *
>> *
>> * buckets = [*
>> * _parser_.OFPBucket(weight_1, watch_port,
>> watch_group,
>> actions_1),*
>> * _parser_.OFPBucket(weight_2, watch_port,
>> watch_group,
>> actions_2)]*
>> *
>> *
>> * group_id = 50*
>> *
>> *
>> * req = _parser_.OFPGroupMod(datapath, ofp.OFPFC_ADD,
>> ofp.OFPGT_SELECT,*
>> * group_id, buckets)*
>> *
>> *
>> * datapath.send_msg(req)*
>> *
>> *
>> *
>> *
>> *
>> *
>> Hope this is right.
>>
>> Could anyone help me with this issue?
>>
>>
>>
>>
>> -- Best regards,
>> José Carlos Ferreira
>> Msc student in Computer Science
>> System and Network Analyst at 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 <mailto:Ryu-devel@lists.source
>> forge.net>
>> https://lists.sourceforge.net/lists/listinfo/ryu-devel
>> <https://lists.sourceforge.net/lists/listinfo/ryu-devel>
>>
>>
>>
>>
>> --
>> Best regards,
>> José Carlos Ferreira
>> Msc student in Computer Science
>> System and Network Analyst at 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
>>
>>
--
Best regards,
José Carlos Ferreira
Msc student in Computer Science
System and Network Analyst at 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