Hi,
Here is the output for the debug messages as advised:
For this code:
--------------
 541     ODP_DBG("MTU:         %" PRIu32 "\n", mtu);

 542     ODP_DBG("NM buf_size: %" PRIu32 "\n", buf_size);

 543     pkt_nm->mtu = (mtu < buf_size) ? mtu : buf_size;

Output:
---------
netmap interface: eth5
  num_rx_desc: 0
  num_tx_desc: 0
pktio/netmap.c:541:netmap_open():MTU:         1514
pktio/netmap.c:542:netmap_open():NM buf_size: 2048
pktio/netmap.c:567:netmap_open():netmap pktio eth5 does not support
statistics counters
odp_packet_io.c:295:odp_pktio_open():interface: eth5, driver: netmap

=====
For this code:
--------------
 839             if (odp_likely(ring->slot[slot_id].len <= mtu)) {

 840                 slot_tbl[num_rx].buf = buf;

 841                 slot_tbl[num_rx].len = ring->slot[slot_id].len;

 842                 ODP_DBG("dropped oversized packet %d
%d\n",ring->slot[slot_id].len, mtu);
 843                 num_rx++;

 844             }

Output:
--------
pktio/netmap.c:842:netmap_recv_desc():dropped oversized packet 60 1514
pktio/netmap.c:842:netmap_recv_desc():dropped oversized packet 60 1514

If anything else is required, i can get those details too.

Thanks,
P Gyanesh Kumar Patra


On Thu, Jul 26, 2018 at 3:36 AM Elo, Matias (Nokia - FI/Espoo) <
matias....@nokia.com> wrote:

>
>
> > On 25 Jul 2018, at 17:11, Maxim Uvarov <maxim.uva...@linaro.org> wrote:
> >
> > For quick look it looks like mtu is not set correctly on open(). Can you
> try this patch:
> >
> > diff --git a/platform/linux-generic/pktio/netmap.c
> b/platform/linux-generic/pktio/netmap.c
> > index 0da2b7a..d4db0af 100644
> > --- a/platform/linux-generic/pktio/netmap.c
> > +++ b/platform/linux-generic/pktio/netmap.c
> > @@ -539,6 +539,7 @@ static int netmap_open(odp_pktio_t id ODP_UNUSED,
> pktio_entry_t *pktio_entry,
> >                 goto error;
> >         }
> >         pkt_nm->mtu = (mtu < buf_size) ? mtu : buf_size;
> > +       pkt_priv(pktio_entry)->mtu = pkt_nm->mtu;
>
>
> pkt_netmap_t *pkt_nm = pkt_priv(pktio_entry), so this is unnecessary.
>
>
> >>
> >>
> >> Is this a know issue or am i missing something?
> >>
>
>
> As far as I can see the problem is caused by reading interface MTU
> incorrectly or netmap using unusually small buffers (assuming moongen sends
> packets smaller than MTU). The following patch should help debug the issue.
>
> -Matias
>
> diff --git a/platform/linux-generic/pktio/netmap.c
> b/platform/linux-generic/pktio/netmap.c
> index 0da2b7afd..3e0a17542 100644
> --- a/platform/linux-generic/pktio/netmap.c
> +++ b/platform/linux-generic/pktio/netmap.c
> @@ -538,6 +538,10 @@ static int netmap_open(odp_pktio_t id ODP_UNUSED,
> pktio_entry_t *pktio_entry,
>                 ODP_ERR("Unable to read interface MTU\n");
>                 goto error;
>         }
> +
> +       ODP_DBG("MTU:         %" PRIu32 "\n", mtu);
> +       ODP_DBG("NM buf_size: %" PRIu32 "\n", buf_size);
> +
>         pkt_nm->mtu = (mtu < buf_size) ? mtu : buf_size;
>
>         /* Check if RSS is supported. If not, set 'max_input_queues' to 1.
> */
>
>
>

Reply via email to