Re: [sfc] Proposed additional text for section 3.4 of draft-ietf-sfc-nsh-10

<mohamed.boucadair@orange.com> Fri, 28 October 2016 09:22 UTC

Return-Path: <mohamed.boucadair@orange.com>
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 D9BD01299BF for <sfc@ietfa.amsl.com>; Fri, 28 Oct 2016 02:22:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.03
X-Spam-Level:
X-Spam-Status: No, score=-3.03 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RP_MATCHES_RCVD=-0.431, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham 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 1UpSbZPRVyN6 for <sfc@ietfa.amsl.com>; Fri, 28 Oct 2016 02:22:32 -0700 (PDT)
Received: from relais-inet.orange.com (relais-nor35.orange.com [80.12.70.35]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C6091129889 for <sfc@ietf.org>; Fri, 28 Oct 2016 02:22:31 -0700 (PDT)
Received: from opfednr04.francetelecom.fr (unknown [xx.xx.xx.68]) by opfednr21.francetelecom.fr (ESMTP service) with ESMTP id 9A4C6C04FC; Fri, 28 Oct 2016 11:22:30 +0200 (CEST)
Received: from Exchangemail-eme2.itn.ftgroup (unknown [xx.xx.31.69]) by opfednr04.francetelecom.fr (ESMTP service) with ESMTP id 5E60140089; Fri, 28 Oct 2016 11:22:30 +0200 (CEST)
Received: from OPEXCLILMA3.corporate.adroot.infra.ftgroup ([fe80::60a9:abc3:86e6:2541]) by OPEXCLILMA2.corporate.adroot.infra.ftgroup ([fe80::bc1c:ad2f:eda3:8c3d%18]) with mapi id 14.03.0319.002; Fri, 28 Oct 2016 11:22:30 +0200
From: mohamed.boucadair@orange.com
To: "Jim Guichard (jguichar)" <jguichar@cisco.com>, Lucy yong <lucy.yong@huawei.com>, "sfc@ietf.org" <sfc@ietf.org>
Thread-Topic: [sfc] Proposed additional text for section 3.4 of draft-ietf-sfc-nsh-10
Thread-Index: AQHSL4R1AV4SGwZ630SlBe4jJABbNKC7LVeAgABwLQD//8l1gIAAaUeAgAE+JoCAAHPwkA==
Date: Fri, 28 Oct 2016 09:22:29 +0000
Message-ID: <787AE7BB302AE849A7480A190F8B933009D9953E@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
References: <60820554-B07F-4F08-83BC-D7FB18C80896@cisco.com> <E177AAA5-A896-459D-AC4D-516D5F0E053B@cisco.com> <2691CE0099834E4A9C5044EEC662BB9D572E5C05@dfweml501-mbb> <02868E40-28DA-45B9-A38B-C71A46EF13A8@cisco.com> <2691CE0099834E4A9C5044EEC662BB9D572E5CCE@dfweml501-mbb> <F4E25D37-F788-40F4-A070-F76AD9E9C2BC@cisco.com>
In-Reply-To: <F4E25D37-F788-40F4-A070-F76AD9E9C2BC@cisco.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.168.234.3]
Content-Type: multipart/alternative; boundary="_000_787AE7BB302AE849A7480A190F8B933009D9953EOPEXCLILMA3corp_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/sfc/Yxhu6jKE9Pp5qlfZcfa0uHcnWqo>
Subject: Re: [sfc] Proposed additional text for section 3.4 of draft-ietf-sfc-nsh-10
X-BeenThere: sfc@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
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: Fri, 28 Oct 2016 09:22:35 -0000

Hi Jim,

Please see inline.

Cheers,
Med

De : sfc [mailto:sfc-bounces@ietf.org] De la part de Jim Guichard (jguichar)
Envoyé : vendredi 28 octobre 2016 02:01
À : Lucy yong; sfc@ietf.org
Objet : Re: [sfc] Proposed additional text for section 3.4 of draft-ietf-sfc-nsh-10

Hi Lucy,

