[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH v3 00/12] Introduce Xen Netfront driver



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. We also revisited the packet buffer allocation design
and add support for allocating aligned buffers for packets. This is a
requirement of netfront devices because packets are shared between backend and
frontend using shared pages.

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

Costin Lupu (12):
  lib/uknetdev: Make Ethernet macros visible to all network devices
  lib/uknetdev: Add alignment size for packet buffers allocations
  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/include/uk/netdev_core.h |   8 +
 plat/drivers/virtio/virtio_net.c      |   4 +-
 plat/xen/Config.uk                    |   8 +
 plat/xen/Makefile.uk                  |  11 +
 plat/xen/drivers/net/exportsyms.uk    |   1 +
 plat/xen/drivers/net/netfront.c       | 842 ++++++++++++++++++++++++++
 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, 1587 insertions(+), 2 deletions(-)
 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

-- 
2.20.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.