diff mbox

[ovs-dev,patch_v1,1/4] dpdk: Move tcp_payload_length to include file.

Message ID 1496179296-14972-2-git-send-email-dlu998@gmail.com
State Accepted
Headers show

Commit Message

Darrell Ball May 30, 2017, 9:21 p.m. UTC
The function tcp_payload_length is moved to a private
include file to be used by other conntrack files.  A
sanity check is added for general use, although
previous usage was safe in that filtering is already
done by the time it is called.

Signed-off-by: Darrell Ball <dlu998@gmail.com>
---
 lib/conntrack-private.h | 13 +++++++++++++
 lib/conntrack-tcp.c     |  7 -------
 2 files changed, 13 insertions(+), 7 deletions(-)

Comments

Ben Pfaff June 7, 2017, 3:56 p.m. UTC | #1
On Tue, May 30, 2017 at 02:21:33PM -0700, Darrell Ball wrote:
> The function tcp_payload_length is moved to a private
> include file to be used by other conntrack files.  A
> sanity check is added for general use, although
> previous usage was safe in that filtering is already
> done by the time it is called.
> 
> Signed-off-by: Darrell Ball <dlu998@gmail.com>

Applied to master, thanks!
diff mbox

Patch

diff --git a/lib/conntrack-private.h b/lib/conntrack-private.h
index a7c2ae4..34ab77d 100644
--- a/lib/conntrack-private.h
+++ b/lib/conntrack-private.h
@@ -28,6 +28,7 @@ 
 #include "openvswitch/types.h"
 #include "packets.h"
 #include "unaligned.h"
+#include "dp-packet.h"
 
 struct ct_endpoint {
     struct ct_addr addr;
@@ -116,4 +117,16 @@  conn_update_expiration(struct conntrack_bucket *ctb, struct conn *conn,
     conn_init_expiration(ctb, conn, tm, now);
 }
 
+static inline uint32_t
+tcp_payload_length(struct dp_packet *pkt)
+{
+    char * tcp_payload = (char *) dp_packet_get_tcp_payload(pkt);
+    if (tcp_payload) {
+        return (char *) dp_packet_tail(pkt) - dp_packet_l2_pad_size(pkt)
+               - tcp_payload;
+    } else {
+        return 0;
+    }
+}
+
 #endif /* conntrack-private.h */
diff --git a/lib/conntrack-tcp.c b/lib/conntrack-tcp.c
index ea22400..04460c3 100644
--- a/lib/conntrack-tcp.c
+++ b/lib/conntrack-tcp.c
@@ -144,13 +144,6 @@  tcp_get_wscale(const struct tcp_header *tcp)
     return wscale;
 }
 
-static uint32_t
-tcp_payload_length(struct dp_packet *pkt)
-{
-    return (char *) dp_packet_tail(pkt) - dp_packet_l2_pad_size(pkt)
-           - (char *) dp_packet_get_tcp_payload(pkt);
-}
-
 static enum ct_update_res
 tcp_conn_update(struct conn *conn_, struct conntrack_bucket *ctb,
                 struct dp_packet *pkt, bool reply, long long now)