patch: Remove veth driver.
[sliver-openvswitch.git] / lib / netdev.c
index c620730..c21afef 100644 (file)
@@ -44,9 +44,8 @@
 static const struct netdev_class *base_netdev_classes[] = {
     &netdev_linux_class,
     &netdev_tap_class,
-    &netdev_gre_class,
     &netdev_patch_class,
-    &netdev_grenew_class,
+    &netdev_gre_class,
 };
 
 static struct shash netdev_classes = SHASH_INITIALIZER(&netdev_classes);
@@ -959,6 +958,19 @@ netdev_get_stats(const struct netdev *netdev, struct netdev_stats *stats)
     return error;
 }
 
+/* Attempts to change the stats for 'netdev' to those provided in 'stats'.
+ * Returns 0 if successful, otherwise a positive errno value.
+ *
+ * This will probably fail for most network devices.  Some devices might only
+ * allow setting their stats to 0. */
+int
+netdev_set_stats(struct netdev *netdev, const struct netdev_stats *stats)
+{
+    return (netdev_get_dev(netdev)->netdev_class->set_stats
+             ? netdev_get_dev(netdev)->netdev_class->set_stats(netdev, stats)
+             : EOPNOTSUPP);
+}
+
 /* Attempts to set input rate limiting (policing) policy, such that up to
  * 'kbits_rate' kbps of traffic is accepted, with a maximum accumulative burst
  * size of 'kbits' kb. */