summaryrefslogtreecommitdiff
path: root/lib/librte_mbuf
diff options
context:
space:
mode:
authorAndrew Rybchenko <arybchenko@solarflare.com>2019-03-29 13:42:14 +0000
committerThomas Monjalon <thomas@monjalon.net>2019-04-02 16:42:52 +0200
commitdfc6b2fd8da344095567c53f3e087cae3b4690b9 (patch)
treef5db05f27dd5a17c74e9212ab0a1592e2563bb36 /lib/librte_mbuf
parent1e3380a2f48c6ca87528578f9665e89115bef05f (diff)
downloaddpdk-dfc6b2fd8da344095567c53f3e087cae3b4690b9.zip
dpdk-dfc6b2fd8da344095567c53f3e087cae3b4690b9.tar.gz
dpdk-dfc6b2fd8da344095567c53f3e087cae3b4690b9.tar.xz
mbuf: remove Intel offload checks from generic API
rte_validate_tx_offload() is used in Tx prepare callbacks (RTE_LIBRTE_ETHDEV_DEBUG only) to check Tx offloads consistency. Requirement that packet headers should not be fragmented is not documented and unclear where it comes from except rte_net_intel_cksum_prepare() functions which relies on it. It could be NIC vendor specific driver or hardware limitation, but, if so, it should be documented and checked in corresponding Tx prepare callbacks. Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
Diffstat (limited to 'lib/librte_mbuf')
-rw-r--r--lib/librte_mbuf/rte_mbuf.h12
1 files changed, 0 insertions, 12 deletions
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index d961cca..73daa81 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -2257,23 +2257,11 @@ static inline int
rte_validate_tx_offload(const struct rte_mbuf *m)
{
uint64_t ol_flags = m->ol_flags;
- uint64_t inner_l3_offset = m->l2_len;
/* Does packet set any of available offloads? */
if (!(ol_flags & PKT_TX_OFFLOAD_MASK))
return 0;
- if (ol_flags & PKT_TX_OUTER_IP_CKSUM)
- /* NB: elaborating the addition like this instead of using
- * += gives the result uint64_t type instead of int,
- * avoiding compiler warnings on gcc 8.1 at least */
- inner_l3_offset = inner_l3_offset + m->outer_l2_len +
- m->outer_l3_len;
-
- /* Headers are fragmented */
- if (rte_pktmbuf_data_len(m) < inner_l3_offset + m->l3_len + m->l4_len)
- return -ENOTSUP;
-
/* IP checksum can be counted only for IPv4 packet */
if ((ol_flags & PKT_TX_IP_CKSUM) && (ol_flags & PKT_TX_IPV6))
return -EINVAL;