From: Justin Pettit Date: Sat, 3 May 2008 00:43:16 +0000 (-0700) Subject: Send the features request before the set config to be OpenFlow-compliant. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e313fbdea2e77025ea3b8364ed38b8374b52cfe;p=openvswitch Send the features request before the set config to be OpenFlow-compliant. --- diff --git a/controller/controller.c b/controller/controller.c index b345b676..8b69686b 100644 --- a/controller/controller.c +++ b/controller/controller.c @@ -288,6 +288,15 @@ send_features_request(struct switch_ *this) struct ofp_header *ofr; struct ofp_switch_config *osc; + /* Send OFPT_FEATURES_REQUEST. */ + b = buffer_new(0); + ofr = buffer_put_uninit(b, sizeof *ofr); + memset(ofr, 0, sizeof *ofr); + ofr->type = OFPT_FEATURES_REQUEST; + ofr->version = OFP_VERSION; + ofr->length = htons(sizeof *ofr); + queue_tx(this, b); + /* Send OFPT_SET_CONFIG. */ b = buffer_new(0); osc = buffer_put_uninit(b, sizeof *osc); @@ -299,15 +308,6 @@ send_features_request(struct switch_ *this) osc->miss_send_len = htons(OFP_DEFAULT_MISS_SEND_LEN); queue_tx(this, b); - /* Send OFPT_FEATURES_REQUEST. */ - b = buffer_new(0); - ofr = buffer_put_uninit(b, sizeof *ofr); - memset(ofr, 0, sizeof *ofr); - ofr->type = OFPT_FEATURES_REQUEST; - ofr->version = OFP_VERSION; - ofr->length = htons(sizeof *ofr); - queue_tx(this, b); - this->last_features_request = now; } }