From: Ben Pfaff Date: Tue, 23 Nov 2010 21:09:53 +0000 (-0800) Subject: ofp-util: Fix interpretation of NXFW_TUN_ID bit for NXFF_OPENFLOW10. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7045a624ea8a516f536e7857b0bc6c474e7f2426;p=openvswitch ofp-util: Fix interpretation of NXFW_TUN_ID bit for NXFF_OPENFLOW10. In NXFF_OPENFLOW10, the tun_id field is always supposed to be wildcarded. That is what OVS used to do, but commit d8ae4d67 "flow: Fully separate flow_wildcards from OpenFlow wildcard bits" broke it. --- diff --git a/lib/ofp-util.c b/lib/ofp-util.c index cc38105b..d58f7ea5 100644 --- a/lib/ofp-util.c +++ b/lib/ofp-util.c @@ -124,7 +124,7 @@ ofputil_cls_rule_from_match(const struct ofp_match *match, wc->nw_src_mask = ofputil_wcbits_to_netmask(ofpfw >> OFPFW_NW_SRC_SHIFT); wc->nw_dst_mask = ofputil_wcbits_to_netmask(ofpfw >> OFPFW_NW_DST_SHIFT); - if (!(ofpfw & NXFW_TUN_ID)) { + if (flow_format == NXFF_TUN_ID_FROM_COOKIE && !(ofpfw & NXFW_TUN_ID)) { rule->flow.tun_id = htonl(ntohll(cookie) >> 32); } else { wc->wildcards |= FWW_TUN_ID;