The current context header structure has been documented for over 3 years without objection and has already completed WGLC.
[Med] I’m afraid things are more subtle, Jim. The point about the fuzzy design choice of 4 mandatory context headers was raised several times: e.g., https://trac.tools.ietf.org/wg/sfc/trac/ticket/19. I objected the ticket to be closed by the editors here: https://www.ietf.org/mail-archive/web/sfc/current/msg04434.html.

There doesn’t seem to be a technical distinction between the proposals, perhaps you could clarify your reasons for a change ?
[Med] The rationale is as follows:

·         Given that the semantic is defined elsewhere and no specific syntax validation are in the NSH spec, it does not make sense to impose the boundaries inside the 16 bytes block.

·         Defining the semantic of each 4-byte context header would be achieved by allowing to define the semantic of the 16bytes block as a whole.

·         The specification of the context header will be simplified.

o    Let’s consider the example in https://tools.ietf.org/html/draft-kumar-sfc-offloads-03:



       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

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |D| F |X|         Context Header 1                              |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |B|U|T|D|R|R|R|R| Context Header 2                              |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |                 Context Header 3                              |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |                 Context Header 4                              |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



   X : Extend flags into first byte of "Context Header 2"

   B : Bidirectional Offload

   U : Unidirectional Offload

   T : TCP-control Exception Offload

   D : Drop Offload



   An X flag is defined because of these boundaries!! These same set of flags are aligned without any constraint for MD#2.



      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |B|U|T|D|S|V|R|R|R|R|R|R|         Offload-data                  |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



o    Let’s now consider the example in https://tools.ietf.org/html/draft-napper-sfc-nsh-broadband-allocation-01#section-4.1. With the 16bytes block, you don’t need to overload the reader with the CHi terminology:

OLD:
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | R | Sub | Tag |                 Context ID                    | CH1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Sub/Endpoint ID                         ~ CH2
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                   Sub/Endpoint ID (cont.)                     | CH3
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Service Information                        | CH4
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 3: NSH Context Allocation

NEW:


    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   | R | Sub | Tag |                 Context ID                    |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                       Sub/Endpoint ID                         |

   |                                                               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                    Service Information                        |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



                     Figure 3: NSH Context Allocation


·         In the absence of technical justification for the presence of the boundaries between 4byte headers, I suggest to go for a single 16bytes block.


Jim

From: Lucy yong <lucy.yong@huawei.com<mailto:lucy.yong@huawei.com>>
Date: Wednesday, October 26, 2016 at 9:02 PM
To: Jim Guichard <jguichar@cisco.com<mailto:jguichar@cisco.com>>, "sfc@ietf.org<mailto:sfc@ietf.org>" <sfc@ietf.org<mailto:sfc@ietf.org>>
Subject: RE: [sfc] Proposed additional text for section 3.4 of draft-ietf-sfc-nsh-10

Hi Jim,

There is no reason to specify 4x4 context headers if the NSH protocol only defines MD-1 as of a 16 bytes context header. This is the change we suggested.




OLD:



      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

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     |Ver|O|C|R|R|R|R|R|R|   Length  |  MD type=0x1  | Next Protocol |

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     |          Service Path Identifer               | Service Index |

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     |                Mandatory Context Header                       |

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     |                Mandatory Context Header                       |

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     |                Mandatory Context Header                       |

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     |                Mandatory Context Header                       |

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



NEW:

      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

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     |Ver|O|C|R|R|R|R|R|R|   Length  |  MD type=0x1  | Next Protocol |

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     |          Service Path Identifer               | Service Index |

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     |                Fixed Length Context Header                    |

     |                                                               |

     |                                                               |

     |                                                               |

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Section 2 is introduction. Section 3 is the NSH protocol specification. Some normative statement should be stated in section 3.

Regards,
Lucy
From: Jim Guichard (jguichar) [mailto:jguichar@cisco.com]
Sent: Wednesday, October 26, 2016 5:45 PM
To: Lucy yong; sfc@ietf.org<mailto:sfc@ietf.org>
Subject: Re: [sfc] Proposed additional text for section 3.4 of draft-ietf-sfc-nsh-10

Hi Lucy,

I am not following what you mean. The current NSH document specifies MD-type 1 with 4 x 4-byte context headers not a 16-byte context header. It further specifies that the semantics of the context headers is outside the scope of the document.

