On Tue, Jun 14, 2011 at 10:05:35PM -0700, Ben Pfaff wrote:
On Wed, Jun 15, 2011 at 02:04:39PM +0900, Simon Horman wrote:
On Tue, Jun 14, 2011 at 07:56:52PM -0700, Ben Pfaff wrote:
On Wed, Jun 15, 2011 at 10:51:24AM +0900, Simon Horman wrote:
Unfortunately I'm not familiar enough with the output to determine
the problem without digging much further. Perhaps you have some ideas.
The detailed output from sparc is below.
I believe that the output is similar if not the same
on the other three architectures.
Yes, I looked at this today. I'll send out a fix for it tomorrow.
It's a bug in the testsuite, I think, not in OVS itself.
Understood.
Could you CC me or this bug on the fix? Then I can push it into
an upload to Debian.Org and the buildds can verify the change.
Of course. Will do.
Simon, looking closer, this was fixed on branch-1.1 by the following
commit, made on April 18. (The fix is to sort the output of
dump-flows.) This fix is already in OVS 1.1.1. This bug is reported
against OVS 1.1.0, so it should be obsoleted by the OVS version
currently in Debian. Indeed, when I look at the current buildd status
at https://buildd.debian.org/status/package.php?p=openvswitchsuite=sid
I don't see any relevant failures.
I think we can close this.
Thanks,
Ben.
--8--cut here--8--
From: Ben Pfaff b...@nicira.com
Date: Mon, 18 Apr 2011 10:11:43 -0700
Subject: [PATCH] ofp-util: Properly handle tun_ids in tun_id_from_cookie
flows.
Just setting the tun_id field isn't enough--it's also necessary to set
the tun_id_mask. Otherwise the call to cls_rule_zero_wildcarded_fields()
at the end of ofputil_cls_rule_from_match() will zero out the tun_id again.
This was broken by commit 8368c090cab Implement arbitrary bitwise masks
for tun_id field back in January. (This makes me wonder whether we can
drop support for tun_id_from_cookie now.)
Reported-by: Dan Wendlandt d...@nicira.com
---
lib/ofp-util.c |2 +-
tests/ofproto.at |8 ++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/lib/ofp-util.c b/lib/ofp-util.c
index cc448bc..5c95270 100644
--- a/lib/ofp-util.c
+++ b/lib/ofp-util.c
@@ -136,7 +136,7 @@ ofputil_cls_rule_from_match(const struct ofp_match *match,
wc-nw_dst_mask = ofputil_wcbits_to_netmask(ofpfw OFPFW_NW_DST_SHIFT);
if (flow_format == NXFF_TUN_ID_FROM_COOKIE !(ofpfw NXFW_TUN_ID)) {
-rule-flow.tun_id = htonll(ntohll(cookie) 32);
+cls_rule_set_tun_id(rule, htonll(ntohll(cookie) 32));
}
if (ofpfw OFPFW_DL_DST) {
diff --git a/tests/ofproto.at b/tests/ofproto.at
index 9506756..fc7ff57 100644
--- a/tests/ofproto.at
+++ b/tests/ofproto.at
@@ -48,10 +48,14 @@ AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS], [0],
[NXST_FLOW reply:
])
AT_CHECK([echo 'in_port=1,actions=0' | ovs-ofctl add-flows br0 -])
AT_CHECK([ovs-ofctl add-flow br0 in_port=0,actions=1])
-AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS | STRIP_DURATION], [0], [dnl
-NXST_FLOW reply:
+dnl Tests for a bug in which ofproto ignored tun_id in tun_id_from_cookie
+dnl flow_mod commands.
+AT_CHECK([ovs-ofctl add-flow -F tun_id_from_cookie br0
tun_id=1,actions=mod_vlan_vid:4])
+AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS | STRIP_DURATION | sort], [0],
[dnl
cookie=0x0, duration=?s, table_id=0, n_packets=0, n_bytes=0, in_port=1
actions=output:0
cookie=0x0, duration=?s, table_id=0, n_packets=0, n_bytes=0, in_port=65534
actions=output:1
+ cookie=0x1, duration=?s, table_id=0, n_packets=0, n_bytes=0,
tun_id=0x1 actions=mod_vlan_vid:4
+NXST_FLOW reply:
])
AT_CHECK([ovs-ofctl del-flows br0])
AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS], [0], [NXST_FLOW reply:
--
1.7.4.4
--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org