* */
int (*handlers_set)(struct dpif *dpif, uint32_t n_handlers);
+ /* If 'dpif' creates its own I/O polling threads, refreshes poll threads
+ * configuration. 'n_rxqs' configures the number of rx_queues, which
+ * are distributed among threads. 'cmask' configures the cpu mask
+ * for setting the polling threads' cpu affinity. */
+ int (*poll_threads_set)(struct dpif *dpif, unsigned int n_rxqs,
+ const char *cmask);
+
/* Translates OpenFlow queue ID 'queue_id' (in host byte order) into a
* priority value used for setting packet priority. */
int (*queue_to_priority)(const struct dpif *dpif, uint32_t queue_id,
* to register an upcall function and enable / disable upcalls.
*
* Registers an upcall callback function with 'dpif'. This is only used if
- * if 'dpif' directly executes upcall functions. */
- void (*register_upcall_cb)(struct dpif *, exec_upcall_cb *);
+ * if 'dpif' directly executes upcall functions. 'aux' is passed to the
+ * callback on invocation. */
+ void (*register_upcall_cb)(struct dpif *, upcall_callback *, void *aux);
/* Enables upcalls if 'dpif' directly executes upcall functions. */
void (*enable_upcall)(struct dpif *);
void (*disable_upcall)(struct dpif *);
};
-extern const struct dpif_class dpif_linux_class;
+extern const struct dpif_class dpif_netlink_class;
extern const struct dpif_class dpif_netdev_class;
#ifdef __cplusplus