QUIC datagram draft support?

QUIC support in Network framework in iOS 15 and macOS 12 seems to be aware of the datagram draft, but there doesn’t seem to be any way to configure NWProtocolQUIC.Options to set the datagram transport parameter (0x20).

If I configure the server to send a datagram to a Swift client, it closes the connection with a PROTOCOL_VIOLATION frame with the error message "DATAGRAM frame size too big".

Given that Eric Kinnear at Apple is an author of the datagram draft, is support for this intentionally missing?

https://www.ietf.org/archive/id/draft-ietf-quic-datagram-03.html

You can see a minimal example here: https://github.com/alta/swift-quic-datagram-example

Thanks!

Answered by shaderlab in 683799022

Howdy @meaton! Any update?

I am doing some digging regarding this question. I will follow up when I have more information to share.

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com
Accepted Answer

Howdy @meaton! Any update?

Can you go ahead and open a bug report on this and I can try to follow up internally. Please respond back with Feedback ID.

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com

I filed a bug report on this after beta 1 came out: https://feedbackassistant.apple.com/feedback/9184997 I believe it’s also visible here: rdar://79423130 Thanks

I didn't realize that there was already a bug report for this. It looks like you bug report is in the right hands however there is no timeline that can be provided here.

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com

As an update to this thread, new QUIC options have landed in the new beta releases for NWProtocolQUIC. There now is maxDatagramFrameSize and isDatagram that are in NWProtocolQUIC.Options, and usableDatagramFrameSize in NWProtocolQUIC.Metadata. Try these out and update the Feedback with the results.

QUIC datagram draft support?
 
 
Q