static struct netdev_dev_pltap *
netdev_dev_pltap_cast(const struct netdev_dev *netdev_dev)
{
- assert(is_pltap_class(netdev_dev_get_class(netdev_dev)));
+ ovs_assert(is_pltap_class(netdev_dev_get_class(netdev_dev)));
return CONTAINER_OF(netdev_dev, struct netdev_dev_pltap, netdev_dev);
}
netdev_pltap_cast(const struct netdev *netdev)
{
struct netdev_dev *netdev_dev = netdev_get_dev(netdev);
- assert(is_pltap_class(netdev_dev_get_class(netdev_dev)));
+ ovs_assert(is_pltap_class(netdev_dev_get_class(netdev_dev)));
return CONTAINER_OF(netdev, struct netdev_pltap, netdev);
}
return vsys_transaction("vif_up", NULL, "%s\n"IP_FMT"\n%d\n",
dev->real_name,
- IP_ARGS(&dev->local_addr.sin_addr),
+ IP_ARGS(dev->local_addr.sin_addr.s_addr),
dev->local_netmask);
}
netdev_pltap_sync_flags(struct netdev_dev_pltap *dev)
{
- if (dev->fd < 0 || !netdev_pltap_finalized(dev))
+ if (dev->fd < 0 || !netdev_pltap_finalized(dev)) {
+ sync_done(dev);
return;
+ }
VLOG_DBG("sync_flags(%s): current: %s %s target: %s %s",
dev->real_name,
if (netdev_dev->valid_local_ip)
smap_add_format(args, "local_ip", IP_FMT,
- IP_ARGS(&netdev_dev->local_addr.sin_addr));
+ IP_ARGS(netdev_dev->local_addr.sin_addr.s_addr));
if (netdev_dev->valid_local_netmask)
smap_add_format(args, "local_netmask", "%"PRIu32,
ntohs(netdev_dev->local_netmask));
netdev_pltap_destroy,
netdev_pltap_get_config,
netdev_pltap_set_config,
+ NULL, /* get_tunnel_config */
netdev_pltap_open,
netdev_pltap_close,