OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [virtio-comment] Re: [PATCH v4 1/2] virtio-net: update description for VIRTIO_NET_F_GUEST_CSUM.


On Mon, Dec 4, 2023 at 5:06âPM Heng Qi <hengqi@linux.alibaba.com> wrote:
>
>
>
> å 2023/12/4 äå4:49, Jason Wang åé:
> > On Mon, Dec 4, 2023 at 3:37âPM Heng Qi <hengqi@linux.alibaba.com> wrote:
> >>
> >>
> >> å 2023/12/4 äå3:18, Jason Wang åé:
> >>> On Fri, Dec 1, 2023 at 3:16âPM Heng Qi <hengqi@linux.alibaba.com> wrote:
> >>>>
> >>>> å 2023/12/1 äå3:05, Jason Wang åé:
> >>>>> On Fri, Dec 1, 2023 at 2:30âPM Heng Qi <hengqi@linux.alibaba.com> wrote:
> >>>>>> å 2023/12/1 äå2:24, Heng Qi åé:
> >>>>>>> å 2023/12/1 äå1:18, Jason Wang åé:
> >>>>>>>> On Wed, Nov 29, 2023 at 4:23âPM Heng Qi <hengqi@linux.alibaba.com>
> >>>>>>>> wrote:
> >>>>>>>>> å 2023/11/29 äå4:00, Jason Wang åé:
> >>>>>>>>>> On Tue, Nov 28, 2023 at 4:08âPM Heng Qi <hengqi@linux.alibaba.com>
> >>>>>>>>>> wrote:
> >>>>>>>>>>> To prevent readers from misunderstanding that the driver can
> >>>>>>>>>>> only handles packets with partial checksum when
> >>>>>>>>>>> VIRTIO_NET_F_GUEST_CSUM is negotiated, we update the description.
> >>>>>>>>>>>
> >>>>>>>>>>> Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
> >>>>>>>>>>> ---
> >>>>>>>>>>>       device-types/net/description.tex | 2 +-
> >>>>>>>>>>>       1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>>>>>>>>
> >>>>>>>>>>> diff --git a/device-types/net/description.tex
> >>>>>>>>>>> b/device-types/net/description.tex
> >>>>>>>>>>> index aff5e08..529f470 100644
> >>>>>>>>>>> --- a/device-types/net/description.tex
> >>>>>>>>>>> +++ b/device-types/net/description.tex
> >>>>>>>>>>> @@ -38,7 +38,7 @@ \subsection{Feature bits}\label{sec:Device Types
> >>>>>>>>>>> / Network Device / Feature bits
> >>>>>>>>>>>       \begin{description}
> >>>>>>>>>>>       \item[VIRTIO_NET_F_CSUM (0)] Device handles packets with
> >>>>>>>>>>> partial checksum offload.
> >>>>>>>>>>>
> >>>>>>>>>>> -\item[VIRTIO_NET_F_GUEST_CSUM (1)] Driver handles packets with
> >>>>>>>>>>> partial checksum.
> >>>>>>>>>>> +\item[VIRTIO_NET_F_GUEST_CSUM (1)] Driver handles packets with
> >>>>>>>>>>> partial checksum or full checksum.
> >>>>>>>>>> So patch 2 said
> >>>>>>>>>>
> >>>>>>>>>> "
> >>>>>>>>>> +\item[VIRTIO_NET_F_GUEST_FULL_CSUM (64)] Driver handles packets with
> >>>>>>>>>> full checksum.
> >>>>>>>>>>       \end{description}
> >>>>>>>>>> "
> >>>>>>>>>>
> >>>>>>>>>> Is there any difference between the two "full checksum" here?
> >>>>>>>>> There's no difference.
> >>>>>>>>>
> >>>>>>>>> The core is that VIRTIO_NET_F_GUEST_FULL_CSUM means that the driver
> >>>>>>>>> "can
> >>>>>>>>> only" handle packets with full checksum.
> >>>>>>>> This seems to be odd.
> >>>>>>>>
> >>>>>>>> Driver can always handle packet with full checksum, no?
> >>>>>>> Yes.
> >>>>>>>
> >>>>>>>> I meant it
> >>>>>>>> will be then to be functional equivalent to !
> >>>>>>>> VIRTIO_NET_F_GUEST_FULL_CSUM?
> >>>>>>> Are you referring to
> >>>>>>> "functional equivalent to !VIRTIO_NET_F_GUEST_CSUM" ?
> >>>>>> Sorry, this is a typo. I meant
> >>>>>>
> >>>>>> Are you referring to
> >>>>>> "functional equivalent to !VIRTIO_NET_F_GUEST_FULL_CSUM" ?
> >>>>>>
> >>>>>>> If so, I think it's no.
> >>>>>>>
> >>>>>>> Maybe a description similar to the following would be more clearer:
> >>>>>>>
> >>>>>>> +\item[VIRTIO_NET_F_GUEST_FULL_CSUM (64)] Driver does not handle
> >>>>>>> packets with partial checksum.
> >>>>> I may miss something here, but what's the difference between
> >>>>>
> >>>>> VIRTIO_NET_F_GUEST_FULL_CSUM
> >>>>>
> >>>>> and
> >>>>>
> >>>>> !VIRTIO_NET_F_GUEST_CSUM?
> >>>>    From the device perspective:
> >>>>
> >>>> If !VIRTIO_NET_F_GUEST_CSUM, the device delivers packets with full
> >>>> checksum to the driver,
> >>>> but the device can not validate the checksum for these packets. That is,
> >>>> the flags in virtio-net-hdr
> >>>> will not contain _DATA_VALID, and the driver or stack needs to validate
> >>>> these packets.
> >>>>
> >>>> If VIRTIO_NET_F_GUEST_FULL_CSUM, the device delivers packets with full
> >>>> checksum to the driver,
> >>>> and the device can validate the checksum for these packets. That is, the
> >>>> flags in virtio-net-hdr
> >>>> will contain _DATA_VALID,
> >>> I think DATA_VALID is optional here as device can't recognize all type
> >>> of protocols.
> >> Yes, you are right, so I used "device *can*" here. Which packet types
> >> the device recognizes or validates
> >> depends on the device's implementation. This is also the current
> >> practice of GUEST_CSUM.
> >>
> >>>> and the driver or stack does not need to
> >>>> validate these packets.
> >>> Ok, so I think there're something that is subtle here,
> >> Ok, I see.
> >>
> >>> and that's why
> >>> I'm asking here:
> >>>
> >>> 1) "Driver does not handle packets with partial checksum" is not
> >>> accurate, !GUEST_CUSM also fit for this definition.
> >>> 2) "Driver handles packets with full checksum" is kind of ambiguous as
> >>> it doesn't say whether or not the packet has been validated or not.
> >> Maybe the description below would be less subtle?
> >> +\item[VIRTIO_NET_F_GUEST_CSUM (1)] Driver handles packets with partial
> >> checksum or full checksum.
> > I'd suggest to leave it as is. As I didn't find any issue since even
> > with DATA_VALID.
>
> OK, I'm not inclined to update the description for classic features
> either, if that's okay with others.
>
> > Did you?
> >
> >> +\item[VIRTIO_NET_F_GUEST_FULL_CSUM (64)] The driver handles packets
> >> with full checksum,
> >> and the device optionally validates the packet's checksum.
> > Or maybe something like (not a native speaker)
> >
> > The driver handles packets with full checksum which the device has
> > already validated.
>
> Packets which are not validated by the device can still be received by
> the driver. This is basic
> and this feature does not break this.

