Repository navigation
Conversation
Aligns the abstract Event class with draft-ietf-quic-qlog-main-schema-14 Section 7, which adds the optional top-level tuple (TupleID) and system_info (SystemInformation) fields.
protocol_types was removed from CommonFields in draft-ietf-quic-qlog-main-schema-10 (event_schemas on Trace/TraceSeq replaces it), and reference_time is an optional field per Section 7.5.
Per draft-ietf-quic-qlog-main-schema-14 Section 9.1, the info, debug and verbose loglevel events have a single required message field and no code field (code remains only on error and warning).
draft-ietf-quic-qlog-quic-events-13 splits the old frames_processed event into three (frames_created, frames_parsed, frames_processed), all with a frames array and an optional packet_numbers array. Also fixes packet_numbers to be an array of packet numbers rather than a scalar.
The trigger enum is now idle_timeout, application, error, version_mismatch, stateless_reset, aborted, unspecified. The clean and handshake_timeout values were removed; quiche maps a graceful (NoError) close to no trigger and a failed handshake to idle_timeout.
quic-events-13 (via cloudflare#498) renamed the owner field to initiator and makes it a required field.
quic-events-13 defines the packet_received trigger value as keys_available (a packet buffered because it could not previously be decrypted), replacing the incorrect keys_unavailable.
quic-events-13 defines the additional packet_dropped trigger values duplicate and key_unavailable.
Replaces the placeholder CryptoError enum with the string form defined by quic-events-13 (text matching crypto_error_0x1XX).
Renames three ApplicationError variants so their serialized values match h3-events-13: http_frame_unexpected, http_request_incomplete, and http_request_rejected.
h3-events-13 adds the ORIGIN frame (RFC 9412). Adds the Origin variant to Http3Frame with an origin_entries array of Http3OriginEntry.
The h3-events-13 schema removes the top-level length and raw fields from frame_created and frame_parsed. Preserve the byte length quiche logs by relocating it into the frame's own RawInfo.
Reflow the mark_closed match introduced when aligning ConnectionClosedTrigger, which was committed unformatted.
The h3-events-13 schema removes the datagram field from datagram_created and datagram_parsed, leaving quarter_stream_id and the optional raw info.
Add the http namespace from h3-events-13: capsule_created and capsule_parsed events carrying an HttpCapsule (datagram or unknown), wired into EventType, EventData and importance mappings.
Advance the schema URIs to quic-13, http3-13 and loglevel-14, and add the http-13 URI for the newly added Capsule Protocol namespace.
The main schema defines VantagePointFlow as client/server/unknown, excluding network. Use a dedicated enum for the flow field instead of reusing VantagePointType, which allowed the invalid network value.
Update event schema URIs, replace IP/port pairs with IPAddressPort, rename datagram_id to datagram_payload_checksum, drop frames_processed and PacketHeader.length, add quic:datagram_dropped, fix event names (udp_datagram*, key_discarded), make parameters_set initiator required, and sync HTTP/3 settings, ORIGIN raw and error codes.
… values Add required stream_side to stream_state_updated, add the reset_stream_at frame, rename handshake_completed to handshake_complete and scheduled to scheduling, and log HTTP/3 settings with the settings_* names plus reserved/unknown and name_bytes.
The main schema defines serialization_format as a media type. Write application/qlog+json-seq instead of JSON-SEQ for sequential files.
Reorder Event, CommonFields, Http3Frame, QuicFrame, QuicFrameTypeName, QuicEventType, StreamType and StreamState to match the CDDL order. Event and CommonFields now serialize time_format before group_id.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR updates the qlog crate and its dependents to match the latest drafts:
It supersedes #2537, rebased onto master with further commits for the -14/-15 changes. Commits are split to aid review. Suggest squashing on merge.
Notable output changes:
address_v4/address_v6(IPAddressPort).datagram_id(s)is nowdatagram_payload_checksum(s).frames_processedandPacketHeader.lengthare removed.ecnon UDP datagram events is a list.settings_*names, withreserved/unknownplusname_bytes.udp_datagrams_sent,udp_datagrams_received,udp_datagram_droppedandkey_discarded.quic:datagram_dropped,reset_stream_atframe andstream_sideare added.Commits: