CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2021/06/20 20:38:18
Modified files: usr.sbin/vmd : virtio.c virtio.h Log message: vmd(8): support variable length vionet rx descriptor chains The original implementation of the virtio network device assumed a driver would only provide a 2-descriptor chain for receiving packets. The virtio spec allows for variable length chains and drivers, in practice, construct them when they use a sufficiently large MTU. This change lets the device use variable length chains provided by the driver, thus allowing for drivers to set an MTU up to the underlying host-side tap(4)'s limit of TUNMRU (16384). Size limitations are now enforced on both tx and rx-side dropping anything violating the underlying tap(4) min and max limits. More work is needed to increase the read(2) buffer in use by vmd to prevent packet truncation. OK mlarkin@