X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ofproto%2Fstatus.c;h=b5bc33a6362b7c150ffa687d24361aa2046f23d2;hb=018c05699311f5f884c837a00935a20d18be7d95;hp=644e3a45ff7da9b20a7f5cfbfbc8aa0843614061;hpb=7d674866d2c95d9027fc2e64d1acc2044e2c004a;p=openvswitch diff --git a/ofproto/status.c b/ofproto/status.c index 644e3a45..b5bc33a6 100644 --- a/ofproto/status.c +++ b/ofproto/status.c @@ -35,7 +35,7 @@ #include "vconn.h" #include "vlog.h" -VLOG_DEFINE_THIS_MODULE(status) +VLOG_DEFINE_THIS_MODULE(status); struct status_category { struct list node; @@ -70,17 +70,15 @@ switch_status_handle_request(struct switch_status *ss, struct rconn *rconn, sr.request.string = (void *) (request + 1); sr.request.length = ntohs(request->header.length) - sizeof *request; ds_init(&sr.output); - LIST_FOR_EACH (c, struct status_category, node, &ss->categories) { + LIST_FOR_EACH (c, node, &ss->categories) { if (!memcmp(c->name, sr.request.string, MIN(strlen(c->name), sr.request.length))) { sr.category = c; c->cb(&sr, c->aux); } } - reply = make_openflow_xid(sizeof *reply + sr.output.length, - OFPT_VENDOR, request->header.xid, &b); - reply->vendor = htonl(NX_VENDOR_ID); - reply->subtype = htonl(NXT_STATUS_REPLY); + reply = make_nxmsg_xid(sizeof *reply + sr.output.length, + NXT_STATUS_REPLY, request->header.xid, &b); memcpy(reply + 1, sr.output.string, sr.output.length); retval = rconn_send(rconn, b, NULL); if (retval && retval != EAGAIN) { @@ -101,10 +99,10 @@ rconn_status_cb(struct status_reply *sr, void *rconn_) status_reply_put(sr, "name=%s", rconn_get_target(rconn)); if (remote_ip) { status_reply_put(sr, "remote-ip="IP_FMT, IP_ARGS(&remote_ip)); - status_reply_put(sr, "remote-port=%d", + status_reply_put(sr, "remote-port=%d", ntohs(rconn_get_remote_port(rconn))); status_reply_put(sr, "local-ip="IP_FMT, IP_ARGS(&local_ip)); - status_reply_put(sr, "local-port=%d", + status_reply_put(sr, "local-port=%d", ntohs(rconn_get_local_port(rconn))); } status_reply_put(sr, "state=%s", rconn_get_state(rconn)); @@ -170,8 +168,7 @@ switch_status_destroy(struct switch_status *ss) /* Orphan any remaining categories, so that unregistering them later * won't write to bad memory. */ struct status_category *c, *next; - LIST_FOR_EACH_SAFE (c, next, - struct status_category, node, &ss->categories) { + LIST_FOR_EACH_SAFE (c, next, node, &ss->categories) { list_init(&c->node); } switch_status_unregister(ss->config_cat);