On Tue, May 23, 2023 at 10:41:18AM +0800, Heng Qi wrote: > On Mon, May 22, 2023 at 03:10:05PM -0400, Michael S. Tsirkin wrote: > > On Mon, May 22, 2023 at 08:12:00PM +0800, Heng Qi wrote: > > > 1) Add a feature bit to the virtio specification to tell the sender that > > > a fully > > > csumed packet must be sent. > > > > Who is the sender in this picture? The driver? > > The device or the driver. > > When the device is hw, the sender is more likely to be a device. > When the device is sw, the sender can be a device or a driver. > > But in general, this feature is inclined to constrain the behavior of the > device and > the driver from the receiving side.
Based on above I am guessing you are talking about driver getting packets from device, I wish you used terms from virtio spec. > For example: > VIRTIO_NET_F_UNNECESSARY_CSUM : The driver tells the device that you must > send me a fully csumed packet. > > Then the specific implementation can be > > (1) the sender sends a fully csumed packet; > (2) the receiver receives a CHECKSUM_PARTIAL packet, and the device helps > calculate the fully csum > (because the two parties in the communication are located on the same > host, the packet is trusted.). > > In summary, if VIRTIO_NET_F_UNNECESSARY_CSUM is negotiated, the driver will > no longer receive any packets marked CHECKSUM_PARTIAL. > > Thanks. This is what clearing VIRTIO_NET_F_GUEST_CSUM does. I feel you are trying to say that clearing VIRTIO_NET_F_GUEST_CSUM disables all offloads but you want to keep some of them? Again please use virtio terminology not Linux. to help you out, in current linux, VIRTIO_NET_HDR_F_NEEDS_CSUM and VIRTIO_NET_HDR_F_DATA_VALID will set CHECKSUM_PARTIAL and CHECKSUM_UNNECESSARY respectively. -- MST --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
