[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [UNIKRAFT PATCH v4 00/12] Introduce Xen Netfront driver
Hi Costin,
really, thanks a lot for picking up this patch series and driving it for
upstreaming! This is great news. Lets make 2020 a lucky year for
netfront ;-). I add a few comments inline to some patches that I briefly
checked (I did a non-detailed review).
Please also consider the outstanding update to the Ethernet macro
definitons in lib/uknetdev: https://patchwork.unikraft.org/patch/738013/
. Since Intel DPDK and in general NFV is one of our targets, we should
support VLAN tags. This has an effect to the maximum transmission unit
(1522 B). Do you know if your netfront driver can handle such frame
sizes (more or less) out-of-the box? As far as I understood, we have
some restrictions with our virtio driver currently and need to re-visit
this.
Thanks,
Simon
On 13.08.20 10:53, Costin Lupu wrote:
The current changes are required for supporting netfront devices. They should
be used together with the lwip patch series because they depend on each other.
These changes follow the same approach used for the design and implementation
of the virtio-net driver.
The first version of these patches was sent in 2018. Maybe the current year is
a lucky one and we will achieve the performance to upstream these changes.
Changes since v1:
- Split into multiple patches
- Use the new uknetdev API
Changes since v2:
- Add more info to commit messages
Changes since v3:
- Use nb_align field for queue infos
- Add patch for enabling default drivers
Costin Lupu (12):
plat/drivers/virtio: Fill MTU and queues alignments when retrieving
information
plat/xen: Add vif device type
plat/xen/drivers: Add skeleton for netfront driver
plat/xen/drivers/net: Configure netfront device
plat/xen/drivers/net: Create netfront queues
plat/xen/drivers/net: Configure netfront tx queue
plat/xen/drivers/net: Configure netfront rx queue
plat/xen/drivers/net: Enable/disable interrupts for rx queues
plat/xen/drivers/net: Start netfront device
plat/xen/drivers/net: Add transmit operation
plat/xen/drivers/net: Add receive operation
lib/uknetdev: Enable default drivers
lib/uknetdev/Config.uk | 2 +
plat/drivers/virtio/virtio_net.c | 3 +
plat/xen/Config.uk | 7 +
plat/xen/Makefile.uk | 11 +
plat/xen/drivers/net/exportsyms.uk | 1 +
plat/xen/drivers/net/netfront.c | 843 +++++++++++++++++++++++++++++
plat/xen/drivers/net/netfront.h | 145 +++++
plat/xen/drivers/net/netfront_xb.h | 46 ++
plat/xen/drivers/net/netfront_xs.c | 522 ++++++++++++++++++
plat/xen/include/xenbus/xenbus.h | 1 +
plat/xen/xenbus/client.c | 1 +
11 files changed, 1582 insertions(+)
create mode 100644 plat/xen/drivers/net/exportsyms.uk
create mode 100644 plat/xen/drivers/net/netfront.c
create mode 100644 plat/xen/drivers/net/netfront.h
create mode 100644 plat/xen/drivers/net/netfront_xb.h
create mode 100644 plat/xen/drivers/net/netfront_xs.c
|