mbuf_offload: fix header for C++
authorThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 5 Feb 2016 16:51:19 +0000 (17:51 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sun, 21 Feb 2016 10:47:57 +0000 (11:47 +0100)
When built in a C++ application, the include fails for 2 reasons:

rte_mbuf_offload.h:128:24: error:
invalid conversion from ‘void*’ to ‘rte_pktmbuf_offload_pool_private*’ [-fpermissive]
    rte_mempool_get_priv(mpool);
                        ^
The cast must be explicit for C++.

rte_mbuf_offload.h:304:1: error: expected declaration before ‘}’ token

There was a closing brace for __cplusplus but not an opening one.

Fixes: 78c8709b5ddb ("mbuf_offload: introduce library to attach offloads to mbuf")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
lib/librte_mbuf_offload/rte_mbuf_offload.h

index 4345f06..77993b6 100644 (file)
@@ -59,6 +59,9 @@
 #include <rte_mbuf.h>
 #include <rte_crypto.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 /** packet mbuf offload operation types */
 enum rte_mbuf_ol_op_type {
@@ -125,7 +128,7 @@ static inline uint16_t
 __rte_pktmbuf_offload_priv_size(struct rte_mempool *mpool)
 {
        struct rte_pktmbuf_offload_pool_private *priv =
-                       rte_mempool_get_priv(mpool);
+               (struct rte_pktmbuf_offload_pool_private *)rte_mempool_get_priv(mpool);
 
        return priv->offload_priv_size;
 }