From: Simon Horman Date: Wed, 1 Aug 2012 07:01:52 +0000 (+0900) Subject: learning-switch: Send Features Request and Set Config with correct version X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee1fb070b25cbe44a24cbe2004ad1a6726d3c7e7;p=openvswitch learning-switch: Send Features Request and Set Config with correct version Signed-off-by: Simon Horman Signed-off-by: Ben Pfaff --- diff --git a/lib/learning-switch.c b/lib/learning-switch.c index 887a365e..b7a435c0 100644 --- a/lib/learning-switch.c +++ b/lib/learning-switch.c @@ -318,14 +318,17 @@ send_features_request(struct lswitch *sw, struct rconn *rconn) if (now >= sw->last_features_request + 1) { struct ofpbuf *b; struct ofp_switch_config *osc; + int ofp_version = rconn_get_version(rconn); + + assert(ofp_version > 0 && ofp_version < 0xff); /* Send OFPT_FEATURES_REQUEST. */ - b = ofpraw_alloc(OFPRAW_OFPT_FEATURES_REQUEST, OFP10_VERSION, 0); + b = ofpraw_alloc(OFPRAW_OFPT_FEATURES_REQUEST, ofp_version, 0); queue_tx(sw, rconn, b); /* Send OFPT_SET_CONFIG. */ - b = ofpraw_alloc(OFPRAW_OFPT_SET_CONFIG, OFP10_VERSION, sizeof *osc); - osc = ofpbuf_put_uninit(b, sizeof *osc); + b = ofpraw_alloc(OFPRAW_OFPT_SET_CONFIG, ofp_version, sizeof *osc); + osc = ofpbuf_put_zeros(b, sizeof *osc); osc->miss_send_len = htons(OFP_DEFAULT_MISS_SEND_LEN); queue_tx(sw, rconn, b);