You are right. Probably(As I have not designed the API, let me use probably), PMTU would be a configuration parameter. NetworkInterface.getMTU() can help here. Although MTU is not PMTU, but it is normally "correct". In case of corner cases where the configured MTU does not work, probably, the implementation of DTLSEngine can downgrade the size of PMTU automatically.
Therefore, it is a two steps thing. Configurable parameter, and adjustable if the configured value does not work. It would be great if there is PMTU discovery API in Java, which can simplify the implementation of DTLS. Xuelei On 3/21/2014 2:31 AM, Bradford Wetmore wrote: > > On 3/19/2014 5:50 PM, Xuelei Fan wrote: >> I was wondering to expose this >> application layer as a configurable parameter. > > Just to make sure we're talking about the same thing, you're pointing out: > > 1. The need for determining the PMTU for the various protocol types. > (UDP/DCCP/TCP/SCTP/etc) > > 2. Communicating that to the JSSE layer. Since the current plan is for > this DTLS impl to be transport protocol-independent, I think needs to be > configurable primarily at the JSSE API. You could take a guess at a > default PMTU, but the answer likely won't be right for all. > > Brad >