New upstream version 18.11-rc1
[deb_dpdk.git] / lib / librte_mbuf / rte_mbuf.c
index 091d388..9790b4f 100644 (file)
 #include <rte_errno.h>
 #include <rte_memcpy.h>
 
-/*
- * ctrlmbuf constructor, given as a callback function to
- * rte_mempool_obj_iter() or rte_mempool_create()
- */
-void
-rte_ctrlmbuf_init(struct rte_mempool *mp,
-               __attribute__((unused)) void *opaque_arg,
-               void *_m,
-               __attribute__((unused)) unsigned i)
-{
-       struct rte_mbuf *m = _m;
-       rte_pktmbuf_init(mp, opaque_arg, _m, i);
-       m->ol_flags |= CTRL_MBUF_FLAG;
-}
-
 /*
  * pktmbuf pool constructor, given as a callback function to
  * rte_mempool_create(), or called directly if using
@@ -122,7 +107,7 @@ rte_pktmbuf_init(struct rte_mempool *mp,
 }
 
 /* Helper to create a mbuf pool with given mempool ops name*/
-struct rte_mempool * __rte_experimental
+struct rte_mempool *
 rte_pktmbuf_pool_create_by_ops(const char *name, unsigned int n,
        unsigned int cache_size, uint16_t priv_size, uint16_t data_room_size,
        int socket_id, const char *ops_name)
@@ -311,11 +296,19 @@ const char *rte_get_rx_ol_flag_name(uint64_t mask)
        case PKT_RX_VLAN_STRIPPED: return "PKT_RX_VLAN_STRIPPED";
        case PKT_RX_IEEE1588_PTP: return "PKT_RX_IEEE1588_PTP";
        case PKT_RX_IEEE1588_TMST: return "PKT_RX_IEEE1588_TMST";
+       case PKT_RX_FDIR_ID: return "PKT_RX_FDIR_ID";
+       case PKT_RX_FDIR_FLX: return "PKT_RX_FDIR_FLX";
        case PKT_RX_QINQ_STRIPPED: return "PKT_RX_QINQ_STRIPPED";
+       case PKT_RX_QINQ: return "PKT_RX_QINQ";
        case PKT_RX_LRO: return "PKT_RX_LRO";
        case PKT_RX_TIMESTAMP: return "PKT_RX_TIMESTAMP";
        case PKT_RX_SEC_OFFLOAD: return "PKT_RX_SEC_OFFLOAD";
        case PKT_RX_SEC_OFFLOAD_FAILED: return "PKT_RX_SEC_OFFLOAD_FAILED";
+       case PKT_RX_OUTER_L4_CKSUM_BAD: return "PKT_RX_OUTER_L4_CKSUM_BAD";
+       case PKT_RX_OUTER_L4_CKSUM_GOOD: return "PKT_RX_OUTER_L4_CKSUM_GOOD";
+       case PKT_RX_OUTER_L4_CKSUM_INVALID:
+               return "PKT_RX_OUTER_L4_CKSUM_INVALID";
+
        default: return NULL;
        }
 }
@@ -348,12 +341,21 @@ rte_get_rx_ol_flag_list(uint64_t mask, char *buf, size_t buflen)
                { PKT_RX_VLAN_STRIPPED, PKT_RX_VLAN_STRIPPED, NULL },
                { PKT_RX_IEEE1588_PTP, PKT_RX_IEEE1588_PTP, NULL },
                { PKT_RX_IEEE1588_TMST, PKT_RX_IEEE1588_TMST, NULL },
+               { PKT_RX_FDIR_ID, PKT_RX_FDIR_ID, NULL },
+               { PKT_RX_FDIR_FLX, PKT_RX_FDIR_FLX, NULL },
                { PKT_RX_QINQ_STRIPPED, PKT_RX_QINQ_STRIPPED, NULL },
                { PKT_RX_LRO, PKT_RX_LRO, NULL },
                { PKT_RX_TIMESTAMP, PKT_RX_TIMESTAMP, NULL },
                { PKT_RX_SEC_OFFLOAD, PKT_RX_SEC_OFFLOAD, NULL },
                { PKT_RX_SEC_OFFLOAD_FAILED, PKT_RX_SEC_OFFLOAD_FAILED, NULL },
                { PKT_RX_QINQ, PKT_RX_QINQ, NULL },
+               { PKT_RX_OUTER_L4_CKSUM_BAD, PKT_RX_OUTER_L4_CKSUM_MASK, NULL },
+               { PKT_RX_OUTER_L4_CKSUM_GOOD, PKT_RX_OUTER_L4_CKSUM_MASK,
+                 NULL },
+               { PKT_RX_OUTER_L4_CKSUM_INVALID, PKT_RX_OUTER_L4_CKSUM_MASK,
+                 NULL },
+               { PKT_RX_OUTER_L4_CKSUM_UNKNOWN, PKT_RX_OUTER_L4_CKSUM_MASK,
+                 "PKT_RX_OUTER_L4_CKSUM_UNKNOWN" },
        };
        const char *name;
        unsigned int i;
