On Sun, 19 Jun 2022 12:30:33 +0300
Ido Goshen <i...@cgstowernetworks.com> wrote:

> Drop only the oversized packets and not its entrie burst
> mbuf will be freed and will be counted as oerror
> 
> Signed-off-by: Ido Goshen <i...@cgstowernetworks.com>
> ---
>  drivers/net/pcap/pcap_ethdev.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/pcap/pcap_ethdev.c b/drivers/net/pcap/pcap_ethdev.c
> index 2221c53051..ff98762058 100644
> --- a/drivers/net/pcap/pcap_ethdev.c
> +++ b/drivers/net/pcap/pcap_ethdev.c
> @@ -494,8 +494,14 @@ eth_pcap_tx(void *queue, struct rte_mbuf **bufs, 
> uint16_t nb_pkts)
>                */
>               ret = pcap_sendpacket(pcap,
>                       rte_pktmbuf_read(mbuf, 0, len, temp_data), len);
> -             if (unlikely(ret != 0))
> -                     break;
> +             if (unlikely(ret != 0)) {
> +                     if (errno == EMSGSIZE) {

Will this show up in tx_errors?

> +                             rte_pktmbuf_free(mbuf);
> +                             continue;
> +                     } else {
> +                             break;
> +                     }
else is not needed here.

> +             }
>               num_tx++;
>               tx_bytes += len;
>               rte_pktmbuf_free(mbuf);

Reply via email to