X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fnetdev-vport.c;h=07b2381cc4457f3a37974d62da7cb0a013aea6ac;hb=99ab7312c17cd4ab603eb6194c50b9f1ef3ca1c9;hp=76aa148ccb597c7f63f652a0435f85541ef98311;hpb=fa04edcedfe5285fd8ad3a4d70fecb38df18293d;p=sliver-openvswitch.git diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c index 76aa148cc..07b2381cc 100644 --- a/lib/netdev-vport.c +++ b/lib/netdev-vport.c @@ -71,7 +71,7 @@ struct vport_class { static int netdev_vport_construct(struct netdev *); static int get_patch_config(const struct netdev *netdev, struct smap *args); static int get_tunnel_config(const struct netdev *, struct smap *args); -static void netdev_vport_poll_notify(struct netdev_vport *netdev) +static void netdev_vport_changed(struct netdev_vport *netdev) OVS_REQUIRES(netdev->mutex); static bool @@ -108,6 +108,14 @@ netdev_vport_is_patch(const struct netdev *netdev) return class->get_config == get_patch_config; } +bool +netdev_vport_is_layer3(const struct netdev *dev) +{ + const char *type = netdev_get_type(dev); + + return (!strcmp("lisp", type)); +} + static bool netdev_vport_needs_dst_port(const struct netdev *dev) { @@ -171,7 +179,7 @@ netdev_vport_construct(struct netdev *netdev_) { struct netdev_vport *netdev = netdev_vport_cast(netdev_); - ovs_mutex_init(&netdev->mutex, PTHREAD_MUTEX_NORMAL); + ovs_mutex_init(&netdev->mutex); netdev->change_seq = 1; eth_addr_random(netdev->etheraddr); @@ -205,7 +213,7 @@ netdev_vport_set_etheraddr(struct netdev *netdev_, ovs_mutex_lock(&netdev->mutex); memcpy(netdev->etheraddr, mac, ETH_ADDR_LEN); - netdev_vport_poll_notify(netdev); + netdev_vport_changed(netdev); ovs_mutex_unlock(&netdev->mutex); return 0; @@ -285,7 +293,7 @@ netdev_vport_wait(void) /* Helper functions. */ static void -netdev_vport_poll_notify(struct netdev_vport *ndv) +netdev_vport_changed(struct netdev_vport *ndv) { ndv->change_seq++; if (!ndv->change_seq) { @@ -495,7 +503,7 @@ set_tunnel_config(struct netdev *dev_, const struct smap *args) ovs_mutex_lock(&dev->mutex); dev->tnl_cfg = tnl_cfg; - netdev_vport_poll_notify(dev); + netdev_vport_changed(dev); ovs_mutex_unlock(&dev->mutex); return 0; @@ -603,7 +611,7 @@ netdev_vport_patch_peer(const struct netdev *netdev_) void netdev_vport_inc_rx(const struct netdev *netdev, - const struct dpif_flow_stats *stats) + const struct dpif_flow_stats *stats) { if (is_vport_class(netdev_get_class(netdev))) { struct netdev_vport *dev = netdev_vport_cast(netdev); @@ -669,7 +677,7 @@ set_patch_config(struct netdev *dev_, const struct smap *args) ovs_mutex_lock(&dev->mutex); free(dev->peer); dev->peer = xstrdup(peer); - netdev_vport_poll_notify(dev); + netdev_vport_changed(dev); ovs_mutex_unlock(&dev->mutex); return 0; @@ -727,7 +735,9 @@ get_stats(const struct netdev *netdev, struct netdev_stats *stats) NULL, /* set_queue */ \ NULL, /* delete_queue */ \ NULL, /* get_queue_stats */ \ - NULL, /* dump_queues */ \ + NULL, /* queue_dump_start */ \ + NULL, /* queue_dump_next */ \ + NULL, /* queue_dump_done */ \ NULL, /* dump_queue_stats */ \ \ NULL, /* get_in4 */ \