X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utilities%2Fovs-ofctl.c;h=e873ed7ba2a41567057290ddae5eeddbbf4d6832;hb=1125a1b9dc3ffe95bddafa7f85a95d0e337c01ca;hp=254aa9579650a7cfbccaba9c98bb7e7839fba055;hpb=335562c0b9b190f61c0cc457a4098c2688561387;p=openvswitch diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c index 254aa957..e873ed7b 100644 --- a/utilities/ovs-ofctl.c +++ b/utilities/ovs-ofctl.c @@ -251,7 +251,7 @@ static void run(int retval, const char *message, ...) static void open_vconn(const char *name, struct vconn **vconnp) { - struct dpif dpif; + struct dpif *dpif; struct stat s; if (strstr(name, ":")) { @@ -268,9 +268,9 @@ open_vconn(const char *name, struct vconn **vconnp) char *socket_name; char *vconn_name; - run(dpif_port_get_name(&dpif, ODPP_LOCAL, dpif_name, sizeof dpif_name), + run(dpif_port_get_name(dpif, ODPP_LOCAL, dpif_name, sizeof dpif_name), "obtaining name of %s", dpif_name); - dpif_close(&dpif); + dpif_close(dpif); if (strcmp(dpif_name, name)) { VLOG_INFO("datapath %s is named %s", name, dpif_name); } @@ -442,8 +442,8 @@ str_to_u32(const char *str) static void str_to_mac(const char *str, uint8_t mac[6]) { - if (sscanf(str, "%"SCNx8":%"SCNx8":%"SCNx8":%"SCNx8":%"SCNx8":%"SCNx8, - &mac[0], &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]) != 6) { + if (sscanf(str, ETH_ADDR_SCAN_FMT, ETH_ADDR_SCAN_ARGS(mac)) + != ETH_ADDR_SCAN_COUNT) { ovs_fatal(0, "invalid mac address %s", str); } } @@ -617,6 +617,8 @@ str_to_action(char *str, struct ofpbuf *b) * packet to the controller. */ if (arg && (strspn(act, "0123456789") == strlen(act))) { oao->max_len = htons(str_to_u32(arg)); + } else { + oao->max_len = htons(UINT16_MAX); } } else if (parse_port_name(act, &port)) { put_output_action(b, port);