Subject: Re: [Time] Comments on draft-tissa-netmod-oam-01

From: Qin Wu <[email-masked]>
Date: Tue, 8 Jul 2014 13:09:46 +0000

Sorry to chime in.
See some comments inline below.
-----邮件原件-----
>发件人: netmod [mailto:[email-masked]] 代表 Nobo Akiya (nobo)
>发送时间: 2014年7月5日 1:09
>收件人: Tissa Senevirathne (tsenevir)
>抄送: [email-masked]
>主题: [netmod] Comments on draft-tissa-netmod-oam-01

>Hi Tissa, authors,

>First of all, intent of this document seems widely beneficial. I am interested to see how and In what form this document will progress.

>Please find below few comments I have on the draft-tissa-netmod-oam-01, from a quick look at the document.

>Comment #1: Section 6

> [snip]
>     typedef CCM-Interval {
>       default "interval-1min";
>       type enumeration {
>         enum "interval-invalid" {
>           value 0;
>         }
         ...
>         enum "interval-10min" {
>           value 7;
>         }
>      }
       ...
>     }
> [snip]

>When considering all OAM tools out there, defining a hard coded set of intervals (via enum) may not be a good idea. BFD implementations (SW/HW) springs to my mind immediately. For HW 
>based BFD, BFD WG is working on an informational document for recommended set of intervals: draft-ietf-bfd-intervals. However, intervals outside of that set can still be implemented by 
>vendors for HW based BFD. SW based BFD, obviously, has much more flexibility in the range of intervals to use. A better approach may be to change above from enum to identify ref (or
>something else) which can be augmented.

>Comment #2: Section 6

> [snip]
>     typedef ecmp-choices {
>       type enumeration {
>         enum "ecmp-use-platform-hash" {
>           value 0;
>         }
>         enum "ecmp-use-round-robin" {
>           value 1;
>         }
>       }
>     }
> [snip]
>                 leaf ecmp-choice {
>                   config true;
>                   type ecmp-choices;
>                   description
>                     "0 means use the specified interface
>                      1 means use round robin";
>                 }
> [snip]

>Above two seems a bit conflicting for the value of zero(0). Former states that zero(0) indicates usage of platform hash but the latter indicates that specific interface is used (i.e. not hashed?). >Thinking about this, I believe "ecmp-choices" is overloaded. You actually want to be able to describe 3 different things here.

>1. Configuring a specific load balancing technique on a system (ex: EL, round-robin or something else).

[Qin]: are you proposing to replace ecmp-use-platform-hash with EL and have the following change to ecmp-choices typdef
NEW TEXT:
"
     typedef ecmp-choices {
       type enumeration {
         enum "Entropy Lable" {
           value 0;
         }
         enum "ecmp-use-round-robin" {
           value 1;
         }
       }
     }
"
However draft-tissa also has flow-entropy grouping to be defined
"
     grouping flow-entropy {
       description
         "defines the grouping statement for flow-entropy";
       choice flow-entropy {
         case flow-entropy-null;
       }
     }
"
Which make me difficult to understand how flow-entropy grouping is related to ecmp-choices

>2. Describing the output behavior on the OAM instance (ex: out to specific interface vs. load balanced).

[Qin]: I am wondering why not consider input behavior or input key to load balancing technique.

>3. Describe the setting on the path discovery OAM instance (ex: LSP tree trace using multipath 2, 4, 8, 9, 10).

[Qin]: Is this setting on path discovery OAM instance common setting? Or different OAM tool have different setting for path discovery mechanism.
Or you are just talking about different path have different setting?
I am trying to understand this.

>Perhaps a different object for each may be a good idea. (2) can be an enum 

>but it'll be beneficial to be able for various OAM tools to augment (1) and (3).

[Qin]: I tend to agree with this.

---

From: "Nobo Akiya (nobo)" <[email-masked]>
Date: Thu, 10 Jul 2014 13:17:01 +0000

Hi Qin,

Please see in-line with [NOBO].

