For SNAT, don't store the pre-fragment L2 header before actions are applied.
[sliver-openvswitch.git] / lib / vconn-tcp.c
index 3d336c4..79d8332 100644 (file)
@@ -44,7 +44,7 @@
 #include "packets.h"
 #include "socket-util.h"
 #include "util.h"
-#include "openflow.h"
+#include "openflow/openflow.h"
 #include "vconn-provider.h"
 #include "vconn-stream.h"
 
@@ -131,7 +131,6 @@ struct vconn_class tcp_vconn_class = {
     tcp_open,                   /* open */
     NULL,                       /* close */
     NULL,                       /* connect */
-    NULL,                       /* accept */
     NULL,                       /* recv */
     NULL,                       /* send */
     NULL,                       /* wait */
@@ -143,7 +142,7 @@ static int ptcp_accept(int fd, const struct sockaddr *sa, size_t sa_len,
                        struct vconn **vconnp);
 
 static int
-ptcp_open(const char *name, char *suffix, struct vconn **vconnp)
+ptcp_open(const char *name, char *suffix, struct pvconn **pvconnp)
 {
     struct sockaddr_in sin;
     int retval;
@@ -173,7 +172,7 @@ ptcp_open(const char *name, char *suffix, struct vconn **vconnp)
         return error;
     }
 
-    return new_pstream_vconn("ptcp", fd, ptcp_accept, vconnp);
+    return new_pstream_pvconn("ptcp", fd, ptcp_accept, pvconnp);
 }
 
 static int
@@ -194,14 +193,8 @@ ptcp_accept(int fd, const struct sockaddr *sa, size_t sa_len,
     return new_tcp_vconn(name, fd, 0, sin, vconnp);
 }
 
-struct vconn_class ptcp_vconn_class = {
-    "ptcp",                     /* name */
-    ptcp_open,                  /* open */
-    NULL,                       /* close */
-    NULL,                       /* connect */
-    NULL,                       /* accept */
-    NULL,                       /* recv */
-    NULL,                       /* send */
-    NULL,                       /* wait */
+struct pvconn_class ptcp_pvconn_class = {
+    "ptcp",
+    ptcp_open,
 };