________________________________ From: Medvedkin, Vladimir <vladimir.medved...@intel.com> Sent: Monday 11 November 2024 5:46 pm To: Richardson, Bruce <bruce.richard...@intel.com>; dev@dpdk.org <dev@dpdk.org> Cc: sta...@dpdk.org <sta...@dpdk.org>; Connolly, Padraig J <padraig.j.conno...@intel.com>; Stokes, Ian <ian.sto...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com>; Kevin Liu <kevinx....@intel.com> Subject: Re: [PATCH] net/iavf: add segment-length check to Tx prep
Acked-by: Vladimir Medvedkin <vladimir.medved...@intel.com> On 11/11/2024 16:42, Bruce Richardson wrote: > In the Tx prep function, the metadata checks were only checking the > packet length and ignoring the data length. For single-buffer packets we > can quickly check that the data length is the packet length. > > Fixes: 19ee91c6bd9a ("net/iavf: check illegal packet sizes") > Cc: sta...@dpdk.org > > Reported-by: Padraig Connolly <padraig.j.conno...@intel.com> > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > --- > drivers/net/iavf/iavf_rxtx.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c > index 4850b9e381..6a093c6746 100644 > --- a/drivers/net/iavf/iavf_rxtx.c > +++ b/drivers/net/iavf/iavf_rxtx.c > @@ -3677,7 +3677,11 @@ iavf_prep_pkts(__rte_unused void *tx_queue, struct > rte_mbuf **tx_pkts, > return i; > } > > - if (m->pkt_len < IAVF_TX_MIN_PKT_LEN) { > + /* valid packets are greater than min size, and single-buffer > pkts > + * must have data_len == pkt_len > + */ > + if (m->pkt_len < IAVF_TX_MIN_PKT_LEN || > + (m->nb_segs == 1 && m->data_len != m->pkt_len)) > { > rte_errno = EINVAL; > return i; > } -- Regards, Vladimir Tested-by: Padraig Connolly <padraig.j.conno...@intel.com>