Network Working Group T. Dreibholz Internet-Draft University of Duisburg-Essen Intended status: Experimental R. Seggelmann Expires: November 6, 2011 Muenster Univ. of Applied Sciences M. Becke University of Duisburg-Essen May 05, 2011 Sender Queue Info Option for the SCTP Socket API draft-dreibholz-tsvwg-sctpsocket-sqinfo-01.txt Abstract This document describes an extension to the SCTP sockets API for querying information about the sender queue. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on November 6, 2011. Copyright Notice Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as Dreibholz, et al. Expires November 6, 2011 [Page 1] Internet-Draft Sender Queue Info Option May 2011 described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Conventions . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Sender Queue Info (SCTP_SQINFO) . . . . . . . . . . . . . . . . 3 3. Security Considerations . . . . . . . . . . . . . . . . . . . . 4 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 4 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 4 6.1. Normative References . . . . . . . . . . . . . . . . . . . 4 6.2. Informative References . . . . . . . . . . . . . . . . . . 5 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 5 Dreibholz, et al. Expires November 6, 2011 [Page 2] Internet-Draft Sender Queue Info Option May 2011 1. Introduction This draft describes an extension to the SCTP sockets API (see [I-D.ietf-tsvwg-sctpsocket], [I-D.dreibholz-tsvwg-sctpsocket-multipath] [RFC4960]) which allows an application to query the sender queue utilization per stream. This information is necessary for applications to make efficient use of a mapping of streams to dissimilar paths. A detailed description including simulation results can be found in [PFLDNeT2010]. In particular, this API extension is useful when using the CMT-SCTP, CMT/RPv1-SCTP or CMT/RPv2-SCTP extension (see [I-D.tuexen-tsvwg-sctp-multipath], [Globecom2010], [ConTEL2011]) for Concurrent Multipath Transfer (CMT) with SCTP. 1.1. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2. Sender Queue Info (SCTP_SQINFO) This socket option obtains the maximum sender queue size (in bytes), the current total sender queue utilization (in bytes) as well as the current utilization per stream (in bytes). The following structure is used to obtain the sender queue information: struct sctp_sndqueueinfo { sctp_assoc_t sq_assoc_id; uint32_t sq_queue_limit; uint32_t sq_total_queued; uint32_t sq_number_of_streams; uint32_t sq_queued_on_stream[]; }; sq_assoc_id: This parameter is ignored for one-to-one style sockets. For one-to-many style sockets this parameter indicates which association the user is performing an action upon. It is an error to use SCTP_{CURRENT|ALL}_ASSOC in sq_assoc_id. sq_queue_limit: This field gives the maximum sender queue size in bytes. Dreibholz, et al. Expires November 6, 2011 [Page 3] Internet-Draft Sender Queue Info Option May 2011 sq_total_queued: This field gives the current total sender queue utilization in bytes. sq_number_of_streams: This field gives the number of outgoing streams. That is, it will contain the number of valid sq_queued_on_stream entries. sq_queued_on_stream: This array gives the current number of bytes queued for the streams 0 to sq_number_of_streams-1. Note, that the caller of getsockopt() MUST provide a sctp_sndqueueinfo structure which can hold at least as many sq_queued_on_stream entries as the association's number of outgoing streams. Otherwise, the getsockopt() call will fail and return an error. 3. Security Considerations Security considerations for the SCTP sockets API are described by [I-D.ietf-tsvwg-sctpsocket]. 4. IANA Considerations This document does not require IANA actions. 5. Acknowledgments The authors would like to thank Michael Tuexen and Irene Ruengeler for their support. 6. References 6.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4960] Stewart, R., "Stream Control Transmission Protocol", RFC 4960, September 2007. [I-D.ietf-tsvwg-sctpsocket] Stewart, R., Tuexen, M., Poon, K., Lei, P., and V. Yasevich, "Sockets API Extensions for Stream Control Transmission Protocol (SCTP)", Dreibholz, et al. Expires November 6, 2011 [Page 4] Internet-Draft Sender Queue Info Option May 2011 draft-ietf-tsvwg-sctpsocket-29 (work in progress), April 2011. [I-D.dreibholz-tsvwg-sctpsocket-multipath] Dreibholz, T. and M. Becke, "SCTP Socket API Extensions for Concurrent Multipath Transfer", draft-dreibholz-tsvwg-sctpsocket-multipath-00 (work in progress), November 2010. [I-D.tuexen-tsvwg-sctp-multipath] Becke, M., Dreibholz, T., Iyengar, J., Natarajan, P., and M. Tuexen, "Load Sharing for the Stream Control Transmission Protocol (SCTP)", draft-tuexen-tsvwg-sctp-multipath-01 (work in progress), December 2010. 6.2. Informative References [PFLDNeT2010] Dreibholz, T., Seggelmann, R., Tuexen, M., and E. Rathgeb, "Transmission Scheduling Optimizations for Concurrent Multipath Transfer", Proceedings of the 8th International Workshop on Protocols for Future, Large-Scale and Diverse Network Transports (PFLDNeT) , November 2010. [Globecom2010] Dreibholz, T., Becke, M., Rathgeb, E., and M. Tuexen, "On the Use of Concurrent Multipath Transfer over Asymmetric Paths", Proceedings of the IEEE Global Communications Conference (GLOBECOM), December 2010. [ConTEL2011] Dreibholz, T., Becke, M., Adhari, H., and E. Rathgeb, "On the Impact of Congestion Control for Concurrent Multipath Transfer on the Transport Layer", Proceedings of the 11th IEEE International Conference on Telecommunications (ConTEL), April 2011. Dreibholz, et al. Expires November 6, 2011 [Page 5] Internet-Draft Sender Queue Info Option May 2011 Authors' Addresses Thomas Dreibholz University of Duisburg-Essen, Institute for Experimental Mathematics Ellernstrasse 29 45326 Essen, Nordrhein-Westfalen Germany Phone: +49-201-1837637 Fax: +49-201-1837673 Email: dreibh@iem.uni-due.de URI: http://www.iem.uni-due.de/~dreibh/ Robin Seggelmann Muenster University of Applied Sciences Stegerwaldstrasse 39 48565 Steinfurt, Nordrhein-Westfalen Germany Email: seggelmann@fh-muenster.de Martin Becke University of Duisburg-Essen, Institute for Experimental Mathematics Ellernstrasse 29 45326 Essen, Nordrhein-Westfalen Germany Phone: +49-201-183-7667 Fax: +49-201-183-7673 Email: martin.becke@uni-due.de Dreibholz, et al. Expires November 6, 2011 [Page 6]