Hi Paul,

 

On Mon, Jul 29, 2024 at 6:18 AM Valery Smyslov < 
<mailto:smyslov.i...@gmail.com> smyslov.i...@gmail.com> wrote:

Hi,

I have some comments on draft-pwouters-ipsecme-delete-info that I tried to
express at IETF120,
but due to lack of time they were not responded to.

1. I'm very much concerned with the "Delete Reason Text" field. My primary
question - 
    in what language this free text explanation is supposed to be? I suppose

    it is assumed to be English, but why do you think all customers in the
world understand English well enough
    for this field to be really useful? If arbitrary language is allowed,
then we need to add a language tag,
    otherwise it is generally impossible to even recognize what language the
text is in.
    And allowing arbitrary language makes this field even less useful.

 

The idea is that the provider uses some language it knows the receiver would 
understand, in addition

to the enum. Computers and UIs can be use the ENUM, and I expect most people 
would not need

or want custom text. However, when presented at IETF119 the group was split. 
Half wanted an enum

and half wanted free flow text. This was the compromise.

 


    In general, I think it is a bad idea to transmit text strings to be read
by users in a low level
    protocol which IKEv2 is. This is an UI issue, and it is the UI that
should properly display to the user in a user
    chosen language what is happening.

 

In general, I agree. Although I could also see the freeform text to perhaps but 
in some more details

that could make debugging easier.

 

         As I wrote in the message to Chris, if we use any human-readable text 
in the protocol,

         then we MUST support multiple languages to be compliant with BCP18 
(RFC2277, Sections 4.4, 4.2).

         This is what “Typical ART Area Issues” page 
(https://wiki.ietf.org/group/art/TypicalARTAreaIssues) 

requires to check when doing ART review. I really don’t want to open this I18N 
can of worms L

 

         And in this case the text won’t always help much. Will you understand 
what is happening if I send you:

 

Сервер отключен для пусконаладочных работ, включим после дождичка в четверг

 

         Will it help your debugging? I doubt.

 

2. The list of reasons looks to me both incomplete and excessive at the same
time.
    For example, CONFIGURATION_CHILD_REMOVED and CONFIGURATION_IKE_REMOVED
    are not needed, since you either delete IKE SA or Child SA in a single
exchange, so it is 
    always clear what configuration is removed and only one such reason
would suffice. 

 

This is not about the current instance of the exchange but about the local 
configuration. It basically

says "this one tunnel is no longer configured" vs "the entire config for the 
peer has been removed".

 

         OK, this is not clear from the draft (that increases my concerns that 
without

         direct (phone) contact with the peer these reason have little value).

 

    SIMULTANEOUS_REKEY adds no new information,
    since you always understand this reason from local logs. On the other
hand,
    it is not specified what to indicate in the reason when ESP SA is being
deleted
    in response to deleting the tied ESP SA for the other direction.

 

In general yes, but again we have seen race conditions and uncertainly, where I 
think it would have

helped debugging if this reason was explicitly logged as part of the exchange. 

 

         Can you please provide an example or give more detailed explanation 
how this can happen?

         From my understanding of IKEv2 it is always known from the local logs

         which SA is deleted as erroneous in case of simultaneous rekey. Am I 
missing something?

 

   In general, I think that indicating the reason the SA is deleted doesn't
help much the user much.
   In many cases it can be inferred from local logs. And if it cannot, then
you probably 
   will to contact the other end in any case to get more detailed
information on the reason, 
   in which case sending the reason on the wire has little value.

 

The point of this reason is to put the Exec Summary of that phone call in the 
payload :)

 

         This is not really needed. The only information that is needed for the 
phone call is SPI of the SA.

 

And perhaps entities that don't answer the phone (eg hyperscale cloud 
providers) would

populate those automatically, since they are usually not reachable by phone :)

 

         Yes, but what you do with the reason information in this case?

         Either the deletion is expected (you may guess the reason or knows it 
for sure) or not.

         In the latter case, when the peer behaves strangely to you (suddenly 
deletes SA with no clear reason)

         you either live with this or still have to reach out to the peer by 
phone.

         Even if peer sends you  CONFIGURATION_IKE_REMOVED won’t 

         you try to phone and ask “What the hell?! Why did you deny my access?”

 

If you don't think it is useful, by all means don't send it and ignore it when 
received.

Some of my customers have explicitly asked for this, so there is a need 
(unreasonable or not :)

 

         I see your. Customers sometimes have very strange (and creative L) 
ideas.

         But then please change the intended status to Informational (the draft 
now is Proposed Standard),

         so that I have my conscience clear when choose not to implement it J

 

3. Perhaps the most useful field is Downtime. But thinking more about this,
   I believe that since this value is only a hint, you will probably not
trust it.
   For example, if you have to communicate to the peer ASAP and it deletes
   SA indicating that downtime is 1 hour, you will not wait for all this
time,
   you will try to establish new SA every minute (it costs you nothing, but
   you have a chance to get it up earlier).

 

It is not about trust, it is all about hints. If this field says "60" and the 
enum says REBOOT, you

might just wait a minute or just let the system retry as it. If it says "3600" 
with OTHER with "replacing

broken hardware", you might decide you want to redirect the tunnel to a 
fallback solution.

 

         I see. It won’t help those poor who was down when the hardware started 
been replaced – 

         they never receive this announcement and won’t know why the cannot 
connect J

 

         Regards,

         Valery.

 

Paul

_______________________________________________
IPsec mailing list -- ipsec@ietf.org
To unsubscribe send an email to ipsec-le...@ietf.org

Reply via email to