2015-03-13 0:17 GMT+08:00 Clément Rault <[email protected]>:
> Hi,
>
> Is there a way to see if a group entry has been used (i.e. if a packet
> has been sent to this entry) and which bucket action has been
> selected?
>
> Because I'm experiencing something weird with a group.
>
> Packets towards 11.0.0.2 (with vlan tag to 1) arrive at switch 6 and I
> wrote a group entry to match them.
>
> curl -X POST -d '{
> "dpid": 6,
> "type": "SELECT",
> "group_id": 1,
> "buckets": [
> {
> "weight": 1,
> "watch_port": 1,
> "actions": [
> {
> "type": "OUTPUT",
> "port": 1
> }
> ]
> },
> {
> "weight": 1,
> "watch_port": 2,
> "actions": [
> {
> "type": "OUTPUT",
> "port": 2
> }
> ]
> },
> {
> "weight": 1,
> "watch_port": 3,
> "actions": [
> {
> "type": "OUTPUT",
> "port": 3
> }
> ]
> },
> {
> "weight": 1,
> "watch_port": 4,
> "actions": [
> {
> "type": "OUTPUT",
> "port": 4
> }
> ]
> }
> ]
> }' http://localhost:8080/stats/groupentry/add
>
> curl -X POST -d '{
> "dpid": 6,
> "cookie": 1,
> "cookie_mask": 1,
> "table_id": 0,
> "idle_timeout": 0,
> "hard_timeout": 0,
> "priority": 11112,
> "flags": 1,
> "match":{
> "nw_dst": "11.0.0.2",
> "eth_type": 2048,
> "vlan_vid": 1
> },
> "actions":[
> {
> "type":"GROUP",
> "group_id": 1
> }
> ]
> }' http://localhost:8080/stats/flowentry/add
>
> But when I inspect with wireshark the packets are not sent to any
> outport and I don't understand why.
>
> I wrote a flow entry to see if I was matching correctly on them:
>
> curl -X POST -d '{
> "dpid": 6,
> "cookie": 1,
> "cookie_mask": 1,
> "table_id": 0,
> "idle_timeout": 0,
> "hard_timeout": 0,
> "priority": 11113,
> "flags": 1,
> "match":{
> "nw_dst": "11.0.0.2",
> "eth_type": 2048,
> "vlan_vid": 1
> },
> "actions":[
> {
> "type":"OUTPUT",
> "port": 4
> }
> ]
> }' http://localhost:8080/stats/flowentry/add
>
> And it worked, after adding this entry all packets were sent to outport 4.
>
> So I guess there is a problem with the group that I wrote but I don't
> know what...
>
>
> What is the standard behaviour for a select group type?
>
> From the documentation I understood that it's a round robin mechanism
> but when I investigate it it looks like all the packets are always
> taking the first bucket (live).
>
> How can I achieve a round robin behaviour then? I thought that I just
> need to put the same weight to each action bucket.
>
Hi,
According to page 21, OpenFlow Switch Specification 1.3.4:
Optional: select: Execute one bucket in the group. Packets are processed by
a single bucket in the group, *based on a switch-computed selection
algorithm* (e.g. hash on some user-configured tuple or simple round
robin). *All
configuration and state for the selection algorithm is external to
OpenFlow.*
So openflow does not help. Check your switch configurations for your needs.
--
Sincerely,
Wei-Li Tang
RD Engineer, Xinguard Inc.
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel