Hi Jonathan,

I agree with you in the second point and this is what I meant when I wrote
my message about the termination Header IE.
Therefore I think the next paragraph is the most clarifying thing I have
read:

>It is also clear that in the absence of encryption, it is possible to
decipher between Header IEs and Payload IEs.  For Header IEs, Figure >48n
shows that Bit 15 is always set to 0.  For Payload IEs, Figure 48o shows
that Bit 15 is always set to 1.  For that reason, including a >List
Termination IE at the end of the Header IE list is redundant in the absence
of encryption.

Therefore, if you take the Beacon format from the minimal and compare it
with what the current standard specifies, you conclude that in absence of
encryption, if the Header IE list termination is included, you are actually
wasting 4 bytes when you do not need to do so.

In response to some of the answers, I did not say that Header IE list
termination is not used or necessary, of course it is used but when needed
and that is ( taking one of the Tero's answer ):

>5.2.4.22 IE List Termination IE

        The Header IE list is terminated with an IE List Termination
        IE (ID = 0x7e or 0x7f) that has a content length of zero.
        Explicit termination is required after a Header IE if there is
        one or more Payload IEs (0x7e), or MAC payload (0x7f),
        following the Header IE list. If an unformatted payload
        follows the Payload IE list, then the payload IE list is
        terminated with a list termination IE (ID = 0xf) that has a
        content length of zero. Otherwise the terminator may be
        omitted.

>I.e. no header termination IE is needed if there is nothing coming
>after it. The 0x7e is needed if there is Payload IEs after Header IEs,
>and 0x7f is needed if there is no Payload IEs, but there is payload
>after it

So it is used in order to determine, *when you have Header IEs*, what type
of payload follow the Header IEs.
Once more, taking the Beacon which is showed in the minimal document, there
you have a beacon which contains:
- Header IEs not present.
- Payload IEs present and not encrypted (  In the current standard the IEs
Payload within the beacon are not encrypted, please see table 53 from the
standard where it is specified that the private payload is the Beacon
payload and not the entire MAC payload ).
- Beacon payload not present.
So, what is the need to add a Header IE termination list? There is not.

And in case of having security activated for that beacon, the Header IE
termination list is required if:
- There is encrypted beacon payload ( MAC Payload = IEs Payload + Beacon
Payload ).
- There are Payload IEs and they are encrypted ( In the current standard
the IEs Payload within the beacon are not encrypted, please see table 53
from the standard where it is specified that the private payload is the
Beacon payload and not the entire MAC payload ).

It would be nice to clarify some of these points.

Jose.
_______________________________________________
6tisch mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/6tisch

Reply via email to