connmgr: Fix an abort.
authorYAMAMOTO Takashi <yamamoto@valinux.co.jp>
Thu, 24 Oct 2013 02:58:53 +0000 (11:58 +0900)
committerBen Pfaff <blp@nicira.com>
Thu, 24 Oct 2013 04:25:33 +0000 (21:25 -0700)
Fix a problem introduced by commit cfa955b083c5617212a29a03423e063ff6cb350a.
(connmgr: Fix packet-in reason for OpenFlow1.3 table-miss flow entries.).

ofconn might not be connected here, in that case
ofputil_protocol_to_ofp_version aborts.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
ofproto/connmgr.c

index 3c2b6cc..c9feae5 100644 (file)
@@ -1496,9 +1496,9 @@ wire_reason(struct ofconn *ofconn, const struct ofproto_packet_in *pin)
 {
     if (pin->generated_by_table_miss && pin->up.reason == OFPR_ACTION) {
         enum ofputil_protocol protocol = ofconn_get_protocol(ofconn);
-        enum ofp_version version = ofputil_protocol_to_ofp_version(protocol);
 
-        if (version >= OFP13_VERSION) {
+        if (protocol != OFPUTIL_P_NONE
+            && ofputil_protocol_to_ofp_version(protocol) >= OFP13_VERSION) {
             return OFPR_NO_MATCH;
         }
     }