On Fri, 3 Sep 2010, Pekka Riikonen wrote:

: something like next_message_id += window_size / 2, and be happy. Though,
: implementation must ensure it never sends more than the increment (that's why
: window size of 1 doesn't work to begin with).  Why was the window size defined
: by default to 1 anyway?  Is there a reason why this wouldn't work?
:
This doesn't actually work.  I think I'm seeing some ambiquity in the spec 
when window size > 1.  But, there's still ways to make this work easier 
than with new exchange.

We could add new RESET_WINDOW notify that, when received inside a valid 
window will reset the left side of the window to the value requested.  In 
failover (assuming window size > 1), the online node can send the 
notification to reset the window to the new value.  Responder clears the 
old states in the window as initiator has now deemed them lost.   
Responder must reply with its N(RESET_WINDOW).

At the same time we should add GET_WINDOW_SIZE notify which initiator can 
use to request/require responder to set the window size.  Responder SHOULD 
respond with SET_WINDOW_SIZE of at least the same size.  So when initiator 
sends its N(SET_WINDOW_SIZE) it could at the same time require the 
responder to send it too.

All these notifications in the ikev2bis should be "MUST be supported".  

And then of course there's the poor man's way, where implementation after 
the failover could keep sending empty INFORMATIONAL's with new message 
ids, and wait until it receives response.  It now knows the message ids 
to both directions.  This requires that the message ids are synced in the 
cluster after every packet, so that node has recent values in the 
failover.

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

Reply via email to