@@ -388,7 +390,7 @@ rte_get_rx_ol_flag_list(uint64_t mask, char *buf, size_t buflen)
 const char *rte_get_tx_ol_flag_name(uint64_t mask)
 {
        switch (mask) {
-       case PKT_TX_VLAN_PKT: return "PKT_TX_VLAN_PKT";
+       case PKT_TX_VLAN: return "PKT_TX_VLAN";
        case PKT_TX_IP_CKSUM: return "PKT_TX_IP_CKSUM";
        case PKT_TX_TCP_CKSUM: return "PKT_TX_TCP_CKSUM";
        case PKT_TX_SCTP_CKSUM: return "PKT_TX_SCTP_CKSUM";
@@ -405,8 +407,15 @@ const char *rte_get_tx_ol_flag_name(uint64_t mask)
        case PKT_TX_TUNNEL_IPIP: return "PKT_TX_TUNNEL_IPIP";
        case PKT_TX_TUNNEL_GENEVE: return "PKT_TX_TUNNEL_GENEVE";
        case PKT_TX_TUNNEL_MPLSINUDP: return "PKT_TX_TUNNEL_MPLSINUDP";
+       case PKT_TX_TUNNEL_VXLAN_GPE: return "PKT_TX_TUNNEL_VXLAN_GPE";
+       case PKT_TX_TUNNEL_IP: return "PKT_TX_TUNNEL_IP";
+       case PKT_TX_TUNNEL_UDP: return "PKT_TX_TUNNEL_UDP";
+       case PKT_TX_QINQ: return "PKT_TX_QINQ";
        case PKT_TX_MACSEC: return "PKT_TX_MACSEC";
        case PKT_TX_SEC_OFFLOAD: return "PKT_TX_SEC_OFFLOAD";
+       case PKT_TX_UDP_SEG: return "PKT_TX_UDP_SEG";
+       case PKT_TX_OUTER_UDP_CKSUM: return "PKT_TX_OUTER_UDP_CKSUM";
+       case PKT_TX_METADATA: return "PKT_TX_METADATA";
        default: return NULL;
        }
 }
@@ -416,7 +425,7 @@ int
 rte_get_tx_ol_flag_list(uint64_t mask, char *buf, size_t buflen)
 {
        const struct flag_mask tx_flags[] = {
-               { PKT_TX_VLAN_PKT, PKT_TX_VLAN_PKT, NULL },
+               { PKT_TX_VLAN, PKT_TX_VLAN, NULL },
                { PKT_TX_IP_CKSUM, PKT_TX_IP_CKSUM, NULL },
                { PKT_TX_TCP_CKSUM, PKT_TX_L4_MASK, NULL },
                { PKT_TX_SCTP_CKSUM, PKT_TX_L4_MASK, NULL },
@@ -429,18 +438,20 @@ rte_get_tx_ol_flag_list(uint64_t mask, char *buf, size_t buflen)
                { PKT_TX_OUTER_IP_CKSUM, PKT_TX_OUTER_IP_CKSUM, NULL },
                { PKT_TX_OUTER_IPV4, PKT_TX_OUTER_IPV4, NULL },
                { PKT_TX_OUTER_IPV6, PKT_TX_OUTER_IPV6, NULL },
-               { PKT_TX_TUNNEL_VXLAN, PKT_TX_TUNNEL_MASK,
-                 "PKT_TX_TUNNEL_NONE" },
-               { PKT_TX_TUNNEL_GRE, PKT_TX_TUNNEL_MASK,
-                 "PKT_TX_TUNNEL_NONE" },
-               { PKT_TX_TUNNEL_IPIP, PKT_TX_TUNNEL_MASK,
-                 "PKT_TX_TUNNEL_NONE" },
-               { PKT_TX_TUNNEL_GENEVE, PKT_TX_TUNNEL_MASK,
-                 "PKT_TX_TUNNEL_NONE" },
-               { PKT_TX_TUNNEL_MPLSINUDP, PKT_TX_TUNNEL_MASK,
-                 "PKT_TX_TUNNEL_NONE" },
+               { PKT_TX_TUNNEL_VXLAN, PKT_TX_TUNNEL_MASK, NULL },
+               { PKT_TX_TUNNEL_GRE, PKT_TX_TUNNEL_MASK, NULL },
+               { PKT_TX_TUNNEL_IPIP, PKT_TX_TUNNEL_MASK, NULL },
+               { PKT_TX_TUNNEL_GENEVE, PKT_TX_TUNNEL_MASK, NULL },
+               { PKT_TX_TUNNEL_MPLSINUDP, PKT_TX_TUNNEL_MASK, NULL },
+               { PKT_TX_TUNNEL_VXLAN_GPE, PKT_TX_TUNNEL_MASK, NULL },
+               { PKT_TX_TUNNEL_IP, PKT_TX_TUNNEL_MASK, NULL },
+               { PKT_TX_TUNNEL_UDP, PKT_TX_TUNNEL_MASK, NULL },
+               { PKT_TX_QINQ, PKT_TX_QINQ, NULL },
                { PKT_TX_MACSEC, PKT_TX_MACSEC, NULL },
                { PKT_TX_SEC_OFFLOAD, PKT_TX_SEC_OFFLOAD, NULL },
+               { PKT_TX_UDP_SEG, PKT_TX_UDP_SEG, NULL },
+               { PKT_TX_OUTER_UDP_CKSUM, PKT_TX_OUTER_UDP_CKSUM, NULL },
+               { PKT_TX_METADATA, PKT_TX_METADATA, NULL },
        };
        const char *name;
        unsigned int i;