static int netdev_tunnel_create(const struct netdev_class *, const char *,
struct netdev_dev **);
-static void netdev_tunnel_poll_notify(const struct netdev *);
+static void netdev_tunnel_update_seq(struct netdev_dev_tunnel *);
static bool
is_tunnel_class(const struct netdev_class *class)
return errno;
}
dev->connected = true;
+ netdev_tunnel_update_seq(dev);
VLOG_DBG("%s: connected to (%s, %d)", netdev_dev_get_name(&dev->netdev_dev),
inet_ntoa(dev->remote_addr.sin_addr), ntohs(dev->remote_addr.sin_port));
return 0;
if (!eth_addr_equals(dev->hwaddr, mac)) {
memcpy(dev->hwaddr, mac, ETH_ADDR_LEN);
- netdev_tunnel_poll_notify(netdev);
+ netdev_tunnel_update_seq(dev);
}
return 0;
return EINVAL;
}
+ // XXX should we actually do something with this flags?
*old_flagsp = dev->flags;
dev->flags |= on;
dev->flags &= ~off;
if (*old_flagsp != dev->flags) {
- netdev_tunnel_poll_notify(netdev);
+ netdev_tunnel_update_seq(dev);
}
return 0;
}
/* Helper functions. */
static void
-netdev_tunnel_poll_notify(const struct netdev *netdev)
+netdev_tunnel_update_seq(struct netdev_dev_tunnel *dev)
{
- struct netdev_dev_tunnel *dev =
- netdev_dev_tunnel_cast(netdev_get_dev(netdev));
-
dev->change_seq++;
if (!dev->change_seq) {
dev->change_seq++;