Hi Brian, > On Feb 16, 2024, at 11:53 AM, Brian E Carpenter <[email protected]> > wrote: > > It's good to see this work advancing. I have a few comments: > > 1. Unless I've missed it, the terminology and notation only support IP > addresses in their human-readable form. There are situations where an API > user needs to manipulate addresses as binary objects. (The Python > ipaddress.ip_address class is an example of how to handle this, > with its .packed property.) How does the TAPS API expose this?
The IP addresses are not expected to be strings (although a concrete API certainly may offer that option). The type is “defined" here: https://www.ietf.org/archive/id/draft-ietf-taps-interface-25.html#section-1.1-17.5.1 And used here: https://www.ietf.org/archive/id/draft-ietf-taps-interface-25.html#section-6.1-11.1.1 Note that this is just as an “address” type, not a string. In the concrete API instantiation that we have at Apple, we allow this type to be created either with a data blob or a string: https://developer.apple.com/documentation/network/ipaddress > > 2. The same applies to interface names, which (as described in RFC 4007, > where they are called Zone Identifiers) correspond to underlying interface > indexes (integers). IPv6 addresses are actually {address, interface_index} > 2-tuples - the interface index is not optional, it's just normally defaulted > to zero. I think this property needs to be listed in section 1.1, not hidden > away in section 6.1, with a citation of RFC 4007. I don’t think I agree that an interface identifier needs a top-level type in the API here. While in concrete API instantiations, it is useful to have an interface object or identifier, the nature of the identifier can vary depending on the operating system / platform / language, etc. The “common” type is just a string, as we use it in 6.1, and the exact nature of a more specific type depends on the platform. This is similar to the PvD identification situation, described in https://www.ietf.org/archive/id/draft-ietf-taps-interface-25.html#section-6.2.12-4. The fact that the interface is technically present in an IPv6 address, but defaults to zero, is a good example of how a higher-level API can make that an optional field. > > 3. I realise that this is an abstract API, but for such an ambitious project, > I am quite disappointed that there is no Implementation Status section per > BCP205. How many implementations already exist? As Michael noted, the implementation list is in the implementation draft, which already is past last call, etc: https://www.ietf.org/archive/id/draft-ietf-taps-impl-18.html#name-existing-implementations Thanks, Tommy > > Regards > Brian Carpenter > > On 17-Feb-24 03:17, The IESG wrote: >> The IESG has received a request from the Transport Services WG (taps) to >> consider the following document: - 'An Abstract Application Layer Interface >> to Transport Services' >> <draft-ietf-taps-interface-25.txt> as Proposed Standard >> The IESG plans to make a decision in the next few weeks, and solicits final >> comments on this action. Please send substantive comments to the >> [email protected] mailing lists by 2024-03-01. Exceptionally, comments may >> be sent to [email protected] instead. In either case, please retain the beginning >> of the Subject line to allow automated sorting. >> Abstract >> This document describes an abstract application programming >> interface, API, to the transport layer that enables the selection of >> transport protocols and network paths dynamically at runtime. This >> API enables faster deployment of new protocols and protocol features >> without requiring changes to the applications. The specified API >> follows the Transport Services architecture by providing >> asynchronous, atomic transmission of messages. It is intended to >> replace the BSD sockets API as the common interface to the transport >> layer, in an environment where endpoints could select from multiple >> network paths and potential transport protocols. >> The file can be obtained via >> https://datatracker.ietf.org/doc/draft-ietf-taps-interface/ >> This draft is going for a 2nd IETF last call due to the changes resulted >> during the IESG evaluation. A diff towards the -20 version of this document >> should show the changes since the previous IETF last call. >> No IPR declarations have been submitted directly on this I-D. >> _______________________________________________ >> IETF-Announce mailing list >> [email protected] >> https://www.ietf.org/mailman/listinfo/ietf-announce > > _______________________________________________ > Taps mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/taps
_______________________________________________ Taps mailing list [email protected] https://www.ietf.org/mailman/listinfo/taps
