TCP Maintenance and Minor Extensions (tcpm) M. Welzl
Internet-Draft S. Islam
Intended status: Informational University of Oslo
Expires: April 21, 2016 J. Touch
USC/ISI
J. You
Huawei
October 19, 2015

The state of implementation of TCP control block interdependence
draft-welzl-tcpm-tcb-sharing-00

Abstract

This document provides an overview of the state of implementation of RFC 2140, in preparation for a possible future RFC2140bis document.

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 April 21, 2016.

Copyright Notice

Copyright (c) 2015 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 described in the Simplified BSD License.


Table of Contents

1. State of Implementation

* L = Linux, F = FreeBSD

   Table 1: State of implementation of RFC 2140 in Linux and FreeBSD
  +----------+-------------+------------------+-----------------------+
  | RFC 2140 | Description | Implementation   | Status                |
  +----------+-------------+------------------+-----------------------+
  | Old-MSS  | Maximum     | F:rmx_mtu        | This is being cached  |
  |          | Segment     |                  | and shared in         |
  |          | Size        |                  | FreeBSD.              |
  +----------+-------------+------------------+-----------------------+
  | Old-RTT  | Estimated   | L:TCP_METRIC_RTT | Cached in both        |
  |          | Round-Trip  | F:rmx_rtt        | FreeBSD and Linux,    |
  |          | Time        |                  | however it is being   |
  |          |             |                  | used by a new         |
  |          |             |                  | connection in FreeBSD |
  |          |             |                  | only.                 |
  +----------+-------------+------------------+-----------------------+
  | Old-RTT  | Estimated   | L:TCP_METRIC_    | Cached in both        |
  | var      | Round-Trip  | RTTVAR           | FreeBSD and Linux,    |
  |          | Time        | F:rmx_rttvar     | however it is being   |
  |          |             |                  | used by a new         |
  |          |             |                  | connection in FreeBSD |
  |          |             |                  | only.                 |
  +----------+-------------+------------------+-----------------------+
  | Old-snd_ | Congestion  | L:TCP_METRIC_    | Cached in both        |
  | cwnd     | Window      | CWND             | FreeBSD and Linux,    |
  |          |             | F:rmx_cwnd       | however it is not     |
  |          |             |                  | being used by a new   |
  |          |             |                  | connection.           |
  +----------+-------------+------------------+-----------------------+
  | -        | Slow Start  | L:TCP_METRIC_    | This is being cached  |
  |          | Thresold    | SSTHRESH         | and shared in both    |
  |          |             | F:rmx_ssthresh   | FreeBSD and Linux. In |
  |          |             |                  | Linux,  it is set to  |
  |          |             |                  | max(cwnd/2, ssthresh) |
  |          |             |                  | in most cases. In     |
  |          |             |                  | FreeBSD, however, it  |
  |          |             |                  | is set to either the  |
  |          |             |                  | current ssthresh if   |
  |          |             |                  | not set previously,   |
  |          |             |                  | or to the arithmetic  |
  |          |             |                  | ssthresh and          |
  |          |             |                  | previously cached     |
  |          |             |                  | metric.               |
  +----------+-------------+------------------+-----------------------+
  | -        | Metric      | L:TCP_METRIC_    | This is being cached  |
  |          | related to  | REORDERING       | and shared in Linux.  |
  |          | the extent  |                  |                       |
  |          | of          |                  |                       |
  |          | reordering. |                  |                       |
  +----------+-------------+------------------+-----------------------+
  | -        | Estimated   | F:rmx_bandwidth  | Not in the            |
  |          | Bandwidth   |                  | specification. It is  |
  |          |             |                  | not set before        |
  |          |             |                  | caching when a        |
  |          |             |                  | connection is closed. |
  +----------+-------------+------------------+-----------------------+
  | -        | Outbound    | F:rmx_sendpipe   | Not in the            |
  |          | Delay -     |                  | specification. This   |
  |          | Bandwidth   |                  | is used for socket    |
  |          | Product     |                  | buffer in FreeBSD.    |
  |          |             |                  | The value is set to 0 |
  |          |             |                  | before caching when a |
  |          |             |                  | connection is closed. |
  +----------+-------------+------------------+-----------------------+
  | -        | Inbound     | F:rmx_recvpipe   | Not in the            |
  |          | Delay-      |                  | specification. This   |
  |          | Bandwidth   |                  | is used for socket    |
  |          | Product     |                  | buffer in FreeBSD.    |
  |          |             |                  | The value is set to 0 |
  |          |             |                  | before caching when a |
  |          |             |                  | connection is closed. |
  +----------+-------------+------------------+-----------------------+

2. IANA Considerations

This memo includes no request to IANA.

3. Security Considerations

To be added

Authors' Addresses

Michael Welzl University of Oslo PO Box 1080 Blindern Oslo, N-0316 Norway Phone: +47 22 85 24 20 EMail: michawe@ifi.uio.no
Safiqul Islam University of Oslo PO Box 1080 Blindern Oslo, N-0316 Norway Phone: +47 22 84 08 37 EMail: safiquli@ifi.uio.no
Joe Touch USC/ISI 4676 Admiralty Way, Marina del Rey CA, 90292-6695 USA Phone: +1 (310) 448-9151 EMail: touch@isi.edu
Jianjie You Huawei 101 Software Avenue, Yuhua District Nanjing, 210012 China EMail: youjianjie@huawei.com