+
+ descs_required += nb_tso_descs;
+
+ /*
+ * Extra descriptor that is required when a packet header
+ * is separated from remaining content of the first segment.
+ */
+ if (rte_pktmbuf_data_len(m) > header_len) {
+ descs_required++;
+ } else if (rte_pktmbuf_data_len(m) < header_len &&
+ unlikely(header_len > SFC_TSOH_STD_LEN)) {
+ /*
+ * Header linearization is required and
+ * the header is too big to be linearized
+ */
+ return EINVAL;
+ }