See section 2.3 bullet 3 which states “The semantics of the shared metadata is communicated via a control plane, which is outside the scope of this document, to participating nodes."

Jim

From: Lucy yong <lucy.yong@huawei.com<mailto:lucy.yong@huawei.com>>
Date: Wednesday, October 26, 2016 at 6:00 PM
To: Jim Guichard <jguichar@cisco.com<mailto:jguichar@cisco.com>>, "sfc@ietf.org<mailto:sfc@ietf.org>" <sfc@ietf.org<mailto:sfc@ietf.org>>
Subject: RE: [sfc] Proposed additional text for section 3.4 of draft-ietf-sfc-nsh-10

Hi Jim,

IMO: It is critical for the WG to make a consensus what to do with MD-1 before publishing this document: 1) NSH protocol specifies MD-1 with 16 bytes context header; 2) this specification specifies MD-1 with 16 bytes context header; the semantics of the context header will be specified in other document. The text we proposed (below) is applicable for 1). If we are open to 2), the text will be different. 2) is saying that the semantics of the context header will be specified later in another document. I don’t think we should open MD-1 for supporting both for sure. If we go with the 1), NSH header is proper text.

BTW: we also suggested to make a single 16 bytes as context header in the figure. I think that the word “mandatory” can be removed. This change applys to both 1) or 2).

This doc. specifies MD-2 as of the form of TLVs, which means that the NSH header conveys both the data semantics and data values. IMO: the doc. needs to specify the additional rules for TLVs and SFC-aware SP implementation. For examples, if an SF does not understand the MD class and/or type when MD-2 presents, what should it do?; if an SF does not find the metadata TLV it expects in the NSH header when MD-2 presents, what does it need to do?; Should the NSH require the individual TLVs to specify how SFs to handle the cases, or NSH can have a rule to apply to all TLVs (I doubt). IMO: this is also important for interworking.


Regards,
Lucy









From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of Jim Guichard (jguichar)
Sent: Wednesday, October 26, 2016 2:19 PM
To: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: Re: [sfc] Proposed additional text for section 3.4 of draft-ietf-sfc-nsh-10

Dear SFC WG:

One further point for discussion.

In the first sentence, would it not be more accurate to say “but the NSH base header does not convey that semantic…” rather than “but the NSH header does not convey that semantic in the context headers”.. The reason I ask this is two-fold; 1. The NSH base specification does not define the type-1 metadata but leaves it as opaque for specification elsewhere, and 2. The third sentence says "This specification does not make any assumption about the content placed in the mandatory context header”.

Jim

From: sfc <sfc-bounces@ietf.org<mailto:sfc-bounces@ietf.org>> on behalf of Jim Guichard <jguichar@cisco.com<mailto:jguichar@cisco.com>>
Date: Wednesday, October 26, 2016 at 8:28 AM
To: "sfc@ietf.org<mailto:sfc@ietf.org>" <sfc@ietf.org<mailto:sfc@ietf.org>>
Subject: [sfc] Proposed additional text for section 3.4 of draft-ietf-sfc-nsh-10

Dear SFC WG:

The following text has been proposed by Med and Lucy as an addition to section 3.4 of draft-ietf-sfc-nsh:

"This specification allows defining different semantics of metadata type 1 related mandatory context header, but the NSH header does not convey that semantic in the context headers. An SFC-aware SF MUST receive the data extraction schema first in order to get the data placed in the mandatory context header. How an SFC-aware SF gets the data extraction schema for the mandatory context header is outside the scope of this specification. This specification does not make any assumption about the content placed in the mandatory context header. Upon receiving an SFC packet with metadata type 1 present, if an SFC-aware SF is configured to use metadata but does not yet receive the data extraction schema for the mandatory context header, it MUST NOT process the packet and MUST log this error."

Before asking the editors of the document to make this change, I would like to hear opinions from other WG members so that consensus for this change may be reached. I would particularly like to hear opinions on the last sentence; specifically the ‘MUST NOT process’ as this implies that an SF must drop a packet if it is unable to process the metadata thereby breaking the chain. Do we need to be this strict or can we simply log an error and forward the packet through the chain?

Jim