list_init(&s->txq);
} else if (error != EAGAIN) {
VLOG_WARN("%s: accept failed (%s)",
- pstream_get_name(dev->pstream), strerror(error));
+ pstream_get_name(dev->pstream), ovs_strerror(error));
pstream_close(dev->pstream);
dev->pstream = NULL;
}
netdev_dummy_create(const struct netdev_class *class, const char *name,
struct netdev **netdevp)
{
- static unsigned int n = 0xaa550000;
+ static atomic_uint next_n = ATOMIC_VAR_INIT(0xaa550000);
struct netdev_dummy *netdev;
+ unsigned int n;
+ atomic_add(&next_n, 1, &n);
netdev = xzalloc(sizeof *netdev);
netdev_init(&netdev->up, name, class);
netdev->hwaddr[0] = 0xaa;
shash_add(&dummy_netdevs, name, netdev);
- n++;
-
*netdevp = &netdev->up;
return 0;
error = pstream_open(pstream, &netdev->pstream, DSCP_DEFAULT);
if (error) {
- VLOG_WARN("%s: open failed (%s)", pstream, strerror(error));
+ VLOG_WARN("%s: open failed (%s)",
+ pstream, ovs_strerror(error));
}
}
}
* settle for parsing a datapath key for now.
*/
ofpbuf_init(&odp_key, 0);
- error = odp_flow_key_from_string(s, NULL, &odp_key);
+ error = odp_flow_from_string(s, NULL, &odp_key, NULL);
if (error) {
ofpbuf_uninit(&odp_key);
return NULL;