Yaron Sheffer writes:
> Hi Tero,
> 
> I was ready to accept your answer, until I came across the following
> sentence in -07. 
> 
> "Payloads are processed in the order in which they appear in an IKE
> message by invoking the appropriate processing routine according to
> the "Next Payload" field in the IKE header and subsequently
> according to the "Next Payload" field in the IKE payload itself
> until a "Next Payload" field of zero indicates that no payloads
> follow." 

That says there is nothing in the spec which requires you to do out of
order payload processing. It does not say you cannot do that, and as
there is not really anything where the result would be different
depending in which order you process payloads the way implementation
processes payloads does not really matter.

On the other hand the parsing needs to be done in the order the
payloads are in the packet (it would be very hard to do in any other
order :-), and if the parsing causes for example
UNSUPPORTED_CRITICAL_PAYLOAD, then that should be sent before the rest
of the payloads are parsed (i.e. the first unsupported critical
payload should trigger that error). 

> This seems to say exactly what I was proposing! Did I miss another
> statement in the document where we say the opposite (that payload
> order doesn't matter)? 

Nope, but the text above does not forbid any other processing order,
as long as the end result will be same, or at least this is how I have
interpreted it.

The text is not MUST in interoperability sense, it is just text
explaining how the processing of packets happens, and as there is not
really a way to detect how the implementation processes packets from
the outside, it does not need MUST in interoperability sense.

Your text would add MUST in interoperability sense, and I would like
to see how you are going to test that some product really supports
that MUST. 
-- 
kivi...@iki.fi
_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to