On 03/02/2018 03:22 PM, Michael S. Tsirkin wrote: > On Fri, Mar 02, 2018 at 11:59:00AM -0500, Jason Baron wrote: >> On 03/02/2018 02:14 AM, Jason Wang wrote: >>> >>> >>> On 2018年03月02日 11:46, Jason Baron wrote: >>>> Although linkspeed and duplex can be set in a linux guest via 'ethtool >>>> -s', >>>> this requires custom ethtool commands for virtio-net by default. >>>> >>>> Introduce a new feature flag, VIRTIO_NET_F_SPEED_DUPLEX, which allows >>>> the hypervisor to export a linkspeed and duplex setting. The user can >>>> subsequently overwrite it later if desired via: 'ethtool -s'. >>>> >>>> Linkspeed and duplex settings can be set as: >>>> '-device virtio-net,speed=10000,duplex=full' >>> >>> I was thinking whether or not it's better to decide the duplex by the >>> type of backends. >>> >>> E.g userspace and vhost-kernel implement a in fact half duplex. But dpdk >>> implement a full duplex. >> >> Interesting - could this be derived only from the backend 'type'. IE: >> NET_CLIENT_DRIVER_TAP, NET_CLIENT_DRIVER_VHOST_USER... >> >> >> I was also thinking this could be specified as 'duplex=backend', in >> addition to the proposed 'duplex=full' or 'duplex=half'? >> >> Thanks, >> >> -Jason > > I'd say it would make more sense to teach backends to obey what's > specified by the user. E.g. if vhost gets a duplex config, > create two threads. > > But I think all that's for future, we can just fake it for > now - the current uses don't seem to particularly care about whether > virtio actually is or isn't a duplex. > >
Ok, I wouldn't add 'duplex=backend' when I re-post, and will leave any automatic settings of duplex to 'future work'. Thanks, -Jason