> -----Original Message-----
> From: Stephen Hemminger <step...@networkplumber.org>
> Sent: Thursday, February 16, 2023 1:23 AM
> To: dev@dpdk.org
> Cc: Stephen Hemminger <step...@networkplumber.org>; Hu, Jiayu
> <jiayu...@intel.com>; Mark Kavanagh <mark.b.kavan...@intel.com>
> Subject: [PATCH v7 01/22] gso: don't log message on non TCP/UDP
> 
> If a large packet is passed into GSO routines of unknown protocol then library
> would log a message.
> Better to tell the application instead of logging.
> 
> Fixes: 119583797b6a ("gso: support TCP/IPv4 GSO")
> Cc: jiayu...@intel.com
> Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
> ---
>  lib/gso/rte_gso.c | 5 ++---
>  lib/gso/rte_gso.h | 1 +
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/gso/rte_gso.c b/lib/gso/rte_gso.c index
> 4b59217c16ee..c8e67c2d4b48 100644
> --- a/lib/gso/rte_gso.c
> +++ b/lib/gso/rte_gso.c
> @@ -80,9 +80,8 @@ rte_gso_segment(struct rte_mbuf *pkt,
>               ret = gso_udp4_segment(pkt, gso_size, direct_pool,
>                               indirect_pool, pkts_out, nb_pkts_out);
>       } else {
> -             /* unsupported packet, skip */
> -             RTE_LOG(DEBUG, GSO, "Unsupported packet type\n");
> -             ret = 0;
> +             ret = -ENOTSUP; /* only UDP or TCP allowed */
> +
>       }
> 
>       if (ret < 0) {
> diff --git a/lib/gso/rte_gso.h b/lib/gso/rte_gso.h index
> 40922524df42..23d6980aff9f 100644
> --- a/lib/gso/rte_gso.h
> +++ b/lib/gso/rte_gso.h
> @@ -114,6 +114,7 @@ struct rte_gso_ctx {
>   *  - The number of GSO segments filled in pkts_out on success.
>   *  - Return 0 if it does not need to be GSO'd.
>   *  - Return -ENOMEM if run out of memory in MBUF pools.
> + *  - Return -ENOTSUP for protocols that can not be segmentd (not UDP
> + or TCP)
>   *  - Return -EINVAL for invalid parameters.
>   */
>  int rte_gso_segment(struct rte_mbuf *pkt,
> --
> 2.39.1

Reviewed-by: Jiayu Hu <jiayu...@intel.com>

Reply via email to