rtcweb-wg / rtcweb-transport

draft-ietf-rtcweb-transport
2 stars 2 forks source link

Guidance on when not to discard IPv6 deprecated addresses #44

Closed alvestrand closed 7 years ago

alvestrand commented 7 years ago

This conversation was lost when #22 was closed.

>
> In this text
>
>    If some of the temporary IPv6 addresses, but not all, are marked
>    deprecated, the client SHOULD discard the deprecated addresses.
>
> I would find some explanation of why this is a SHOULD to be helpful ("if
> some of the addresses are deprecated, and you could discard them because
> you still have addresses that are not marked deprecated, why would you
> not discard the deprecated addresses?").
>

I'm attaching this comment to
https://github.com/rtcweb-wg/rtcweb-transport/issues/22, since it is the
same block of text.

My memory (always less than trustworthy) says that people raised the
issue of "what if there's an ongoing connection using a deprecated
address, there's no non-deprecated useable address available, shouldn't
we keep the in-use address in the pool?" (otherwise we'd lose the
connection at an ICE restart, even though the address still worked) -
with the response being something like "this is complicated, we'll get
experience to see if this is ever a real case, but let's make it a
SHOULD so that if people figure out that the problem is real, they'll
not be in formal non-conformance".

This is the SHOULD version that means "it's a really good idea to do
this, but we're not sure we've identified all the corner cases where
it's a good idea not to; in case you encounter one, go ahead and be my
guest".

So, would it be correct to say, "the client SHOULD discard the deprecated addresses unless they are used in an ongoing connection"?

That works for me, given that it calls out a specific case I think was raised, and continues to use SHOULD. I'll add this.

alvestrand commented 7 years ago

The whole paragraph now reads (-16):

If some of the temporary IPv6 addresses, but not all, are marked deprecated, the WebRTC endpoint SHOULD discard the deprecated addresses, unless they are used by an ongoing connection. In an ICE restart, deprecated addresses that are currently in use MAY be retained.