Catalli's threaded switch
[sliver-openvswitch.git] / lib / dpif-linux.c
index a28355d..6297f8c 100644 (file)
@@ -41,9 +41,9 @@
 #include "shash.h"
 #include "svec.h"
 #include "util.h"
-
 #include "vlog.h"
-#define THIS_MODULE VLM_dpif_linux
+
+VLOG_DEFINE_THIS_MODULE(dpif_linux)
 
 /* Datapath interface for the openvswitch Linux kernel module. */
 struct dpif_linux {
@@ -463,7 +463,7 @@ dpif_linux_queue_to_priority(const struct dpif *dpif OVS_UNUSED,
                              uint32_t queue_id, uint32_t *priority)
 {
     if (queue_id < 0xf000) {
-        *priority = TC_H_MAKE(1 << 16, queue_id);
+        *priority = TC_H_MAKE(1 << 16, queue_id + 1);
         return 0;
     } else {
         return EINVAL;
@@ -478,8 +478,7 @@ dpif_linux_recv(struct dpif *dpif_, struct ofpbuf **bufp)
     int retval;
     int error;
 
-    buf = ofpbuf_new(65536 + DPIF_RECV_MSG_PADDING);
-    ofpbuf_reserve(buf, DPIF_RECV_MSG_PADDING);
+    buf = ofpbuf_new_with_headroom(65536, DPIF_RECV_MSG_PADDING);
     retval = read(dpif->fd, ofpbuf_tail(buf), ofpbuf_tailroom(buf));
     if (retval < 0) {
         error = errno;
@@ -525,6 +524,10 @@ const struct dpif_class dpif_linux_class = {
     "system",
     NULL,
     NULL,
+#ifdef THREADED
+    NULL,
+    NULL,
+#endif
     dpif_linux_enumerate,
     dpif_linux_open,
     dpif_linux_close,