Subject: [tsvwg] draft-ietf-tsvwg-datagram-plpmtud-02: What to do with PTB > PLPMTU

From: Magnus Westerlund <[email-masked]>
Date: Mon, 2 Jul 2018 11:06:33 +0200

Hi,

Due to discussion started by Igor Lubashev on PLPTMUD for QUIC on the 
QUIC WG mailing list an issue that this draft can address is what to do 
when PTB messages that are verified indicate a PTB_SIZE < PLPMTU.

The draft currently says:

3.3. Reducing the PLPMTU: Confirming Path Characteristics

    If the DPLPMTUD method detects that a packet with the PLPMTU size is
    no supported by the network path, then the DLPMTUD method needs to
    validate the PLPMTU. This can happen when a validated PTB message is
    received, or another event that indicates the network path no longer
    sustains this packet size, such as a loss report from the PL

    All implementations of DPLPMTUD are REQUIRED to provide support that
    reduces the PLPMTU when the actual PMTU supported by a network path
    is less than the PLPMTU.

Section 4.9 says:

    PROBE_DONE: The PROBE_DONE state indicates a successful end to a
       probing phase.  DPLPMTUD remains in this state until either the
       PMTU_RAISE_TIMER expires or a received PTB message is verified.

However, I don't find any text saying what to do when the PTB message is 
received.

Is the intention to go to PROBE_BASE and then probe up again, or the 
more efficient to perform PROBE_SEARCH starting at PTB_SIZE?

As a more general comment, I get confused by the PTB related arrows in 
the state diagram in Section 4.9.

A. I don't understand why PTB (>= BASE_PMTU) goes from PROBE_BASE to 
PROBE_DONE? For my perspective such a message can't arise from a 
PROBE_BASE action. It should only arise when doing PROBE_SEARCH.

B. Also I don't understand PTB (< PROBED_SIZE) from PROBE_SEARCH to 
PROBE_BASE.
1. Shouldn't this event be PTB < PLPMTU?
2. or if PLPMTU < PTB_SIZE < PROBED_SIZE re-enter PROBE_SEARCH with 
PROBED_SIZE = PTB_SIZE?
3. And if PLPMTU < PTB_SIZE < PLPMTU + CLOSE_ENOUGH declare PROBE_DONE. 
Where CLOSE_ENOUGH is the number of bytes that you consider close enough 
to not probe again.

Comment B.2 and B.3 are related to that there appear no indication in 
the diagram for how to get to PROBE_DONE base on PTB. Although the state 
text for PROBE_SEARCH says the not so clear:

       The state is exited when the PROBE_COUNT
       reaches MAX_PROBES; a PTB message is verified; or a probe of size
       PMTU_MAX is acknowledged.

Cheers

Magnus Westerlund

----------------------------------------------------------------------
Network Architecture & Protocols, Ericsson Research
----------------------------------------------------------------------
Ericsson AB                 | Phone  +46 10 7148287
Torshamnsgatan 23           | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: [email-masked]
----------------------------------------------------------------------