* [PATCH] virtio-can: define out of rage can-id
@ 2024-05-21 14:11 Matias Ezequiel Vara Larsen
2024-06-05 8:42 ` Stefano Garzarella
0 siblings, 1 reply; 6+ messages in thread
From: Matias Ezequiel Vara Larsen @ 2024-05-21 14:11 UTC (permalink / raw)
To: virtio-comment; +Cc: harald.mommer, mvaralar
Explain when a message is out of range.
Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
---
* This patch applies on top of virtio-1.4, which has not been released
yet.
---
device-types/can/description.tex | 3 +++
1 file changed, 3 insertions(+)
diff --git a/device-types/can/description.tex b/device-types/can/description.tex
index 2511d9c..98b163b 100644
--- a/device-types/can/description.tex
+++ b/device-types/can/description.tex
@@ -191,6 +191,9 @@ \subsubsection{Controller Mode}\label{sec:Device Types / CAN Device / Device Ope
invalid state with VIRTIO_CAN_RESULT_NOT_OK in \field{result} and MUST
NOT schedule the message for transmission.
+Note that a message is out of range when a standard frame uses more than 11
+bits of \field{can_id} or when an extended frame uses more than 29 bits.
+
If the parameters are valid the message is scheduled for transmission.
If feature VIRTIO_CAN_F_CAN_LATE_TX_ACK has been negotiated the
base-commit: 37c6a406678a5ee891fdf5671298cb4fcfa517f2
--
2.42.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] virtio-can: define out of rage can-id
2024-05-21 14:11 [PATCH] virtio-can: define out of rage can-id Matias Ezequiel Vara Larsen
@ 2024-06-05 8:42 ` Stefano Garzarella
2024-06-21 14:27 ` Matias Ezequiel Vara Larsen
0 siblings, 1 reply; 6+ messages in thread
From: Stefano Garzarella @ 2024-06-05 8:42 UTC (permalink / raw)
To: Matias Ezequiel Vara Larsen; +Cc: virtio-comment, harald.mommer
On Tue, May 21, 2024 at 04:11:42PM GMT, Matias Ezequiel Vara Larsen wrote:
>Explain when a message is out of range.
>
>Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
>---
>* This patch applies on top of virtio-1.4, which has not been released
> yet.
>---
> device-types/can/description.tex | 3 +++
> 1 file changed, 3 insertions(+)
>
>diff --git a/device-types/can/description.tex b/device-types/can/description.tex
>index 2511d9c..98b163b 100644
>--- a/device-types/can/description.tex
>+++ b/device-types/can/description.tex
>@@ -191,6 +191,9 @@ \subsubsection{Controller Mode}\label{sec:Device Types / CAN Device / Device Ope
> invalid state with VIRTIO_CAN_RESULT_NOT_OK in \field{result} and MUST
> NOT schedule the message for transmission.
>
>+Note that a message is out of range when a standard frame uses more than 11
>+bits of \field{can_id} or when an extended frame uses more than 29 bits.
>+
It's not clear to me where we refer to an out-of-range message before. I
only found "\field{can_id} or \field{sdu} length are out of range" where
IIUC we talk about the length of certain fields is out of range. Are we
talking about the same thing?
If so, I think we should talk explicitly about the "length of the
fields". Also should we cover `sdu` as well?
Thanks,
Stefano
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] virtio-can: define out of rage can-id
2024-06-05 8:42 ` Stefano Garzarella
@ 2024-06-21 14:27 ` Matias Ezequiel Vara Larsen
2024-06-24 13:44 ` Stefano Garzarella
2024-06-26 11:07 ` Harald Mommer
0 siblings, 2 replies; 6+ messages in thread
From: Matias Ezequiel Vara Larsen @ 2024-06-21 14:27 UTC (permalink / raw)
To: Stefano Garzarella; +Cc: virtio-comment, harald.mommer
On Wed, Jun 05, 2024 at 10:42:19AM +0200, Stefano Garzarella wrote:
> On Tue, May 21, 2024 at 04:11:42PM GMT, Matias Ezequiel Vara Larsen wrote:
> > Explain when a message is out of range.
> >
> > Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
> > ---
> > * This patch applies on top of virtio-1.4, which has not been released
> > yet.
> > ---
> > device-types/can/description.tex | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/device-types/can/description.tex b/device-types/can/description.tex
> > index 2511d9c..98b163b 100644
> > --- a/device-types/can/description.tex
> > +++ b/device-types/can/description.tex
> > @@ -191,6 +191,9 @@ \subsubsection{Controller Mode}\label{sec:Device Types / CAN Device / Device Ope
> > invalid state with VIRTIO_CAN_RESULT_NOT_OK in \field{result} and MUST
> > NOT schedule the message for transmission.
> >
> > +Note that a message is out of range when a standard frame uses more than 11
> > +bits of \field{can_id} or when an extended frame uses more than 29 bits.
> > +
>
> It's not clear to me where we refer to an out-of-range message before. I
> only found "\field{can_id} or \field{sdu} length are out of range" where
> IIUC we talk about the length of certain fields is out of range. Are we
> talking about the same thing?
>
> If so, I think we should talk explicitly about the "length of the fields".
Yes, I will rephrase it by using the "length of the fields" wording.
> Also should we cover `sdu` as well?
>
I think we should cover it but I am not sure when the `sdu` length is
out of range. In the reception section (5.20.5.3), the spec states:
`If the feature VIRTIO_CAN_F_CAN_FD has been negotiated the maximal
possible sdu length is 64, if the feature has not been negotiated the
maximal possible sdu length is 8. The actual length of the sdu is
determined by the length.`
For transmission, I guess `sdu` lenght is out of range if the length
does not fulfill the requirement above but I am not sure.
Matias
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] virtio-can: define out of rage can-id
2024-06-21 14:27 ` Matias Ezequiel Vara Larsen
@ 2024-06-24 13:44 ` Stefano Garzarella
2024-06-26 11:07 ` Harald Mommer
1 sibling, 0 replies; 6+ messages in thread
From: Stefano Garzarella @ 2024-06-24 13:44 UTC (permalink / raw)
To: Matias Ezequiel Vara Larsen; +Cc: virtio-comment, harald.mommer
On Fri, Jun 21, 2024 at 04:27:41PM GMT, Matias Ezequiel Vara Larsen wrote:
>On Wed, Jun 05, 2024 at 10:42:19AM +0200, Stefano Garzarella wrote:
>> On Tue, May 21, 2024 at 04:11:42PM GMT, Matias Ezequiel Vara Larsen wrote:
>> > Explain when a message is out of range.
>> >
>> > Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
>> > ---
>> > * This patch applies on top of virtio-1.4, which has not been released
>> > yet.
>> > ---
>> > device-types/can/description.tex | 3 +++
>> > 1 file changed, 3 insertions(+)
>> >
>> > diff --git a/device-types/can/description.tex b/device-types/can/description.tex
>> > index 2511d9c..98b163b 100644
>> > --- a/device-types/can/description.tex
>> > +++ b/device-types/can/description.tex
>> > @@ -191,6 +191,9 @@ \subsubsection{Controller Mode}\label{sec:Device Types / CAN Device / Device Ope
>> > invalid state with VIRTIO_CAN_RESULT_NOT_OK in \field{result} and MUST
>> > NOT schedule the message for transmission.
>> >
>> > +Note that a message is out of range when a standard frame uses more than 11
>> > +bits of \field{can_id} or when an extended frame uses more than 29 bits.
>> > +
>>
>> It's not clear to me where we refer to an out-of-range message before. I
>> only found "\field{can_id} or \field{sdu} length are out of range" where
>> IIUC we talk about the length of certain fields is out of range. Are we
>> talking about the same thing?
>>
>> If so, I think we should talk explicitly about the "length of the fields".
>
>Yes, I will rephrase it by using the "length of the fields" wording.
>
>> Also should we cover `sdu` as well?
>>
>
>I think we should cover it but I am not sure when the `sdu` length is
>out of range. In the reception section (5.20.5.3), the spec states:
>
>`If the feature VIRTIO_CAN_F_CAN_FD has been negotiated the maximal
>possible sdu length is 64, if the feature has not been negotiated the
>maximal possible sdu length is 8. The actual length of the sdu is
>determined by the length.`
>
>For transmission, I guess `sdu` lenght is out of range if the length
>does not fulfill the requirement above but I am not sure.
mmm, I'm not sure too, indeed that is only defined for "CAN Message
Reception". Maybe we need someone more inside CAN or check the CAN
specifications.
Thanks,
Stefano
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] virtio-can: define out of rage can-id
2024-06-21 14:27 ` Matias Ezequiel Vara Larsen
2024-06-24 13:44 ` Stefano Garzarella
@ 2024-06-26 11:07 ` Harald Mommer
2024-06-26 11:22 ` Matias Ezequiel Vara Larsen
1 sibling, 1 reply; 6+ messages in thread
From: Harald Mommer @ 2024-06-26 11:07 UTC (permalink / raw)
To: Matias Ezequiel Vara Larsen, Stefano Garzarella
Cc: virtio-comment, Matti Moell
On 21.06.24 16:27, Matias Ezequiel Vara Larsen wrote:
> On Wed, Jun 05, 2024 at 10:42:19AM +0200, Stefano Garzarella wrote:
>> On Tue, May 21, 2024 at 04:11:42PM GMT, Matias Ezequiel Vara Larsen wrote:
>>> Explain when a message is out of range.
>>>
>>> Signed-off-by: Matias Ezequiel Vara Larsen<mvaralar@redhat.com>
>>> ---
>>> * This patch applies on top of virtio-1.4, which has not been released
>>> yet.
>>> ---
>>> device-types/can/description.tex | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>> diff --git a/device-types/can/description.tex b/device-types/can/description.tex
>>> index 2511d9c..98b163b 100644
>>> --- a/device-types/can/description.tex
>>> +++ b/device-types/can/description.tex
>>> @@ -191,6 +191,9 @@ \subsubsection{Controller Mode}\label{sec:Device Types / CAN Device / Device Ope
>>> invalid state with VIRTIO_CAN_RESULT_NOT_OK in \field{result} and MUST
>>> NOT schedule the message for transmission.
>>>
>>> +Note that a message is out of range when a standard frame uses more than 11
>>> +bits of \field{can_id} or when an extended frame uses more than 29 bits.
>>> +
>>
Non-extended CAN frame and can_id contains more than 11 bits (not in
range 0..7FFH) => broken.
Extended CAN frame and can_id contains more than 29 bits (not in range
0..1FFFFFFFH) => broken.
See also 5.20.3 "Feature bits", there it's mentioned but not this
prominently.
Classic CAN frame and sdu length > 8 bytes => broken.
Comes from ISO 11898-1:2015, should have been mentioned more clearly
here as it was done in 5.20.3. There is not stated that the allowed
value range is 0..8. Obvious for CAN people, not obvious for anybody else.
CAN FD frame and sdu length > 8 bytes and not in the set { 12, 16, 20,
24, 32, 48, 64 } bytes => broken.
Comes from ISO 11898-1:2015, is not obvious for people not too familiar
with CAN FD and is missing in the virtio CAN specification.
This is what was meant. Now some good wording is needed.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] virtio-can: define out of rage can-id
2024-06-26 11:07 ` Harald Mommer
@ 2024-06-26 11:22 ` Matias Ezequiel Vara Larsen
0 siblings, 0 replies; 6+ messages in thread
From: Matias Ezequiel Vara Larsen @ 2024-06-26 11:22 UTC (permalink / raw)
To: Harald Mommer; +Cc: Stefano Garzarella, virtio-comment, Matti Moell
On Wed, Jun 26, 2024 at 01:07:17PM +0200, Harald Mommer wrote:
>
> On 21.06.24 16:27, Matias Ezequiel Vara Larsen wrote:
> > On Wed, Jun 05, 2024 at 10:42:19AM +0200, Stefano Garzarella wrote:
> > > On Tue, May 21, 2024 at 04:11:42PM GMT, Matias Ezequiel Vara Larsen wrote:
> > > > Explain when a message is out of range.
> > > >
> > > > Signed-off-by: Matias Ezequiel Vara Larsen<mvaralar@redhat.com>
> > > > ---
> > > > * This patch applies on top of virtio-1.4, which has not been released
> > > > yet.
> > > > ---
> > > > device-types/can/description.tex | 3 +++
> > > > 1 file changed, 3 insertions(+)
> > > >
> > > > diff --git a/device-types/can/description.tex b/device-types/can/description.tex
> > > > index 2511d9c..98b163b 100644
> > > > --- a/device-types/can/description.tex
> > > > +++ b/device-types/can/description.tex
> > > > @@ -191,6 +191,9 @@ \subsubsection{Controller Mode}\label{sec:Device Types / CAN Device / Device Ope
> > > > invalid state with VIRTIO_CAN_RESULT_NOT_OK in \field{result} and MUST
> > > > NOT schedule the message for transmission.
> > > >
> > > > +Note that a message is out of range when a standard frame uses more than 11
> > > > +bits of \field{can_id} or when an extended frame uses more than 29 bits.
> > > > +
> > >
> Non-extended CAN frame and can_id contains more than 11 bits (not in range
> 0..7FFH) => broken.
>
> Extended CAN frame and can_id contains more than 29 bits (not in range
> 0..1FFFFFFFH) => broken.
>
> See also 5.20.3 "Feature bits", there it's mentioned but not this
> prominently.
>
> Classic CAN frame and sdu length > 8 bytes => broken.
>
> Comes from ISO 11898-1:2015, should have been mentioned more clearly here as
> it was done in 5.20.3. There is not stated that the allowed value range is
> 0..8. Obvious for CAN people, not obvious for anybody else.
>
> CAN FD frame and sdu length > 8 bytes and not in the set { 12, 16, 20, 24,
> 32, 48, 64 } bytes => broken.
>
> Comes from ISO 11898-1:2015, is not obvious for people not too familiar with
> CAN FD and is missing in the virtio CAN specification.
>
> This is what was meant. Now some good wording is needed.
>
>
Thanks Harald! I'll add it in v1.
Matias
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-06-26 11:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-21 14:11 [PATCH] virtio-can: define out of rage can-id Matias Ezequiel Vara Larsen
2024-06-05 8:42 ` Stefano Garzarella
2024-06-21 14:27 ` Matias Ezequiel Vara Larsen
2024-06-24 13:44 ` Stefano Garzarella
2024-06-26 11:07 ` Harald Mommer
2024-06-26 11:22 ` Matias Ezequiel Vara Larsen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox