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

Ron Parker <Ron_Parker@affirmednetworks.com> Fri, 28 October 2016 13:55 UTC

Return-Path: <Ron_Parker@affirmednetworks.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 0BB0A126B6D for <sfc@ietfa.amsl.com>; Fri, 28 Oct 2016 06:55:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-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 HMLP25pKzejH for <sfc@ietfa.amsl.com>; Fri, 28 Oct 2016 06:55:03 -0700 (PDT)
Received: from hub021-ca-7.exch021.serverdata.net (hub021-ca-7.exch021.serverdata.net [64.78.56.72]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A4CD0129A91 for <sfc@ietf.org>; Fri, 28 Oct 2016 06:55:02 -0700 (PDT)
Received: from MBX021-W3-CA-2.exch021.domain.local ([10.254.4.78]) by HUB021-CA-7.exch021.domain.local ([10.254.4.109]) with mapi id 14.03.0319.002; Fri, 28 Oct 2016 06:55:02 -0700
From: Ron Parker <Ron_Parker@affirmednetworks.com>
To: "mohamed.boucadair@orange.com" <mohamed.boucadair@orange.com>, "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: AQHSL73ZFEfZDTB/fEqxV2jZmpARWKC7vpgAgAAMhACAACY4gIABgTUAgACc74D//9Vk8A==
Date: Fri, 28 Oct 2016 13:55:01 +0000
Message-ID: <CDF2F015F4429F458815ED2A6C2B6B0B8390014E@MBX021-W3-CA-2.exch021.domain.local>
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> <787AE7BB302AE849A7480A190F8B933009D9953E@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
In-Reply-To: <787AE7BB302AE849A7480A190F8B933009D9953E@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [50.205.79.154]
Content-Type: multipart/alternative; boundary="_000_CDF2F015F4429F458815ED2A6C2B6B0B8390014EMBX021W3CA2exch_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/sfc/nzA3YK49DbJtlp95_Ue9cqsnZ6w>
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 13:55:07 -0000

Mohamed,

As a group, we’ve more or less accepted that the format of the MD-1 metadata is opaque and non-self describing.   For those that don’t like that, MD type 2 was the grand compromise.

Therefore, I wholeheartedly agree that imposing internal structure to MD-1 metadata is counter--productive.    There are 16 mandatory bytes whose use is described in other RFPs or not described at all.   Whether any particular usage imposes internal 4 byte boundaries or not is irrelevant since it is opaque, by definition.    Given the opaque and non-self-describing decisions, I strongly support modification of the NSH RFP to describe the MD-type 1 metadata as a single 16 byte opaque block of metadata instead of 4 4-byte context headers.

   Ron


From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of mohamed.boucadair@orange.com
Sent: Friday, October 28, 2016 5:22 AM
To: Jim Guichard (jguichar) <jguichar@cisco.com>; Lucy yong <lucy.yong@huawei.com>; sfc@ietf.org
Subject: Re: [sfc] Proposed additional text for section 3.4 of draft-ietf-sfc-nsh-10

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<mailto: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