ovs-ofctl: Accept port keywords, OF1.1 port numbers, reject port number 0.
[sliver-openvswitch.git] / lib / meta-flow.c
index fd33726..38c9a27 100644 (file)
@@ -1941,7 +1941,8 @@ mf_from_ofp_port_string(const struct mf_field *mf, const char *s,
     uint16_t port;
 
     assert(mf->n_bytes == sizeof(ovs_be16));
-    if (ofputil_port_from_string(s, &port)) {
+    port = ofputil_port_from_string(s);
+    if (port) {
         *valuep = htons(port);
         *maskp = htons(UINT16_MAX);
         return NULL;
@@ -2164,7 +2165,7 @@ mf_write_subfield_flow(const struct mf_subfield *sf,
     union mf_value value;
 
     mf_get_value(field, flow, &value);
-    bitwise_copy(x, sizeof *x, sf->ofs, &value, field->n_bytes,
+    bitwise_copy(x, sizeof *x, 0, &value, field->n_bytes,
                  sf->ofs, sf->n_bits);
     mf_set_flow_value(field, &value, flow);
 }