: Why not just take max of both counters. I.e. cluster member sends
: following counters:
: 
:       - host_a_out_id = Message ID I plan to use next (i.e. last
:         message id + 1) 
:       - host_a_in_id = Largest Message ID I have received from you 
: 
: Then the client has host_b_out_id (Message ID client plans to use next
: (i.e. last message id + 1), and host_b_in_id (Largest message ID he
: has seen from the cluster members) and will send:
: 
:       - max(host_a_out_id, host_b_in_id)
:       - max(host_a_in_id, host_b_out_id)
: 
Isn't this what the -02 draft specifies?

...
   o  The active member dies, and a standby member takes over.  The
      standby member sends its own idea of the IKE Message IDs (both
      incoming and outgoing) to the peer in an Informational message
      exchange with Message ID zero.
   o  The peer first authenticates the message and then validates the
      failover count.  The peer compares the received values with the
      values available locally and picks the higher value.  It then
      updates its Message IDs with the higher values and also propose
      the same values in its response.
...

: Now the real question is what are we going to do with the exchanges
: which are still in progress when the sync message is received, and how
: do we recover when we notice that we do have missed IKE messages,
: meaning we have created, rekeyed or deleted some Child SA in those
: messages we lost because of failover. 
:
Draft specifies what to do here as well, at least partly.  Also note that 
you may never notice missed IKE messages because they happened in the 
failed cluster node.  Normal crash recovery takes care of any desync 
problems that may have happened.

...
   o  The peer should not wait for any pending responses while
      responding with the new Message ID values.  For example, if the
      window size is 5 and the peer's window is 3-7, and if the peer has
      sent requests 3, 4, 5, 6, 7 and received responses only for 4, 5,
      6, 7 but not for 3, then it should include the value 8 in its
      EXPECTED_SEND_REQ_MESSAGE_ID payload and should not wait for a
      response to message 3 anymore.
   o  Similarly, the peer should also not wait for pending (incoming)
      requests.  For example if the window size is 5 and the peer's
      window is 3-7 and if the peer has received requests 4, 5, 6, 7 but
      not 3, then it should send the value 8 in the
      EXPECTED_RECV_REQ_MESSAGE_ID payload, and should not expect to
      receive message 3 anymore.
...

Are the Security Considerations in the draft valid anymore at all?  And 
are the nonce and failover count needed?  Yaron wanted to eliminate these, 
and I'm all for it.

        Pekka
_______________________________________________
IPsec mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to