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

[Minios-devel] [UNIKRAFT PATCH v2 00/12] plat/xen: Introduce Xen Netfront driver


  • To: minios-devel@xxxxxxxxxxxxx
  • From: Costin Lupu <costin.lupu@xxxxxxxxx>
  • Date: Mon, 1 Apr 2019 16:42:40 +0300
  • Cc: felipe.huici@xxxxxxxxx, Florian.Schmidt@xxxxxxxxx, simon.kuenzer@xxxxxxxxx, yuri.volchkov@xxxxxxxxx, sharan.santhanam@xxxxxxxxx
  • Delivery-date: Mon, 01 Apr 2019 13:43:04 +0000
  • Ironport-phdr: 9a23:QPYkwh3kFC7N1/T9smDT+DRfVm0co7zxezQtwd8ZsesWLPvxwZ3uMQTl6Ol3ixeRBMOHsqoC2rad7fyocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbAhEmSaxbal2IRi5ognct8YbipZ+J6gszRfEvmFGcPlMy2NyIlKTkRf85sOu85Nm7i9dpfEv+dNeXKvjZ6g3QqBWAzogM2Au+c3krgLDQheV5nsdSWoZjBxFCBXY4R7gX5fxtiz6tvdh2CSfIMb7Q6w4VSik4qx2ThLjlSUJOCMj8GzPisJ+kr9VrhyiqRJ42IPYfJ2ZOeBicq7HYd8WWWxMVdtRWSxbBYO8apMCAvQGPeZDs4n9pl0Opga4CwmxHOPv1yJDi3jq0q09yOQhDQDG3Ao6E9IKrXTUtMj1ObwOXuCu1qXI1SjDYOhM1Tfn74jFaxYsquyPU7Joacfd1EYiGx7fgliTqYHpJS2Z2voPvmSB4edsTf+jhmE6pw1roTWixt0ghpfHi48b0FzI6Cp0zJgzKNalUkB0e8SkH4FVtyyCMot2Rd4tTH9wtSYhz70GpYa7fC8XyJQ73xLfa+KIc4yP4h/7SuaRJC13hHNheL6lmxmy6lKsyvXhVsavylpKtC1FnsHNtnALyRPT9tCKRuZy80u8wzqC1ADe5vtaLUwql6fXMZAszqY1lpUJsETDGiH2mF/xjK+Tbkgr5u+o6//7YrXnoJ+QLYt0ihzmMqQzgcGwHf84PhIWX2iG4uuwzqfj/UrhTLVQkvI2irXZsIzdJckDo665AglV0ock6xakFjupzcoXnWcZI1JBYx+Hi4npO0rSIPDjF/u+jEqjkDFxy/DBJL3hDY3HLmLfn7f5YbZ990lcxRIzw9Bb4JJUELABL+j1WkPrqdLXEh85Mwm1w+n6FNVwzYUeVnyTDa+dKqzdqkWE6fwyI+OUfo8apC79K+Q55/7plXI5l0ESfa2o3ZsPdn+0BPRmI1iYYXXwg9cMCmEKsRQiQ+zuklKNSiRfaGivX6gk/DE0FJqmDZvfRoCqmLGBxye7EYdMZm9cDFCAC2zoeJ+CW/cQaCKdOMlhnSYBVbW6TY8uyw2htAvgxLV8NObb5DAYv4r51Ndp/+3TiQ0y9TtsAsSG0mGNSmZ0nmUSSz81waBwv0p9y1ad3qhimPFYE8Jc6O9NUgggLpHQ1fJ1C83qUALbYtiJUEqmQsmhATwpTtMx3sUOY0dnF9W8iRDD2zalA78Wl7yMGpw56aTc0GbtKMZ50XnJz7MtgEc7QpgHCWrzg6959g/IQoLEjUidv6KrbrgHmj7A8iGE12XdkltfVVtbVr7ZXHZXQlbOsJyt7UTZU76oT7A6KhZpwtXEMrZALMfu2wYVDMz/McjTNjri01y7AgyFk+uB
  • Ironport-sdr: sa6jHny+SZSE9o+2GIQImlDk5yxGGoFQf8bhEBh8bzJlPDHfVODXNhOs3eGNuMSDBCWWL/4k3m PGwIWinUTxeQ==
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>

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. Common functions may be refactored into some common
abstraction and used by the two drivers. However, this is be subject to future
work.

We also revisit 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.

Changes since v1:
- Split into multiple patches
- Use the new uknetdev API

Costin Lupu (12):
  lib/uknetdev: Make Ethernet macros visible to all network devices
  lib/uknetdev: Add alignment for allocating packet buffers
  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: Add support for enabling/disabling 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                    |  10 +
 plat/xen/Makefile.uk                  |  11 +
 plat/xen/drivers/net/exportsyms.uk    |   1 +
 plat/xen/drivers/net/netfront.c       | 844 ++++++++++++++++++++++++++++++++++
 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, 1591 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.11.0


_______________________________________________
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®.