Allow sFlowCpInterval=0 to disable counter samples, and fix bug in sampler removal.
[openvswitch] / lib / netdev.h
index b87d5b99944e1d951dc33f794de085caff56223c..653665af714136524ee98aff02352745b47c1259 100644 (file)
 #include <stddef.h>
 #include <stdint.h>
 
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
 /* Generic interface to network devices.
  *
  * Currently, there is a single implementation of this interface that supports
@@ -30,6 +34,7 @@
 struct ofpbuf;
 struct in_addr;
 struct in6_addr;
+struct shash;
 struct svec;
 
 enum netdev_flags {
@@ -81,6 +86,11 @@ int netdev_initialize(void);
 void netdev_run(void);
 void netdev_wait(void);
 
+int netdev_create(const char *name, const char *type, 
+                  const struct shash *args);
+int netdev_destroy(const char *name);
+int netdev_reconfigure(const char *name, const struct shash *args);
+
 int netdev_open(const char *name, int ethertype, struct netdev **);
 void netdev_close(struct netdev *);
 
@@ -106,6 +116,8 @@ int netdev_get_carrier(const struct netdev *, bool *carrier);
 int netdev_get_features(struct netdev *,
                         uint32_t *current, uint32_t *advertised,
                         uint32_t *supported, uint32_t *peer);
+uint64_t netdev_features_to_bps(uint32_t features);
+bool netdev_features_is_full_duplex(uint32_t features);
 int netdev_set_advertisements(struct netdev *, uint32_t advertise);
 
 int netdev_get_in4(const struct netdev *, struct in_addr *address,
@@ -136,4 +148,8 @@ void netdev_monitor_remove(struct netdev_monitor *, struct netdev *);
 int netdev_monitor_poll(struct netdev_monitor *, char **devnamep);
 void netdev_monitor_poll_wait(const struct netdev_monitor *);
 
+#ifdef  __cplusplus
+}
+#endif
+
 #endif /* netdev.h */