[OPNFLWPLUG-475] Flows created with actions set to "Group-IDs" are not working Created: 01/Jun/15  Updated: 27/Sep/21  Resolved: 22/Aug/16

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Kavitha Ramalingam Assignee: Kavitha Ramalingam
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: PNG File Bug 3515 LACP.png     File h1.sh     File l1.py    
External issue ID: 3515

 Description   

Hi

I tested today with the below mentioned topology, having a broadcast flow whose actions were set to broadcast group ID. When I tried to ping from host h1 to h2, ARP request packet is sent out to only one port and not to all ports. This seems to be a bug and I request your inputs.

mininet> net
h1 h1-eth0:s1-eth1 h1-eth1:s1-eth2
h2 h2-eth0:s1-eth3
h3 h3-eth0:s1-eth4
s1 lo: s1-eth1:h1-eth0 s1-eth2:h1-eth1 s1-eth3:h2-eth0 s1-eth4:h3-eth0
c0

[mininet@opendaylight test]\>sudo ovs-ofctl dump-groups s1 -O OpenFlow13
OFPST_GROUP_DESC reply (OF1.3) (xid=0x2):
group_id=32399,type=all,bucket=weight:0,actions=output:3,output:4
group_id=28326,type=select,bucket=weight:0,actions=output:1,output:2

mininet@opendaylight test]\>sudo ovs-ofctl dump-flows s1 -O OpenFlow13
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=4310.355s, table=0, n_packets=2790, n_bytes=117180, dl_dst=ff:ff:ff:ff:ff:ff actions=group:32399
cookie=0x3000000000000008, duration=4496.507s, table=0, n_packets=308, n_bytes=38192, priority=5,dl_dst=01:80:c2:00:00:02,dl_type=0x8809 actions=CONTROLLER:65535

[mininet@opendaylight test]\>sudo tcpdump -i s1-eth4
tcpdump: WARNING: s1-eth4: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on s1-eth4, link-type EN10MB (Ethernet), capture size 65535 bytes
01:17:27.237038 ARP, Request who-has 10.1.1.2 tell rtr-pet-01.force10networks.com, length 28
01:17:28.238832 ARP, Request who-has 10.1.1.2 tell rtr-pet-01.force10networks.com, length 28
01:17:29.240828 ARP, Request who-has 10.1.1.2 tell rtr-pet-01.force10networks.com, length 28

[mininet@opendaylight test]\>sudo tcpdump -i s1-eth3
tcpdump: WARNING: s1-eth3: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on s1-eth3, link-type EN10MB (Ethernet), capture size 65535 bytes
01:17:16.334564 LLDP, length 49: openflow:1
01:17:21.334410 LLDP, length 49: openflow:1

Thanks and Regards
R. Kavitha



 Comments   
Comment by Abhijit Kumbhare [ 03/Jun/15 ]

You have:

On the flow:
actions=group:32399

and on the group:

group_id=32399,type=all,bucket=weight:0,actions=output:3,output:4

So the controller has programmed the flow with the group - so may be a switch issue or a misconfig?

Comment by Abhijit Kumbhare [ 05/Jun/15 ]

Moving it to normal (pending a reply) - so that it does not show up in queries.

Comment by Jozef Gloncak [ 10/Jun/15 ]

Can you provide input files (xml or json) for config switch to obtain output as you specified.

Comment by Jozef Gloncak [ 12/Jun/15 ]

With this command:
sudo ovs-ofctl add-group s1 group_id=32399,type=all,bucket=weight:0,output:3,output:4 -O OpenFlow13

I wasn't able to add group because of this error:
ovs-ofctl: Only select groups can have bucket weights.

How was you able to add group with id 32399 ant type all?

Comment by Jozef Gloncak [ 12/Jun/15 ]

