| 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. | ||||