Subject: Re: [Ice] Benjamin Kaduk's Discuss on draft-ietf-ice-pac-04: (with DISCUSS and COMMENT) - DISCUSS

From: Christer Holmberg <[email-masked]>
Date: Wed, 22 Apr 2020 10:45:25 +0000

Hi Benjamin,

Thank You for the review! In this reply I will give some initial thoughts on your DISCUSS. I will address your COMMENT issues in another reply.

    ----------------------------------------------------------------------

    DISCUSS:

    ----------------------------------------------------------------------

>    I think we may have to be more specific about updates to the RFC 8445 state

>    machine, namely whether we are specifying a new state for a checklist to be

>    in (vs. keeping it somehow in the "Running" state and modifying the

>    procedures for that state) and describing what happens in Section 7.2.5.4

>    when all candidate pairs in the checklist are Failed or Succeeded but the

>    PAC timer has not expired.  In other words, the combination of 8445 and this

>    document need to be consistent about what the ICE state machine is.

>    In contrast, Trickle is pretty clear about which conditions in which

>    sections of [rfc5245bis] are updated and how, but we don't seem to provide

>    the same level of detail.

I don't think we need a new state, but instead stay in the Running state while the PAC timer is still running.

So, I guess we can make it more explicit that we stay in the Running state, as the text currently only say that the state is not set to Failed.

Perhaps something like:

OLD:

   "While the timer is running, the ICE agent MUST NOT set the state of a

   checklist to Failed, even if the checklist has no pairs left to

   check.  As a result, the ICE agent will not remove any data streams

   or set the state of the ICE session to Failed as long as the timer is

   running."

NEW:

  “While the timer is still running, the ICE agent MUST NOT update a checklist state

  from Running to Failed, even if there are no pairs left in the checklist to check.

  As a result, the ICE agent will not remove any data streams or set the state of the

  ICE session to Failed as long as the timer is running. As a result, the ICE agent will

  not remove any data streams or set the state of the ICE session to Failed as long as

  the timer is running."

Regards,

Christer

---

From: Benjamin Kaduk <[email-masked]>
Date: Thu, 23 Apr 2020 19:20:23 -0700

Hi Christer,

> Thank You for the review! In this reply I will give some initial thoughts on your DISCUSS. I will address your COMMENT issues in another reply.

That may well be enough; I don't have the ICE state machine very fresh in
my mind right now :)

It looks like in https://tools.ietf.org/html/rfc8445#section-6.1.4.2 if
we're forced to stay in the Running state by PAC, then we'll hit step 4 and
its "abort these steps" behavior ... which would just leave us still
Running and waiting for the next timer to expire, right?  That seems
correct to me.

Thanks,

Ben

---

From: Christer Holmberg <[email-masked]>
Date: Fri, 24 Apr 2020 07:37:30 +0000

Hi,

    >>    running.
    
    Yes.

    Regards,

    Christer