X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fbundle.c;h=92ac1e1d4e77ad141faabf629b011e5f861f8e97;hb=3f0cbe2df696701ad07f61add08692a1eca54f67;hp=e0f8e6b6c2e864dafa900080a8e3ed267ddfd861;hpb=e368cad8ecf6dbf272b2a3775b2e3e5e2dc6a5cf;p=sliver-openvswitch.git diff --git a/lib/bundle.c b/lib/bundle.c index e0f8e6b6c..92ac1e1d4 100644 --- a/lib/bundle.c +++ b/lib/bundle.c @@ -267,12 +267,14 @@ bundle_parse__(const char *s, char **save_ptr, uint16_t slave_port; char *slave; - slave = strtok_r(NULL, ", [", save_ptr); + slave = strtok_r(NULL, ", []", save_ptr); if (!slave || bundle->n_slaves >= BUNDLE_MAX_SLAVES) { break; } - slave_port = atoi(slave); + if (!ofputil_port_from_string(slave, &slave_port)) { + ovs_fatal(0, "%s: bad port number", slave); + } ofpbuf_put(ofpacts, &slave_port, sizeof slave_port); bundle = ofpacts->l2; @@ -387,7 +389,7 @@ bundle_format(const struct ofpact_bundle *bundle, struct ds *s) ds_put_cstr(s, ","); } - ds_put_format(s, "%"PRIu16, bundle->slaves[i]); + ofputil_format_port(bundle->slaves[i], s); } ds_put_cstr(s, ")");