On Sun, 24 Jul 2022 16:10:03 +0800
Huichao Cai <chcch...@163.com> wrote:

> +
> +     /*
> +      * Formal parameter checking.
> +      */
> +     if (unlikely(pkt_in == NULL) || unlikely(pkts_out == NULL) ||
> +         unlikely(nb_pkts_out == 0) || unlikely(pool_direct == NULL) ||
> +         unlikely(mtu_size < RTE_ETHER_MIN_MTU))
> +             return -EINVAL;
> +
> +     in_hdr = rte_pktmbuf_mtod(pkt_in, struct rte_ipv4_hdr *);
> +     header_len = (in_hdr->version_ihl & RTE_IPV4_HDR_IHL_MASK) *
> +         RTE_IPV4_IHL_MULTIPLIER;
> +
> +     /* Check IP header length */
> +     if (unlikely(pkt_in->data_len < header_len) ||
> +         unlikely(mtu_size < header_len))
> +             return -EINVAL;
> +

My suspicions are all this input parameter checking probably costs more
than any performance gain of having a non-segmented fast path.

Reply via email to