Subject: Re: [sfc] #3 (nsh): Critical Metadata

From: <[email-masked]>
Date: Wed, 13 Apr 2016 07:21:32 +0000

Hi Paul, 

I'm afraid this issue is still pending.

I'm reiterating the issue here to hopefully have some discussion. 

The draft says the following: 

   C bit: Indicates that a critical metadata TLV is present (see Section
   3.4.2).  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.  The C bit MUST be set
   to 0x0 when MD Type= 0x1 and MAY be used with MD Type = 0x2 and MUST
   be set to 0x1 if one or more critical TLVs are present.

* First, there is not such Section 3.4.2 in the document.
* Obviously, this flag applies only for MD#2 given that the text is about metadata TLVs. 
* How this flag helps an implementation not to parse all TLVs?
* Isn't this flag redundant with the "Critical Bit" you are defining for TLVs?
* Are there TLVs that must be mandatory-to-process by design? Isn't this a local deployment decision? A TLV may be mandatory-to-process for a given chain but optional for another one. 
* All TLVs are by definition candidate to be mandatory-to-process of optional-to-process (as a function of the deployment context, service chain, etc.). Defining specific ranges for each does not make sense IMO. FWIW, I'm referring to this part of the text: 

" This effectively allocates Type values 0 to 127
   for non-critical options and Type values 128 to 255 for critical
   options."
 
* The set of mandatory-to-process TLVs should be instructed via control plane. This should be added to the document. 
* Aren't there implications on the value of C-bit when a metadata is injected or striped by intermediate SFC-aware nodes? An implementation obviously needs to reexamine the set of TLV to check that at least one critical TLV is still present to decide whether rewriting the C bit is needed. Is it worth to execute that check?
* How an implementation is expected to behave if the C bit is set but no mandatory-to-process TLV is found?

Thank you.

Cheers,
Med

> -----Message d'origine-----
> De : sfc issue tracker [mailto:[email-masked]]
> Envoyé : vendredi 26 février 2016 22:27
> À : [email-masked]; BOUCADAIR Mohamed IMT/OLN;
> [email-masked]
> Cc : [email-masked]
> Objet : Re: [sfc] #3 (nsh): Critical Metadata
> 
> #3: Critical Metadata
> 
> Changes (by [email-masked]):
> 
>  * status:  new => closed
>  * resolution:   => wontfix
> 
> 
> Comment:
> 
>  Reply:  it is unclear what suggested action is being requested.  If
>  further clarification of critical metadata in required, text can be added
>  to the draft, subject to WG review.
> 
> --
> -------------------------------------+------------------------------------
> -
>  Reporter:                           |       Owner:  draft-ietf-sfc-
>   [email-masked]       |  [email-masked]
>      Type:  defect                   |      Status:  closed
>  Priority:  major                    |   Milestone:
> Component:  nsh                      |     Version:
>  Severity:  -                        |  Resolution:  wontfix
>  Keywords:                           |
> -------------------------------------+------------------------------------
> -
> 
> Ticket URL: <https://trac.tools.ietf.org/wg/sfc/trac/ticket/3#comment:2>
> sfc <https://tools.ietf.org/sfc/>