Re: Apparent SCTP API oversights, draft-ietf-tsvwg-sctpsocket-30
Michael Tuexen <tuexen@fh-muenster.de> Wed, 10 August 2011 04:57 UTC
Return-Path: <tuexen@fh-muenster.de>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61C7D21F8509 for <tsvwg@ietfa.amsl.com>; Tue, 9 Aug 2011 21:57:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3t6eQa0iPx7P for <tsvwg@ietfa.amsl.com>; Tue, 9 Aug 2011 21:57:28 -0700 (PDT)
Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by ietfa.amsl.com (Postfix) with ESMTP id EE08921F8500 for <tsvwg@ietf.org>; Tue, 9 Aug 2011 21:57:26 -0700 (PDT)
Received: from [192.168.1.195] (p508FCB5B.dip.t-dialin.net [80.143.203.91]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id 60D051C0C0BE9; Wed, 10 Aug 2011 06:57:52 +0200 (CEST)
Subject: Re: Apparent SCTP API oversights, draft-ietf-tsvwg-sctpsocket-30
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset="us-ascii"
From: Michael Tuexen <tuexen@fh-muenster.de>
In-Reply-To: <051901cc56e4$a52a5950$ef7f0bf0$@com>
Date: Wed, 10 Aug 2011 06:57:51 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <5E45876B-FE88-4B75-9E7D-1C8225E289A0@fh-muenster.de>
References: <026301cc5303$611e3a40$235aaec0$@com> <F7033253-9CC1-46C5-AC5B-7DBE68860456@fh-muenster.de> <051901cc56e4$a52a5950$ef7f0bf0$@com>
To: Dan Wing <dwing@cisco.com>
X-Mailer: Apple Mail (2.1084)
Cc: ka-cheong.poon@oracle.com, tsvwg@ietf.org, vladislav.yasevich@hp.com, draft-ietf-tsvwg-sctpsocket@tools.ietf.org, "'Peter Lei (peterlei)'" <peterlei@cisco.com>, randall@lakerest.net
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tsvwg>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Aug 2011 04:57:29 -0000
On Aug 10, 2011, at 12:35 AM, Dan Wing wrote: > Yes, thanks. > > With the datastructure renamed from spp_ipv4_tos to spp_dscp, I assume you > would also change prose from ToS to DSCP? > > #grep -nE "tos|ToS|TOS" draft-ietf-tsvwg-sctpsocket-30.txt > 3825: uint8_t spp_ipv4_tos; > 3872: spp_ipv4_tos: This field is used in conjunction with the > 3873: SPP_IPV4_TOS flag. This setting has precedence over any IPv4 > 3924: SPP_IPV4_TOS: Setting this flag enables the setting of the IPV4 > 3925: TOS value associated with either the association or a specific > 3926: address. The value is obtained in the spp_ipv4_tos field. > 3929: spp_ipv4_tos field has a valid value returned. If a specific > 3931: field) then that specific destination address' TOS value is > 3933: association default TOS is returned. If neither an > association > 3934: nor a destination is specified, then the sockets default TOS > is Yes, that is the text at the end of my e-mail... Best regards Michael > > -d > >> -----Original Message----- >> From: Michael Tuexen [mailto:tuexen@fh-muenster.de] >> Sent: Tuesday, August 09, 2011 2:07 PM >> To: Dan Wing >> Cc: draft-ietf-tsvwg-sctpsocket@tools.ietf.org; tsvwg@ietf.org; >> randall@lakerest.net; ka-cheong.poon@oracle.com; 'Peter Lei >> (peterlei)'; vladislav.yasevich@hp.com >> Subject: Re: Apparent SCTP API oversights, draft-ietf-tsvwg-sctpsocket- >> 30 >> >> Hi Dan, >> >> based on the discussion, I suggest the following text changes: >> On Aug 5, 2011, at 2:05 AM, Dan Wing wrote: >> >>> I would like clarification on my misunderstanding, or changes >>> to draft-ietf-tsvwg-sctpsocket, to accommodate what appear to >>> be some oversights in the SCTP API: >>> >>> 1. The infotype parameter of sctp_sendv() allows indicating if the >>> data should be sent with partial reliability or full reliability >>> using sctp_prinfo. However, there does not appear to be a way to >>> adjust the IPv4 or IPv6 DSCP bits when switching between >>> full/partial reliablity, except by modifying the entire >>> association itself (using spp_ipv4_tos). This is quite limiting. >> No changes. >>> >>> >>> 2. When modifying an association (e.g., to have different DSCP >>> value), I could not find text in draft-ietf-tsvwg-sctpsocket-30 that >>> indicates if the modification applies immediately (including to >>> packets queued and to packets not yet acknowledged by the >>> receiver) or if the modification applies to subsequent calls >>> to send(). >>> >>> This means that to attempt to work around (1), it isn't clear >>> if the API would permit me to modify the association's DSCP >>> value, call send(), and know that payload will be sent with >>> the desired DSCP value. >> I added at the end of section 8.1.12: >> <t>Please note that changing the flowlabel or DSCP value will affect >> all packets sent by the SCTP stack after setting these parameters. >> The flowlabel might also be set via the sin6_flowinfo field of the >> struct socketaddr_in6 structure.</t> >>> >>> >>> 3. Related to (1), it is desirable that full reliable packets not >>> be bundled with partial reliability packets, so that they can have >>> different DSCP markings. >>> >>> http://tools.ietf.org/html/rfc4960#section-10.1 mentions a no-bundle >>> flag. However, I could not find in draft-ietf-tsvwg-sctpsocket-30 >>> where this is controlled; it appears the API lacks this ability. >> I added to section 8.1.5: >> In particular, not using any Nagle-like algorithm might >> reduce the bundling of small user messages in cases where this >> would require an additional delay.</t> >>> >>> >>> 4. draft-ietf-tsvwg-sctpsocket-30 uses the archaic term ToS >>> rather than DSCP. At a minimum, to ease string searching, please >>> add text near spp_ipv4_tos something like "This is also called the >>> DSCP field [RFC2474]". I would prefer, though, that >>> draft-ietf-tsvwg-sctpsocket-30 use the term DSCP in compliance >>> with RFC3260 and other DiffServ documents. >>> >>> >>> 5. I believe it is an oversight that draft-ietf-tsvwg-sctpsocket-30 >>> provides a way to adjust the IPv4 ToS (spp_ipv4_tos) and the IPv6 >>> flow label (spp_ipv6_flowlabel), but lacks a way to query or adjust >>> the IPv6 Traffic Class field. Please correct this oversight or >>> add text justifying the inability to adjust the IPv6 Traffic Class >>> field. >> The stuff now reads: >> struct sctp_paddrparams { >> sctp_assoc_t spp_assoc_id; >> struct sockaddr_storage spp_address; >> uint32_t spp_hbinterval; >> uint16_t spp_pathmaxrxt; >> uint32_t spp_pathmtu; >> uint32_t spp_flags; >> uint32_t spp_ipv6_flowlabel; >> uint8_t spp_dscp; >> }; >> >> <t hangText="spp_ipv6_flowlabel:"> >> This field is used in conjunction with the SPP_IPV6_FLOWLABEL flag >> and contains the IPv6 flowlabel. The 20 least significant bits are >> used for the flowlabel. >> This setting has precedence over any IPv6 layer setting.</t> >> <t hangText="spp_dscp:"> >> This field is used in conjunction with the SPP_DSCP flag and >> contains the Differentiated Services Code Point (DSCP). >> The 6 least significant bits are used for the DSCP. >> This setting has precedence over any IPv4 or IPv6 layer setting.</t> >> >> ... >> <t hangText="SPP_IPV6_FLOWLABEL:"> >> Setting this flag enables the setting of the IPV6 flowlabel value. >> The value is contained in the spp_ipv6_flowlabel field. >> <vspace blankLines="1"/> >> Upon retrieval, this flag will be set to indicate that the >> spp_ipv6_flowlabel >> field has a valid value returned. If a specific destination address is >> set (in the spp_address field), then the value returned is that >> of the address. If just an association is specified (and no address), >> then >> the association's default flowlabel is returned. If neither an >> association nor a >> destination is specified, then the socket's default flowlabel is >> returned. >> For non IPv6 sockets, this flag will be left cleared.</t> >> <t hangText="SPP_DSCP:"> Setting this flag enables the setting of >> the DSCP value associated with >> either the association or a specific address. >> The value is obtained in the spp_dscp field. >> <vspace blankLines="1"/> >> Upon retrieval, this flag will be set to indicate that the spp_dscp >> field >> has a valid value returned. If a specific destination address is set >> when >> called (in the spp_address field) then that specific destination >> address' >> DSCP value is returned. If just an association is specified then >> the association default DSCP is returned. If neither an association nor >> a >> destination is specified, then the sockets default DSCP is >> returned.</t> >> >> Does this address your issues? >> >> Best regards >> Michael >>> >>> -d >>> >>> >>> > >
- Apparent SCTP API oversights, draft-ietf-tsvwg-sc… Dan Wing
- Re: Apparent SCTP API oversights, draft-ietf-tsvw… Michael Tuexen
- RE: Apparent SCTP API oversights, draft-ietf-tsvw… Dan Wing
- Re: Apparent SCTP API oversights, draft-ietf-tsvw… Michael Tuexen
- Re: Apparent SCTP API oversights, draft-ietf-tsvw… Randy Stewart
- Re: Apparent SCTP API oversights, draft-ietf-tsvw… Qiaobing Xie
- RE: Apparent SCTP API oversights, draft-ietf-tsvw… Dan Wing
- Re: Apparent SCTP API oversights, draft-ietf-tsvw… Michael Tuexen
- Re: Apparent SCTP API oversights, draft-ietf-tsvw… Michael Tuexen
- RE: Apparent SCTP API oversights, draft-ietf-tsvw… Dan Wing
- Re: Apparent SCTP API oversights, draft-ietf-tsvw… Michael Tuexen