rfc9623v3.txt   rfc9623.txt 
skipping to change at line 1127 skipping to change at line 1127
part of TCP Fast Open (TFO). Also, protocols that do not protect part of TCP Fast Open (TFO). Also, protocols that do not protect
against duplicated Messages, such as UDP (when used directly, against duplicated Messages, such as UDP (when used directly,
without a protocol layered atop), can only be used with Messages without a protocol layered atop), can only be used with Messages
that are Safely Replayable. When a Transport Services system is that are Safely Replayable. When a Transport Services system is
permitted to replay Messages, replay protection could be provided permitted to replay Messages, replay protection could be provided
by the application. by the application.
final: When this is true, it means that the sender will not send any final: When this is true, it means that the sender will not send any
further Messages. The Connection need not be closed (if the further Messages. The Connection need not be closed (if the
Protocol Stack supports half-closed operations, like TCP). Any Protocol Stack supports half-closed operations, like TCP). Any
Messages sent after a Message marked final will result in a Messages sent after a Message marked Final will result in a
SendError. SendError.
msgChecksumLen: When this is set to any value other than Full msgChecksumLen: When this is set to any value other than Full
Coverage, it sets the minimum protection in protocols that allow Coverage, it sets the minimum protection in protocols that allow
limiting the checksum length (e.g., UDP-Lite). If the Protocol limiting the checksum length (e.g., UDP-Lite). If the Protocol
Stack does not support checksum length limitation, this property Stack does not support checksum length limitation, this property
may be ignored. may be ignored.
msgReliable: When true, the property specifies that the Message must msgReliable: When true, the property specifies that the Message must
be reliably transmitted. When false, and if unreliable be reliably transmitted. When false, and if unreliable
skipping to change at line 1579 skipping to change at line 1579
also inform the Protocol Instance about potentially new paths that also inform the Protocol Instance about potentially new paths that
become permissible based on the multipath Selection Property and the become permissible based on the multipath Selection Property and the
multipathPolicy Connection Property choices made by the application. multipathPolicy Connection Property choices made by the application.
A protocol can then establish new subflows over new paths while an A protocol can then establish new subflows over new paths while an
active path is still available or after a break has been detected, active path is still available or after a break has been detected,
and it should attempt to tear down subflows over paths that are no and it should attempt to tear down subflows over paths that are no
longer used. The Connection Property multipathPolicy of the longer used. The Connection Property multipathPolicy of the
Transport Services API allows an application to indicate when and how Transport Services API allows an application to indicate when and how
different paths should be used. However, detailed handling of these different paths should be used. However, detailed handling of these
policies is implementation specific. For example, if the multipath policies is implementation specific. For example, if the multipath
Selection Property is set to active, the decision about when to Selection Property is set to Active, the decision about when to
create a new path or to announce a new path or set of paths to the create a new path or to announce a new path or set of paths to the
Remote Endpoint, e.g., in the form of additional IP addresses, is Remote Endpoint, e.g., in the form of additional IP addresses, is
implementation specific. If the Protocol Stack includes a transport implementation specific. If the Protocol Stack includes a transport
protocol that does not support multipath but does support migrating protocol that does not support multipath but does support migrating
between paths, the update to the set of available paths can trigger between paths, the update to the set of available paths can trigger
the connection to be migrated. the connection to be migrated.
In the case of a Pooled Connection (Section 7.1), the Transport In the case of a Pooled Connection (Section 7.1), the Transport
Services Implementation may add connections over new paths to the Services Implementation may add connections over new paths to the
pool if permissible based on the multipath policy and Selection pool if permissible based on the multipathPolicy and Selection
Properties. If a previously used path becomes unavailable, the Properties. If a previously used path becomes unavailable, the
Transport Services system may disconnect all connections that require Transport Services system may disconnect all connections that require
this path, but it should not disconnect the pooled Connection object this path, but it should not disconnect the pooled Connection object
exposed to the application. The strategy to do so is implementation exposed to the application. The strategy to do so is implementation
specific, but it should be consistent with the behavior of multipath specific, but it should be consistent with the behavior of multipath
transports. transports.
8. Implementing Connection Termination 8. Implementing Connection Termination
For Close (which leads to a Closed event) and Abort (which leads to a For Close (which leads to a Closed event) and Abort (which leads to a
skipping to change at line 1949 skipping to change at line 1949
SET_DF.UDP-Lite; SET_ECN.UDP-Lite; GET_ECN.UDP-Lite. SET_DF.UDP-Lite; SET_ECN.UDP-Lite; GET_ECN.UDP-Lite.
10.5. UDP Multicast Receive 10.5. UDP Multicast Receive
Connectedness: Connectionless Connectedness: Connectionless
Data Unit: Datagram Data Unit: Datagram
Connection Object: Established UDP Multicast Receive connections Connection Object: Established UDP Multicast Receive connections
represent a pair of specific IP addresses and ports. The represent a pair of specific IP addresses and ports. The
direction Selection Property must be set to unidirectional direction Selection Property must be set to Unidirectional
receive, and the Local Endpoint must be configured with a group IP receive, and the Local Endpoint must be configured with a group IP
address and a port. address and a port.
Initiate: Calling Initiate on a UDP Multicast Receive Connection Initiate: Calling Initiate on a UDP Multicast Receive Connection
causes an immediate EstablishmentError. This is an unsupported causes an immediate EstablishmentError. This is an unsupported
operation. operation.
InitiateWithSend: Calling InitiateWithSend on a UDP Multicast InitiateWithSend: Calling InitiateWithSend on a UDP Multicast
Receive Connection causes an immediate EstablishmentError. This Receive Connection causes an immediate EstablishmentError. This
is an unsupported operation. is an unsupported operation.
skipping to change at line 1998 skipping to change at line 1998
the Socket API). the Socket API).
ConnectionReceived: UDP Multicast Receive Listeners will deliver new ConnectionReceived: UDP Multicast Receive Listeners will deliver new
Connections once they have received traffic from a new Remote Connections once they have received traffic from a new Remote
Endpoint. Endpoint.
Clone: Calling Clone on a UDP Multicast Receive Connection creates a Clone: Calling Clone on a UDP Multicast Receive Connection creates a
new Connection with equivalent parameters. The two Connections new Connection with equivalent parameters. The two Connections
are otherwise independent. are otherwise independent.
Send: SEND.UDP. Calling Send on a UDP Multicast Receive connection Send: SEND.UDP. Calling Send on a UDP Multicast Receive Connection
causes an immediate SendError. This is an unsupported operation. causes an immediate SendError. This is an unsupported operation.
Receive: RECEIVE.UDP. The Receive operation in a UDP Multicast Receive: RECEIVE.UDP. The Receive operation in a UDP Multicast
Receive connection only delivers complete Messages to Received, Receive Connection only delivers complete Messages to Received,
each of which represents a single datagram received in a UDP each of which represents a single datagram received in a UDP
packet. Upon receiving a UDP datagram, the ECN flag from the IP packet. Upon receiving a UDP datagram, the ECN flag from the IP
header can be obtained (GET_ECN.UDP). header can be obtained (GET_ECN.UDP).
Close: Calling Close on a UDP Multicast Receive Connection Close: Calling Close on a UDP Multicast Receive Connection
(ABORT.UDP) releases the local port reservation and leaves the (ABORT.UDP) releases the local port reservation and leaves the
group. The Connection then issues a Closed event. group. The Connection then issues a Closed event.
Abort: Calling Abort on a UDP Multicast Receive Connection Abort: Calling Abort on a UDP Multicast Receive Connection
(ABORT.UDP) is identical to calling Close except that the (ABORT.UDP) is identical to calling Close except that the
skipping to change at line 2090 skipping to change at line 2090
used: if there are enough streams available, Initiate is a local used: if there are enough streams available, Initiate is a local
operation that assigns a new stream id to the Connection object. operation that assigns a new stream id to the Connection object.
The number of streams is negotiated as a parameter of the prior The number of streams is negotiated as a parameter of the prior
CONNECT.SCTP call, and it represents a trade-off between local CONNECT.SCTP call, and it represents a trade-off between local
resource usage and the number of Connection objects that can be resource usage and the number of Connection objects that can be
mapped without requiring a reconfiguration signal. When running mapped without requiring a reconfiguration signal. When running
out of streams, ADD_STREAM.SCTP must be called. out of streams, ADD_STREAM.SCTP must be called.
InitiateWithSend: If this is the only Connection object that is InitiateWithSend: If this is the only Connection object that is
assigned to the SCTP association or stream mapping is not used, assigned to the SCTP association or stream mapping is not used,
CONNECT.SCTP is called with the "user message" parameter. Else, a CONNECT.SCTP is called with the user message parameter. Else, a
new stream is used (see Initiate for how to handle running out of new stream is used (see Initiate for how to handle running out of
streams), and this just sends the first message on a new stream. streams), and this just sends the first message on a new stream.
Ready: Initiate or InitiateWithSend returns without an error, i.e., Ready: Initiate or InitiateWithSend returns without an error, i.e.,
SCTP's four-way handshake has completed. If an association with SCTP's four-way handshake has completed. If an association with
the peer already exists, stream mapping is used, and enough the peer already exists, stream mapping is used, and enough
streams are available, a Connection object instantly becomes Ready streams are available, a Connection object instantly becomes Ready
after calling Initiate or InitiateWithSend. after calling Initiate or InitiateWithSend.
EstablishmentError: Failure of CONNECT.SCTP. EstablishmentError: Failure of CONNECT.SCTP.
skipping to change at line 2406 skipping to change at line 2406
Appendix B. Reasons for Errors Appendix B. Reasons for Errors
The Transport Services API [RFC9622] allows for several generic error The Transport Services API [RFC9622] allows for several generic error
types to specify a more detailed reason about why an error occurred. types to specify a more detailed reason about why an error occurred.
This appendix lists some of the possible reasons. This appendix lists some of the possible reasons.
InvalidConfiguration: The transport properties and Endpoint InvalidConfiguration: The transport properties and Endpoint
Identifiers provided by the application are either contradictory Identifiers provided by the application are either contradictory
or incomplete. Examples include the lack of a Remote Endpoint or incomplete. Examples include the lack of a Remote Endpoint
Identifier on an active open or using a multicast group address Identifier on an active open or using a multicast group address
while not requesting a unidirectional receive. while not requesting a Unidirectional receive.
NoCandidates: The configuration is valid, but none of the available NoCandidates: The configuration is valid, but none of the available
transport protocols can satisfy the transport properties provided transport protocols can satisfy the transport properties provided
by the application. by the application.
ResolutionFailed: The remote or local specifier provided by the ResolutionFailed: The remote or local specifier provided by the
application cannot be resolved. application cannot be resolved.
EstablishmentFailed: The Transport Services system was unable to EstablishmentFailed: The Transport Services system was unable to
establish a transport-layer connection to the Remote Endpoint establish a transport-layer connection to the Remote Endpoint
 End of changes. 8 change blocks. 
8 lines changed or deleted 8 lines changed or added

This html diff was produced by rfcdiff 1.48.