Hi Michael,

Thanks for the review, q's, comments, and changes inline..

> On Feb 14, 2021, at 11:45 PM, Michael Richardson <mcr+i...@sandelman.ca> 
> wrote:
> 
> Signed PGP part
> 
> I have read draft-ietf-ipsecme-iptfs before it was adopted, and during the
> adoption call, but have been busy.  So I have read it again today from
> beginning to end before tackling the long thread that has developed.
> 
> EXEC SUM: I think that the document is not ready.
>     There are a lot of MAYs and future work thoughts on the sender.
>     That's fine.  But, in order for future senders to know what's legal and
>     what's not, what we really need is a clearly articulated Receiver State 
> Machine.
>     I suggest that this is pretty important.

What did you have in mind? There are purposefully no restrictions for the 
receiver to enforce. From section 2:

  The egress (receiving) side of the IP-TFS tunnel MUST allow for and
  expect the ingress (sending) side of the IP-TFS tunnel to vary the
  size and rate of sent encapsulating packets, unless constrained by
  other policy.

> ===
> 
> The first sentence of the Abstract needs rework.
> The words "security" and "confidentiality" are used, but really it's about
> traffic analysis.  So, if there is anything with increased confidentiality,
> it's the pattern, right?  Abstracts are really hard to write.
> Ah, the problem is that "traffic flow security" is not the term,
> it's traffic flow confidentiality, and it is not capitalized!
> So, that would help, but... it's not defined yet.
> 
> I suggest the following terms be added to section 1.1.
> - TFC

Capitalized and "acronymized" TFC and called it out specifically now:

   This document assumes familiarity with IP security concepts including Traffic
   Flow Confidentiality as described in [RFC4301].

> * I'm glad you recommend PLMTUD, I suggest PMTUD is dead.
>  How do use PLMTUD?  Will you tell us later in the document, or is that new 
> work?
>      (does not look like you tell us)

I believed it was enough to just reference the mechanism (as we do for PMTUD as 
well). This was added during the transport area review.

> 
> * You are using "CamelCase" for variables, I found that jarring.
>  I wondered what rfc4303 used, but found nothing.
>  RFC7296 uses UPPER_CASE.
>  RFC7296 does not use _ for field names.
>  I might prefer snake_case, but whatever...

You must not like Python very much. :) I used UPPER_CASE for constants as 
that's what seemed to be the prior art in ipsec. For field names camel case 
seemed to work pretty good differentiates them from constants and 
non-actual-field references. I could add spaces instead of using CamelCase if 
you think this is important, though.

> 
> * I would prefer "If BlockOffset != 0" rather than
>    Conversely, if the "BlockOffset" value is non-zero it points to the

Usually I don't use "=" or "!=" in text. I'd prefer to leave this as is, 
otherwise when reconciling that change with the rest of the text e.g.:

   The "BlockOffset" value is either zero or some offset into or past
   the end of the "DataBlocks" data.

Becomes

   The "BlockOffset" == 0 or some offset into or past the end of the 
"DataBlocks" data.

Doesn't seem correct to mix and match like that.


>>  The "BlockOffset" can point past the end of the "DataBlocks" data
>>  which indicates that the next data block occurs in a subsequent
>>  encapsulating packet.
> 
> I guess, it the actual value does not matter: it's not remembered.
> As long it is bigger than the packet, it's good.  So 0xffff probably works?

Your right it just has to point past; however, it helps to have it point to the 
exact ending when implementing (the code is easy to implmeent and it caught 
multiple bugs for me as well).

>> 2.2.2.  No Implicit End Padding Required
> 
> -- I think you are telling me that the IPv4/IPv6 length field is good enough
>   to find the end of the packet.  If not, I didn't quite understand.

You understood.

>   Later in 6.1, I learn that AGGFRAG_PAYLOADS are squatting on 'IPv5'
>   I hope this will be acceptable :-)
>   I think it's a reasonable hack, and I don't see us wrapping around
>   IP versions within a hundred years, soooo...
>   And pad blocks are "IPv0"
> 
>> This possible interleaving of all-pad
>>   payloads allows the sender to always be able to send a tunnel packet,
>>  regardless of the encapsulation computational requirements.
> 
> I think that you are telling me that a sender can have some pad packets being
> created regularly (perhaps on a CPU dedicated to this) and almost ready to
> send, and the pad packet is just replaced by real data if it happens to be
> ready.

You understood perfectly.

> 
> Please split 2.2.5 up by flag type into subsubsubsection.

Done.

> 2.4.21: Maybe need to briefly explain circuit breakers to us 
> non-transport-types.

I think the reference should serve here. I try to avoid paraphrasing other 
documents as one often just gets it wrong (i.e., prefer a single source of 
truth). :)

> 
>> If the SA back to the sender is a non-
>>   AGGFRAG_PAYLOAD enabled SA then an AGGFRAG_PAYLOAD empty payload
>>   (i.e., header only) is used to convey the information.
> 
> is this really worth supporting?

It doesn't take much to continue to allow for unidirectional use at the lowest 
layer (ESP/SA). It isn't relevant once you get to IKE where bidirectionality is 
required.

> Please break up third paragraph.

Done.

Thanks again for the review!

Chris.

> 
> =====
> 
> 
> 
> 
> 
> 
> 
> --
> Michael Richardson <mcr+i...@sandelman.ca>   . o O ( IPv6 IøT consulting )
>           Sandelman Software Works Inc, Ottawa and Worldwide
> 
> 
> 
> 
> 
> 

Attachment: signature.asc
Description: Message signed with OpenPGP

_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to