You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to send DTLS packet with size about 8500 bytes but the DTLS server can't receive it and indicates error:
"dtls temporary: packet length and declared length do not match"
I checked the source codes and found that in the function: UnpackDatagram, the capacity of the buffer is 8192 bytes so when the size of the DTLS record layer is larger than 8192 bytes it can not be processed and will be discarded.
And in udp/conn.go it hardcodes this buffer size as:
const (
receiveMTU = 8192
defaultListenBacklog = 128 // same as Linux default
)
Just wonder why set the value as 8192, does any RFC define this value? So must we fragment the DTLS packets on the client side?
Thanks.
The text was updated successfully, but these errors were encountered:
I'm trying to send DTLS packet with size about 8500 bytes but the DTLS server can't receive it and indicates error:
"dtls temporary: packet length and declared length do not match"
I checked the source codes and found that in the function: UnpackDatagram, the capacity of the buffer is 8192 bytes so when the size of the DTLS record layer is larger than 8192 bytes it can not be processed and will be discarded.
And in udp/conn.go it hardcodes this buffer size as:
const (
receiveMTU = 8192
defaultListenBacklog = 128 // same as Linux default
)
Just wonder why set the value as 8192, does any RFC define this value? So must we fragment the DTLS packets on the client side?
Thanks.
The text was updated successfully, but these errors were encountered: