Add functions to determine how port should be opened based on type.
[openvswitch] / lib / dpif.h
index d6d169480a6b946cf2b19f00e0cd647caa93982b..893338b2b4ffb357e4980521af5ea3da83d85c8b 100644 (file)
@@ -57,6 +57,7 @@ void dpif_wait(struct dpif *);
 
 const char *dpif_name(const struct dpif *);
 const char *dpif_base_name(const struct dpif *);
+const char *dpif_type(const struct dpif *);
 
 int dpif_delete(struct dpif *);
 
@@ -72,8 +73,10 @@ int dpif_get_dp_stats(const struct dpif *, struct dpif_dp_stats *);
 \f
 /* Port operations. */
 
-int dpif_port_add(struct dpif *, struct netdev *, uint16_t *port_nop);
-int dpif_port_del(struct dpif *, uint16_t port_no);
+const char *dpif_port_open_type(const char *datapath_type,
+                                const char *port_type);
+int dpif_port_add(struct dpif *, struct netdev *, uint32_t *port_nop);
+int dpif_port_del(struct dpif *, uint32_t port_no);
 
 /* A port within a datapath.
  *
@@ -85,14 +88,15 @@ struct dpif_port {
 };
 void dpif_port_clone(struct dpif_port *, const struct dpif_port *);
 void dpif_port_destroy(struct dpif_port *);
-int dpif_port_query_by_number(const struct dpif *, uint16_t port_no,
+bool dpif_port_exists(const struct dpif *dpif, const char *devname);
+int dpif_port_query_by_number(const struct dpif *, uint32_t port_no,
                               struct dpif_port *);
 int dpif_port_query_by_name(const struct dpif *, const char *devname,
                             struct dpif_port *);
-int dpif_port_get_name(struct dpif *, uint16_t port_no,
+int dpif_port_get_name(struct dpif *, uint32_t port_no,
                        char *name, size_t name_size);
 int dpif_get_max_ports(const struct dpif *);
-uint32_t dpif_port_get_pid(const struct dpif *, uint16_t port_no);
+uint32_t dpif_port_get_pid(const struct dpif *, uint32_t port_no);
 
 struct dpif_port_dump {
     const struct dpif *dpif;