<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Aug 14, 2016 at 12:25 AM, Guy Harris <span dir="ltr"><<a href="mailto:guy@alum.mit.edu" target="_blank">guy@alum.mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Aug 13, 2016, at 8:57 PM, Serge Aleynikov <<a href="mailto:serge@aleynikov.org">serge@aleynikov.org</a>> wrote:<br>
<br>
> ​So, with this revision, let's ​modify the layout of this option type, and also for the purpose of preserving alignment, let's keep the code/value 2 octets each:<br>
><br>
> ​ 0                   1                   2                   3<br>
>  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1<br>
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-<wbr>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-<wbr>+-+-+<br>
> |0 0 1|      Option Code        |         Option Value          |<br>
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-<wbr>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-<wbr>+-+-+<br>
><br>
> Hence, revised option codes become (with added apb_iface_id option):<br>
><br>
> Options:<br>
>    Name          Code    Length  Multiple?  Description<br>
>    apb_opt_size  0x2001  -       no         Total byte size of options<br>
>    apb_orig_len  0x2002  -       no         Packet's Original Length<br>
<br>
That means that the APB can't be used if the original length was > 65535.<br>
<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Preserving alignment for short options might not be *that* important if supporting packets > 65535 bytes in length *is* important.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">​</div><span style="font-family:arial,helvetica,sans-serif">​But how practical is it to have a packet whose size is > 64k?  TCP/UDP is limited to 64k.</span></div><div><span style="font-family:arial,helvetica,sans-serif"><br></span></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">If we go with the unaligned option value (3 octets), and 1 octet for the option code, then given the loss of 3 highest bits, that leaves only 5 bits for option values, leaving only 32 possible choices, which is still plenty.</div></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline"><br></div></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">So if unaligned layout is acceptable that would be preferable.</div></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline"><br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">>> There's no ​​FCS length field; do these packets have an FCS iff the "FCS length" field for interface 0's IDB is non-zero (so that all packets for that interface, whether they were transmitted by this host or received by this host, either have an FCS or don't have an FCS)?<br>
><br>
> ​Wouldn't that frame check sequence be part of the packet data?<br>
<br>
Yes, but there needs to be a way to indicate whether it's present, as it's not *always* part of the packet data.  For the EPB, there's both the IDB indication and a per-frame indication, in case either<br>
<br>
        1) the FCS length changes over time (e.g., if the presence or size are changed by negotiation in the middle of a PPP connection)<br>
<br>
or<br>
<br>
        2) not all frames have an FCS (e.g., if received frames have one but transmitted frames don't).<br>
<br>
For the SPB, the FCS must be present, or absent, in all frames, and, if it's present, it must have the same length in all frames, as there's no per-frame indication.<br>
<br>
For the APB, if there's no per-frame FCS indication, it must be present, or absent, in all frames, and, if it's present, it must have the same length in all frames.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">​So, introduce another short option code for presence of the FCS indication, or reserve a bit #12 in the apb_flags option?</div></div></div></div></div>