It doesn't break. It doesn't exclude that.

See how GUEST_CSUM defined:

Driver handles packets with partial checksum.

Thanks

>
> Thanks!
>
> >
> > Thanks
> >
> >
> >> Thanks!
> >>
> >>> Thanks
> >>>
> >>>> Thanks!
> >>>>
> >>>>> Thanks
> >>>>>
> >>>>>>> Thanks!
> >>>>>>>
> >>>>>>>> Thanks
> >>>>>>>>
> >>>>>>>>> Thanks!
> >>>>>>>>>
> >>>>>>>>>> Thanks
> >>>>>>>>>>
> >>>>>>>>>>> \item[VIRTIO_NET_F_CTRL_GUEST_OFFLOADS (2)] Control channel offloads
> >>>>>>>>>>>               reconfiguration support.
> >>>>>>>>>>> --
> >>>>>>>>>>> 2.19.1.6.gb485710b
> >>>>>>>>>>>
> >>>>>>> This publicly archived list offers a means to provide input to the
> >>>>>>> OASIS Virtual I/O Device (VIRTIO) TC.
> >>>>>>>
> >>>>>>> In order to verify user consent to the Feedback License terms and
> >>>>>>> to minimize spam in the list archive, subscription is required
> >>>>>>> before posting.
> >>>>>>>
> >>>>>>> Subscribe: virtio-comment-subscribe@lists.oasis-open.org
> >>>>>>> Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
> >>>>>>> List help: virtio-comment-help@lists.oasis-open.org
> >>>>>>> List archive: https://lists.oasis-open.org/archives/virtio-comment/
> >>>>>>> Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
> >>>>>>> List Guidelines:
> >>>>>>> https://www.oasis-open.org/policies-guidelines/mailing-lists
> >>>>>>> Committee: https://www.oasis-open.org/committees/virtio/
> >>>>>>> Join OASIS: https://www.oasis-open.org/join/
> >>>> This publicly archived list offers a means to provide input to the
> >>>> OASIS Virtual I/O Device (VIRTIO) TC.
> >>>>
> >>>> In order to verify user consent to the Feedback License terms and
> >>>> to minimize spam in the list archive, subscription is required
> >>>> before posting.
> >>>>
> >>>> Subscribe: virtio-comment-subscribe@lists.oasis-open.org
> >>>> Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
> >>>> List help: virtio-comment-help@lists.oasis-open.org
> >>>> List archive: https://lists.oasis-open.org/archives/virtio-comment/
> >>>> Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
> >>>> List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
> >>>> Committee: https://www.oasis-open.org/committees/virtio/
> >>>> Join OASIS: https://www.oasis-open.org/join/
> >>>>
> >>
> >> This publicly archived list offers a means to provide input to the
> >> OASIS Virtual I/O Device (VIRTIO) TC.
> >>
> >> In order to verify user consent to the Feedback License terms and
> >> to minimize spam in the list archive, subscription is required
> >> before posting.
> >>
> >> Subscribe: virtio-comment-subscribe@lists.oasis-open.org
> >> Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
> >> List help: virtio-comment-help@lists.oasis-open.org
> >> List archive: https://lists.oasis-open.org/archives/virtio-comment/
> >> Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
> >> List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
> >> Committee: https://www.oasis-open.org/committees/virtio/
> >> Join OASIS: https://www.oasis-open.org/join/
> >>
>



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]