Pointer is really all I’m looking for.  Just wanted to get as many ‘tidbits’ 
out of
the way before the IPsec application patch.

From: Bill Fischofer [mailto:[email protected]]
Sent: Tuesday, August 19, 2014 8:58 AM
To: Robbie King (robking)
Cc: lng-odp-forward
Subject: Re: [lng-odp] [PATCH] Add 64 bit context to packet

Are you really wanting to define a 64-bit integer or are you looking for a 
pointer?  uint64_t is not portable to 32-bit systems, however intptr_t is 
guaranteed to be a native pointer type of appropriate size.

Bill

On Tue, Aug 19, 2014 at 7:46 AM, Robbie King 
<[email protected]<mailto:[email protected]>> wrote:
Signed-off-by: Robbie King <[email protected]<mailto:[email protected]>>
---
 include/odp_packet.h                               |   18 ++++++++++++++++++
 .../linux-generic/include/odp_packet_internal.h    |    2 ++
 platform/linux-generic/odp_packet.c                |   10 ++++++++++
 3 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/include/odp_packet.h b/include/odp_packet.h
index ef4be9e..db75540 100644
--- a/include/odp_packet.h
+++ b/include/odp_packet.h
@@ -98,6 +98,24 @@ void odp_packet_set_len(odp_packet_t pkt, size_t len);
 size_t odp_packet_get_len(odp_packet_t pkt);

 /**
+ * Set packet user context
+ *
+ * @param buf      Packet handle
+ * @param ctx      User context
+ *
+ */
+void odp_packet_set_ctx(odp_packet_t buf, uint64_t ctx);
+
+/**
+ * Get packet user context
+ *
+ * @param buf      Packet handle
+ *
+ * @return User context
+ */
+uint64_t odp_packet_get_ctx(odp_packet_t buf);
+
+/**
  * Get address to the start of the packet buffer
  *
  * The address of the packet buffer is not necessarily the same as the start
diff --git a/platform/linux-generic/include/odp_packet_internal.h 
b/platform/linux-generic/include/odp_packet_internal.h
index 0ab3be2..49c59b2 100644
--- a/platform/linux-generic/include/odp_packet_internal.h
+++ b/platform/linux-generic/include/odp_packet_internal.h
@@ -112,6 +112,8 @@ typedef struct {

        uint32_t frame_len;

+       uint64_t user_ctx;        /* user context */
+
        odp_pktio_t input;

        uint32_t pad;
diff --git a/platform/linux-generic/odp_packet.c 
b/platform/linux-generic/odp_packet.c
index 13e2471..bbfef49 100644
--- a/platform/linux-generic/odp_packet.c
+++ b/platform/linux-generic/odp_packet.c
@@ -386,3 +386,13 @@ int odp_packet_copy(odp_packet_t pkt_dst, odp_packet_t 
pkt_src)

        return 0;
 }
+
+void odp_packet_set_ctx(odp_packet_t pkt, uint64_t ctx)
+{
+       odp_packet_hdr(pkt)->user_ctx = ctx;
+}
+
+uint64_t odp_packet_get_ctx(odp_packet_t pkt)
+{
+       return odp_packet_hdr(pkt)->user_ctx;
+}
--
1.7.7.6


_______________________________________________
lng-odp mailing list
[email protected]<mailto:[email protected]>
http://lists.linaro.org/mailman/listinfo/lng-odp

_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to