> -----Original Message-----
> From: Qin Wu [mailto:[email-masked]]
> Sent: Tuesday, July 08, 2014 9:10 AM
> To: Nobo Akiya (nobo); Tissa Senevirathne (tsenevir)
> Cc: [email-masked]; [email-masked]
> Subject: RE: Comments on draft-tissa-netmod-oam-01
> 
> Sorry to chime in.
> >First of all, intent of this document seems widely beneficial. I am
> interested to see how and In what form this document will progress.
> 
> >When considering all OAM tools out there, defining a hard coded set of
> >intervals (via enum) may not be a good idea. BFD implementations
> >(SW/HW) springs to my mind immediately. For HW based BFD, BFD WG is
> >working on an informational document for recommended set of intervals:
> draft-ietf-bfd-intervals. However, intervals outside of that set can still be
> implemented by vendors for HW based BFD. SW based BFD, obviously, has
> much more flexibility in the range of intervals to use. A better approach
> may be to change above from enum to identify ref (or something else)
> which can be augmented.
> 
> 
> >Comment #2: Section 6
> 
> > [snip]
> >     typedef ecmp-choices {
> >       type enumeration {
> >Above two seems a bit conflicting for the value of zero(0). Former states
> that zero(0) indicates usage of platform hash but the latter indicates that
> specific interface is used (i.e. not hashed?). >Thinking about this, I believe
> "ecmp-choices" is overloaded. You actually want to be able to describe 3
> different things here.
> 
> [Qin]: are you proposing to replace ecmp-use-platform-hash with EL and
> have the following change to ecmp-choices typdef NEW TEXT:

[NOBO] We should probably take a step back, and decide if configuring load balancing behaviors on systems is something that belongs within draft-tissa-netmod-oam or not.

> However draft-tissa also has flow-entropy grouping to be defined "
>      grouping flow-entropy {
>        description

[NOBO] The goal here is to describe how OAM packets are sent from the system, so it's not that input behavior but it's the output behavior that we need to describe. Additionally, if the OAM packet is to get load balanced out from the system, then the fields from the packet contents should be used for load balancing, and not a separate input key. We will need to set certain fields of the OAM packets (ex: EL value, IP address, port), so if you meant "input key" to set those fields, then I agree.

> [Qin]: Is this setting on path discovery OAM instance common setting? Or
> different OAM tool have different setting for path discovery mechanism.

[NOBO] Probably both. At least with RFC4379, it is one mechanism but allows multiple path discovery techniques within it.

> [Qin]: I tend to agree with this.

:)

Thanks!

-Nobo

---

From: Qin Wu <[email-masked]>
Date: Thu, 10 Jul 2014 13:26:33 +0000

-----邮件原件-----
发件人: Nobo Akiya (nobo) [mailto:[email-masked]] 
发送时间: 2014年7月10日 21:17
收件人: Qin Wu; Tissa Senevirathne (tsenevir)
抄送: [email-masked]; [email-masked]
主题: RE: Comments on draft-tissa-netmod-oam-01

Hi Qin,

> >Please find below few comments I have on the 
> >draft-tissa-netmod-oam-01,
> from a quick look at the document.
> 
> 
> >Comment #1: Section 6
> 
> > [snip]
> >     typedef CCM-Interval {
> >       default "interval-1min";
> >       type enumeration {
> >When considering all OAM tools out there, defining a hard coded set 
> >of intervals (via enum) may not be a good idea. BFD implementations
> draft-ietf-bfd-intervals. However, intervals outside of that set can 
> still be implemented by vendors for HW based BFD. SW based BFD, 
> obviously, has much more flexibility in the range of intervals to use. 
> A better approach may be to change above from enum to identify ref (or 
> that zero(0) indicates usage of platform hash but the latter indicates 
> that specific interface is used (i.e. not hashed?). >Thinking about 
> this, I believe "ecmp-choices" is overloaded. You actually want to be 
> able to describe 3 different things here.
> 
> >1. Configuring a specific load balancing technique on a system (ex: 
> >EL,
> round-robin or something else).
> 

[Qin]: Make sense to me.

> >2. Describing the output behavior on the OAM instance (ex: out to 
> >specific
> interface vs. load balanced).
> 

[Qin]: Yes, I means those fields. Thanks for your clear clarification.