tunneling: Add missing rcu_dereference() to cache cleaner.
[openvswitch] / lib / dpif-provider.h
index 5d651c6e0036136136698843f0d2cfd179960bb3..26cd6b099cf49c9b5f8de727f64ebe5dce9e4688 100644 (file)
@@ -90,13 +90,14 @@ struct dpif_class {
 
     /* Attempts to open an existing dpif called 'name', if 'create' is false,
      * or to open an existing dpif or create a new one, if 'create' is true.
-     * 'type' corresponds to the 'type' field used in the dpif_class
-     * structure.
      *
-     * If successful, stores a pointer to the new dpif in '*dpifp'.  On failure
-     * there are no requirements on what is stored in '*dpifp'. */
-    int (*open)(const char *name, const char *type, bool create,
-                struct dpif **dpifp);
+     * 'dpif_class' is the class of dpif to open.
+     *
+     * If successful, stores a pointer to the new dpif in '*dpifp', which must
+     * have class 'dpif_class'.  On failure there are no requirements on what
+     * is stored in '*dpifp'. */
+    int (*open)(const struct dpif_class *dpif_class,
+                const char *name, bool create, struct dpif **dpifp);
 
     /* Closes 'dpif' and frees associated memory. */
     void (*close)(struct dpif *dpif);
@@ -137,10 +138,9 @@ struct dpif_class {
      * meaning is the same as for the get_drop_frags member function. */
     int (*set_drop_frags)(struct dpif *dpif, bool drop_frags);
 
-    /* Creates a new port in 'dpif' connected to network device 'devname'.
-     * 'flags' is a set of ODP_PORT_* flags.  If successful, sets '*port_no'
+    /* Adds 'netdev' as a new port in 'dpif'.  If successful, sets '*port_no'
      * to the new port's port number. */
-    int (*port_add)(struct dpif *dpif, const char *devname, uint16_t flags,
+    int (*port_add)(struct dpif *dpif, struct netdev *netdev,
                     uint16_t *port_no);
 
     /* Removes port numbered 'port_no' from 'dpif'. */