[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [UNIKRAFT PATCH v3 00/16] Introduce a tap driver for Unikraft
The patch series introduces a tap driver for the linuxu platform. The series is structured as follows: - Introduce the uk_netdev interface implemented by the tap driver - Introduce pseudo tap bus to initialize the driver and probe a tap device. - The tap device discovered are registered with the uk_netdev. - Configure the netdevice by creating tap network interface. - Configure the hw address on the tap device. - Attach the tap device to a bridge interface. - Fetch and configure the MTU. - Check if the promiscuous mode is set - Fetch the txq/rxq information. - Configure the tx queue. - Configure the rx queue. - Start the tap interface. - Implement packet receive on the tap interface - Implement packet send on the tap interface - Fix the error code difference between Unikraft and linux. Changes since v2: - Fix the tap_write implementation - Change the mac generate implementation - Minor fixes - Make feature independent from the poll patch Changes since v1: - Complete the sys_open implementation with support for flags - Fix bug in calloc usage. - Move definitions into the required patches - Add some comments for the library parameters - Add descriptions to the struct definitions - Fix some typos. Sharan Santhanam (16): plat/linuxu/tap: Introduce tap driver plat/tap: Bus interface for the tap device plat/driver: Add tap device to the uk_netdev plat/driver: Create a tap dev during configuration plat/driver: Set features supported on tap device plat/tap: Get/Set hw_addr plat/tap: Add tap to the bridge plat/tap: Get/Set MTU plat/tap: Get promiscuous mode plat/tap: Fetch txq and rxq info plat/tap: Setup txq plat/tap: Setup rxq plat/tap: Start a tap device plat/tap: Support tap_netdev_recv plat/tap: Support tap_netdev_xmit plat/linuxu: Convert linux errno to unikraft errno plat/drivers/include/tap/tap.h | 51 ++ plat/drivers/tap/tap.c | 868 ++++++++++++++++++++ plat/linuxu/Config.uk | 18 + plat/linuxu/Makefile.uk | 15 + plat/linuxu/include/linuxu/syscall-arm_32.h | 6 + plat/linuxu/include/linuxu/syscall-x86_64.h | 7 + plat/linuxu/include/linuxu/syscall.h | 86 ++ plat/linuxu/include/linuxu/tap.h | 152 ++++ plat/linuxu/tap_io.c | 160 ++++ 9 files changed, 1363 insertions(+) create mode 100644 plat/drivers/include/tap/tap.h create mode 100644 plat/drivers/tap/tap.c create mode 100644 plat/linuxu/include/linuxu/tap.h create mode 100644 plat/linuxu/tap_io.c -- 2.20.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |