X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Flearning-switch.c;h=d231e3863ad87b1f7b6e8b97a1a1e30481172b5b;hb=c907aae9f1b6b9d1b00f63f2625f51cd7cf4cb52;hp=f056b91610718e12aef3fc7e54c46c6db46485bd;hpb=c572b9a572824ebf3c3ad5cb15de4e783d2ce9e9;p=openvswitch diff --git a/lib/learning-switch.c b/lib/learning-switch.c index f056b916..d231e386 100644 --- a/lib/learning-switch.c +++ b/lib/learning-switch.c @@ -159,25 +159,14 @@ send_features_request(struct lswitch *sw, struct rconn *rconn) time_t now = time_now(); if (now >= sw->last_features_request + 1) { struct buffer *b; - 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); + make_openflow(sizeof(struct ofp_header), OFPT_FEATURES_REQUEST, &b); queue_tx(sw, rconn, b); /* Send OFPT_SET_CONFIG. */ - b = buffer_new(0); - osc = buffer_put_uninit(b, sizeof *osc); - memset(osc, 0, sizeof *osc); - osc->header.type = OFPT_SET_CONFIG; - osc->header.version = OFP_VERSION; - osc->header.length = htons(sizeof *osc); + osc = make_openflow(sizeof *osc, OFPT_SET_CONFIG, &b); osc->flags = htons(OFPC_SEND_FLOW_EXP); osc->miss_send_len = htons(OFP_DEFAULT_MISS_SEND_LEN); queue_tx(sw, rconn, b);