Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Jun 2020 18:22:55 +0200
From:      Vincenzo Maffione <vmaffione@freebsd.org>
To:        Anthony Arnaud <antho.arnaudisce@gmail.com>
Cc:        Luigi Rizzo <rizzo@iet.unipi.it>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: Netmap - Vale switch - tcp problem
Message-ID:  <CA%2B_eA9h%2B-z6mGCERK2_3fqCforqy5f8-caNsDKF0r1GF%2BkOfSQ@mail.gmail.com>
In-Reply-To: <CAGCUUMEtuk4GW-7O%2B_XNcsh%2Bfrzu2O8ZBR_7SDQ-ir=L-dk0rw@mail.gmail.com>
References:  <CAGCUUMGxxiv8j-W3S8Gs1g=ZbDLnU8_Hv6SVMCpmnrRXPNsUTA@mail.gmail.com> <CA%2BhQ2%2BhfDvKv8q%2BjUB-mv_TaUTHfTPabx-qem-0=PW3vu8Br=A@mail.gmail.com> <CAGCUUMHwRghU3AMgKhQNrUs248y=NaGFN2Fm-f4khqhRsWn-qg@mail.gmail.com> <CA%2B_eA9iukqVoDZFyyW2qEZ2OHfE9=fUj070uUXcYmrXt67mwqw@mail.gmail.com> <CAGCUUMG7HG%2B8X89AYrhQ4dh6-equsvOLNyn_3sNU8h55PjPv9A@mail.gmail.com> <CA%2B_eA9j9zTM2JwCeMy6FmJQJmorVzXns2ijFgjuXa%2BrRQH400A@mail.gmail.com> <CAGCUUMEtuk4GW-7O%2B_XNcsh%2Bfrzu2O8ZBR_7SDQ-ir=L-dk0rw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Anthony,
  I think there is more than a bug, drivers-related, that show up when you
attach the interface to a vale switch.
I've found and fixed some related to if_vtnet (see below). In any case, in
my tests there is no difference between TCP traffic and other (UDP, ICMP,
STP,...).
The issues are not related to LRO, as I thought.
There are still more bugs in vtnet and I'm trying to chase them.
In the meanwhile it would help if you apply the patches below and try again
with vtnet to see if the situation improves. They apply cleanly to 12.1
release.

Regarding your problem with em devices, it is probably yet a different
issue. It may be related to the iflib transition or not. It would help to
try the same setup on stable/11 (which does not have iflib). I don't have
an em device, but I will try with an emulated em in QEMU/KVM.

Cheers,
  Vincenzo

------------------------------------------------------------------------
r361698 | vmaffione | 2020-06-01 16:14:29 +0000 (Mon, 01 Jun 2020) | 8 lines

netmap: if_vtnet: avoid netmap ring wraparound

netmap assumes the one "slot" is left unused to distinguish
the empty ring and full ring conditions. This assumption was
violated by vtnet_netmap_rxq_populate().

MFC after:      1 week

------------------------------------------------------------------------
r361697 | vmaffione | 2020-06-01 16:12:09 +0000 (Mon, 01 Jun 2020) | 8 lines

netmap: if_vtnet: replace vtnet_free_used()

The functionality contained in this function is duplicated,
as it is already available in vtnet_txq_free_mbufs()
and vtnet_rxq_free_mbufs().

MFC after:      1 week

------------------------------------------------------------------------
r361696 | vmaffione | 2020-06-01 16:10:44 +0000 (Mon, 01 Jun 2020) | 13
lines

netmap: vtnet: fix RX virtqueue initialization bug

The vtnet_netmap_rxq_populate() function erroneously assumed
that kring->nr_hwcur = 0, i.e. the kring was in the initial
state. However, this is not always the case: for example,
when a vtnet reinit is triggered by some changes in the
interface flags or capenable.
This patch changes the behaviour of vtnet_netmap_kring_refill()
so that it always starts publishing the netmap buffers starting
from the current value of kring->nr_hwcur.

MFC after:      1 week
------------------------------------------------------------------------
Il giorno lun 1 giu 2020 alle ore 15:19 Anthony Arnaud <
antho.arnaudisce@gmail.com> ha scritto:

> Hi Vincenzo,
>
> To simplify the scenario I have installed from scratch FBSD12.1 on a new
> machine, without any virtualization env.
> I have encountered the same problem, when i attach an ethernet interface
> to vale switch (in this case an intel card em5) the tcp traffic disappears
> and tcpdump shown only udp, icmp6 and stp packets.
> If I detach the NIC from vale0 tcpdump shown all tcp traffic.
> I'm using the netmap version included in FBSD 12.1, and I have compiled
> vale-ctl presents in kernel sources (/src/tools/tools/netmap/)
> I executed your steps.
> There is something dark about that behaviour...
>
> Cheers
> Anthon
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B_eA9h%2B-z6mGCERK2_3fqCforqy5f8-caNsDKF0r1GF%2BkOfSQ>