[sfc] #24 (nsh): -07 review (M. Boucadair)

"sfc issue tracker" <trac+sfc@tools.ietf.org> Tue, 25 October 2016 08:31 UTC

Return-Path: <trac+sfc@tools.ietf.org>
X-Original-To: sfc@ietfa.amsl.com
Delivered-To: sfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 64301129473 for <sfc@ietfa.amsl.com>; Tue, 25 Oct 2016 01:31:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.331
X-Spam-Level:
X-Spam-Status: No, score=-2.331 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.431] autolearn=unavailable autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5dljAHibgMnR for <sfc@ietfa.amsl.com>; Tue, 25 Oct 2016 01:31:20 -0700 (PDT)
Received: from durif.tools.ietf.org (durif.tools.ietf.org [IPv6:2001:1900:3001:11::3d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 51683129ADD for <sfc@ietf.org>; Tue, 25 Oct 2016 01:31:20 -0700 (PDT)
Received: from localhost ([::1]:41345 helo=durif.tools.ietf.org) by durif.tools.ietf.org with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from <trac+sfc@tools.ietf.org>) id 1byx8i-0000en-6J; Tue, 25 Oct 2016 01:31:20 -0700
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: sfc issue tracker <trac+sfc@tools.ietf.org>
X-Trac-Version: 0.12.5
Precedence: bulk
Auto-Submitted: auto-generated
X-Mailer: Trac 0.12.5, by Edgewall Software
To: draft-ietf-sfc-nsh@tools.ietf.org, mohamed.boucadair@orange.com
X-Trac-Project: sfc
Date: Tue, 25 Oct 2016 08:31:20 -0000
X-URL: https://tools.ietf.org/sfc/
X-Trac-Ticket-URL: https://trac.tools.ietf.org/wg/sfc/trac/ticket/24
Message-ID: <067.8a174ca9f70d425565b9b7d036fb00ae@tools.ietf.org>
X-Trac-Ticket-ID: 24
X-SA-Exim-Connect-IP: ::1
X-SA-Exim-Rcpt-To: draft-ietf-sfc-nsh@tools.ietf.org, mohamed.boucadair@orange.com, sfc@ietf.org
X-SA-Exim-Mail-From: trac+sfc@tools.ietf.org
X-SA-Exim-Scanned: No (on durif.tools.ietf.org); SAEximRunCond expanded to false
Resent-To: draft-ietf-sfc-nsh@ietf.org
Resent-Message-Id: <20161025083120.51683129ADD@ietfa.amsl.com>
Resent-Date: Tue, 25 Oct 2016 01:31:20 -0700
Resent-From: trac+sfc@tools.ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/sfc/AAiS-Labiv_1spbvdp8Yg1Aau7A>
Cc: sfc@ietf.org
Subject: [sfc] #24 (nsh): -07 review (M. Boucadair)
X-BeenThere: sfc@ietf.org
X-Mailman-Version: 2.1.17
List-Id: Network Service Chaining <sfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sfc>, <mailto:sfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sfc/>
List-Post: <mailto:sfc@ietf.org>
List-Help: <mailto:sfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sfc>, <mailto:sfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Oct 2016 08:31:25 -0000

#24: -07 review (M. Boucadair)

 I'm adding this review to the tracker as I'm not sure all the points were
 addressed.

 ==
 Hi Jim, all,

 Likewise, I would like to see this document progress as well.

 In addition to the comment raised in a separate message about the C-bit of
 TLVs, I have the following comments:

 (1) Section 2: I suggest to delete the following sentence:

    NSH is designed to be easy to implement across a range of devices,
    both physical and virtual, including hardware platforms.

 Reason: the use of "easy to implement" should be justified if that text is
 maintained. Otherwise, this is subjective.

 or to reword it as follows:

    "NSH can be implemented in both physical and virtual platforms."

 (2) Section 2.3: I suggest to change this OLD text:

 The semantics of
        the shared metadata is communicated via a control plane, which is
        outside the scope of this document, to participating nodes.

 NEW:

 The semantics of
 the shared metadata is communicated via a control plane (Section 3.3 of
 [I-D.ietf-sfc-control-plane]).

 (3) Section 2.3- Not sure I would maintain this text:

    5.  NSH offers a common and standards-based header for service
        chaining to all network and service nodes.

 "to all" is not accurate as "legacy" nodes are still there.

 (4) Section 2.3:

 OLD:
 Transport Agnostic: NSH is transport independent and is often
        carried via a network transport protocol,

 NEW:
 Transport Agnostic: NSH is transport independent. Any network transport
 protocol can be used to transport NSH-encapsulated traffic.

 (5) Section 3.2:

    NSH implementations MUST support MD-Type = 0x1, and SHOULD support
    MD- Type = 0x2.

 Because:
 * of potential interoperability issues.
 * MD#2 is more compact when no metadata is to be supplied
 * MD#2 allows to convey more information compared to MD#1

 I suggest we revisit that sentence to have MD#2 be mandatory to be
 supported (my favorite option), or at least require that both MDs defined
 in this spec MUST be supported.

 (6) Section 3.2:

    C bit: Indicates that a critical metadata TLV is present.  This bit
    acts as an indication for hardware implementers to decide how to
    handle the presence of a critical TLV without necessarily needing to
    parse all TLVs present.  For an MD Type of 0x1 (i.e. no variable
    length metadata is present), the C bit MUST be set to 0x0.

 6.1. What is the behavior of the implementation if C-bit is set but not
 critical metadata is found in the payload?
 6.2. What is the behavior of the implementation if C-bit is unset but a
 critical metadata is found in the payload?
 6.3. What is the behavior of the implementation with regards to this bit
 if a critical metadata is added in-path?
 6.4. What is the behavior of the implementation with regards to this bit
 if a critical metadata is stripped in-path?
 6.5. Should the specification recommend an order of metadata so that
 critical metadata are always positioned first?

 (7) Section 3.3: The following text

 " ... however the
    control plane MAY configure the initial value of SI as appropriate
    (i.e. taking into account the length of the service function path). "

 is not aligned with the outcome of the discussion we had during the WG LC
 of draft-ietf-sfc-control-plane (https://www.ietf.org/mail-
 archive/web/sfc/current/msg04594.html):

    The control plane must instruct the classifier about the initial
    values of the Service Index (SI).

 7.1. I suggest to modify NSH draft accordingly.
 7.2. Please consider adding a reference to draft-ietf-sfc-control-plane

 (8) Section 3.4: I still do think this section is underspecified. E.g.,

 8.1. The use of "Mandatory Context Header" conflicts with this text in
 Section 3:

    A Network Service Header (NSH) contains service path information and
    optionally metadata that are added to a packet or frame and used to
    ^^^^^^^^^^^^^^^^^^^
    create a service plane.

 8.2. The specification does not forbid that all context headers are set to
 zero. Otherwise, MD#2 should be used instead.
 8.3. The specification does not specify how these context headers are to
 be validated.
 8.4. I still don't understand why four headers are chosen.

 (9) Section 3.5.1:

 The length of "Metadata Class" is over-dimensioned. I suggest to reduce
 the length of this field and increase the length of "Type".

 For example, let's consider the proposal in https://tools.ietf.org/html
 /draft-napper-sfc-nsh-broadband-allocation-00#section-4.2:

     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     TLV Class = 3GPP          |C|    Type     |R|R|R|   Len   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    Data ...
    +-+-+-+-+-+-+-+-+

                          Figure 5: TLV Allocation

    The intended use of the header is for TLVs associated with 3GPP Radio
    Access Networks as described in [TS.29.230].  This TLV can be used by
    3GPP to extend the metadata as per use cases.  Having this TLV helps
    to carry more information that does not fit within the MD Type 0x01.

 The list of codes in Table 7.1 of TS.29.230 cannot be conveyed with a
 "Type" field of 7 bits.

 (10) Section 4:

 OLD:

 +---------------+------------------+-------+----------------+---------+
  |                |  Insert         |Select |   Update       |Service  |
  |                |  or remove NSH  |Service|    NSH         |policy   |
  |                |                 |Function|               |selection|
  | Component      +--------+--------+Path   +----------------+         |
  |                |        |        |       | Dec.   |Update |         |
  |                | Insert | Remove |       |Service |Context|         |
  |                |        |        |       | Index  |Header |         |
  +----------------+--------+--------+-------+--------+-------+---------+
  |                |   +    |   +    |       |        |   +   |         |
  |Classifier      |        |        |       |        |       |         |
  +--------------- +--------+--------+-------+--------+-------+---------+
  |Service Function|        |   +    |  +    |        |       |         |
  |Forwarder(SFF)  |        |        |       |        |       |         |
  +--------------- +--------+--------+-------+--------+-------+---------+
  |Service         |        |        |       |   +    |   +   |   +     |
  |Function  (SF)  |        |        |       |        |       |         |
  +--------------- +--------+--------+-------+--------+-------+---------+
  |SFC Proxy       |   +    |   +    |       |   +    |       |         |
  +----------------+--------+--------+-------+--------+-------+---------+

 NEW:

 +---------------+------------------+-------+----------------+---------+
  |                |  Insert         |Select |   Update       |Service  |
  |                |  or remove NSH  |Service|    NSH         |policy   |
  |                |                 |Function|               |selection|
  | Component      +--------+--------+Path   +----------------+         |
  |                |        |        |       | Dec.   |Update |         |
  |                | Insert | Remove |       |Service |Context|         |
  |                |        |        |       | Index  |Header |         |
  +----------------+--------+--------+-------+--------+-------+---------+
  |                |   +    |   +    |       |        |   +   |         |
  |Classifier      |        |        |       |        |       |         |
  +--------------- +--------+--------+-------+--------+-------+---------+
  |Service Function|        |   +    |  +    |        |       |         |
  |Forwarder(SFF)  |        |        |       |        |       |         |
  +--------------- +--------+--------+-------+--------+-------+---------+
  |Service         |        |        |       |   +    |   +   |   +     |
  |Function  (SF)  |        |        |       |        |       |         |
  +--------------- +--------+--------+-------+--------+-------+---------+
  |SFC Proxy       |   +    |   +    |       |   +    |   +   |         |
  +----------------+--------+--------+-------+--------+-------+---------+

 (11) Section 7.2: Please consider adding an IPv6 example.

 Thank you.

 Cheers,
 Med

-- 
-------------------------------------+-------------------------------------
 Reporter:                           |      Owner:  draft-ietf-sfc-
  mohamed.boucadair@orange.com       |  nsh@tools.ietf.org
     Type:  defect                   |     Status:  new
 Priority:  major                    |  Milestone:
Component:  nsh                      |    Version:
 Severity:  -                        |   Keywords:
-------------------------------------+-------------------------------------

Ticket URL: <https://trac.tools.ietf.org/wg/sfc/trac/ticket/24>
sfc <https://tools.ietf.org/sfc/>