Commands to put data on OVS switch to have state as discribed (only group_id=32399 doesn't have type all (as described earlier))

add group
==========
sudo ovs-ofctl add-group s1 group_id=32399,type=select,bucket=weight:0,output:3,output:4 -O OpenFlow13
sudo ovs-ofctl add-group s1 group_id=28326,type=select,bucket=weight:0,output:1,output:2 -O OpenFlow13

add flow
=========
sudo ovs-ofctl add-flow s1 table=0,dl_dst=ff:ff:ff:ff:ff:ff,cookie=0x0,action=group:32399 -O OpenFlow13
sudo ovs-ofctl add-flow s1 table=0,dl_dst=01:80:c2:00:00:02,dl_type=0x8809,cookie=0x3000000000000008,priority=5,action=CONTROLLER:65535 -O OpenFlow13

list flows
===========
sudo ovs-ofctl dump-flows s1 -O OpenFlow13

list groups
===========
sudo ovs-ofctl dump-groups s1 -O OpenFlow13

Comment by Kavitha Ramalingam [ 22/Jun/15 ]

(In reply to Abhijit Kumbhare from comment #1)
> You have:
>
> On the flow:
> actions=group:32399
>
> and on the group:
>
> group_id=32399,type=all,bucket=weight:0,actions=output:3,output:4
>
> So the controller has programmed the flow with the group - so may be a
> switch issue or a misconfig?

Hi Abhijit,
I'm sorry for the late reply, as i was on sick leave. We have created a group of type "all" with the egress ports set to port3 and port4. The expectation here is that any flow that uses this group has to egress the traffic on both the ports. In my previous update you can see that tcpdump o/p shows that ARP-Request traffic goes out of port4 and not thro' port3.

You could also refer to the flow entry which checks if destination MAC is broadcast MAC then it uses this group ID as the action. So, both the flows and group creations look perfect.

Thanks and Regards
R. Kavitha

Comment by Kavitha Ramalingam [ 22/Jun/15 ]

(In reply to Jozef Gloncak from comment #4)
> With this command:
> sudo ovs-ofctl add-group s1
> group_id=32399,type=all,bucket=weight:0,output:3,output:4 -O OpenFlow13
>
> I wasn't able to add group because of this error:
> ovs-ofctl: Only select groups can have bucket weights.
>
> How was you able to add group with id 32399 ant type all?

Hi
I created this group using group add API, which automatically sets the weight.

Thanks and regards
R. Kavitha

Comment by Shuva Jyoti Kar [ 05/Aug/15 ]

Hi Kavitha, is the issue still open ?

Comment by Kavitha Ramalingam [ 06/Aug/15 ]

(In reply to Shuva Jyoti Kar from comment #8)
> Hi Kavitha, is the issue still open ?

Yes Shuva

Comment by Shuva Jyoti Kar [ 06/Aug/15 ]

Hi Kavitha, thanks a lot. A couple of questions:

1. Does the behaviour of which port the traffic goes out in case of group-all change with controller/switch reboots or is the behaviour consistent

2. Does the behaiour change if we have more number of ports? All i mean is is the behaviour always forwarding traffic to one port only?

3. Have you (if at all)had the chance to check the behaviour with other of switches like cpqd?

Comment by Shuva Jyoti Kar [ 06/Aug/15 ]

Also Kavitha, could you please share the script to create the topology that you are testing with

Comment by Kavitha Ramalingam [ 10/Aug/15 ]

Attachment l1.py has been added with description: Topology script

Comment by Kavitha Ramalingam [ 10/Aug/15 ]

1. Install "lacp" feature
2. Start the script "l1.py". This script creates a topology with 1 switch connected to 2 hosts h1 and h2. Host h1 has 2 links connected to switch s1.
3. In the xterm of h1, Create a file bonding.conf under /etc/modprobe.d/ directory and add the following contents under the bonding.conf file.

alias bond0 bonding
options bonding mode=4

After saving the Config, execute the following command on host H1

  1. modprobe bonding

4. Start h1.sh from the host h1 terminal. This takes care of enabling LAG between host h1 and switch s1. I have attached screenshot of the groups that are created on the controller.
5. Add 2 flows - with 1 flow, setting in_port to one of the LAG port 1 and actions set to 2 groups. Add second flow with the second LAG port 2 and actions set to 2 groups.

Comment by Kavitha Ramalingam [ 10/Aug/15 ]

Attachment h1.sh has been added with description: LAG Script

Comment by Kavitha Ramalingam [ 10/Aug/15 ]

Attachment OPNFLWPLUG-475 LACP.png has been added with description: Screen Shot of Groups.

Comment by Abhijit Kumbhare [ 10/Nov/15 ]

Shuva are you working on this or is Kavitha working on this?

Comment by Shuva Jyoti Kar [ 11/Nov/15 ]

No Abhijit, i am not working on this, we did find flows pointing to groups working on cpqd.

Comment by Miroslav Macko [ 19/Aug/16 ]

Hi Shuva,

Do you mean that it is working on cpqd and it is not working on ovs?

Thanks,
Miro

Comment by Shuva Jyoti Kar [ 20/Aug/16 ]

Its working both on cpqd as well as Ovs2.5, so i believe we can close this

Comment by Miroslav Macko [ 22/Aug/16 ]

It should work. Reopen if there are some issues.

Thanks,
Miro

Generated at Wed Feb 07 20:32:35 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.