net/bnxt: add TruFlow core identifier
[dpdk.git] / drivers / net / sfc / sfc_tso.h
index cd15178..8597c28 100644 (file)
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: BSD-3-Clause
  *
- * Copyright (c) 2018 Solarflare Communications Inc.
- * All rights reserved.
+ * Copyright(c) 2019-2020 Xilinx, Inc.
+ * Copyright(c) 2018-2019 Solarflare Communications Inc.
  *
  * This software was jointly developed between OKTET Labs (under contract
  * for Solarflare) and Solarflare Communications, Inc.
@@ -26,6 +26,18 @@ extern "C" {
  */
 #define SFC_EF10_TSO_HDR_DESCS_NUM     1
 
+static inline uint16_t
+sfc_tso_ip4_get_ipid(const uint8_t *pkt_hdrp, size_t ip_hdr_off)
+{
+       const struct rte_ipv4_hdr *ip_hdrp;
+       uint16_t ipid;
+
+       ip_hdrp = (const struct rte_ipv4_hdr *)(pkt_hdrp + ip_hdr_off);
+       rte_memcpy(&ipid, &ip_hdrp->packet_id, sizeof(ipid));
+
+       return rte_be_to_cpu_16(ipid);
+}
+
 unsigned int sfc_tso_prepare_header(uint8_t *tsoh, size_t header_len,
                                    struct rte_mbuf **in_seg, size_t *in_off);