Subject: Re: [OPSAWG] Minutes of L3NM/L2NM module discussions

From: "Roque Gagliano (rogaglia)" <[email-masked]>
Date: Thu, 2 Jul 2020 16:58:04 +0000

Hi WG,

In the GIT repository, I am propossing a different way to address this semantic keeping a single leaf per “case” by using choice.

We had a discussion over the webex last week but wanted to keep the WG upto speed in case there are any comment.

    choice rd-choice {
      case directly-assigned {
        leaf rd {
          type rt-types:route-distinguisher;
        }
      }
      case pool-assigned {
        leaf rd-pool-name {
          type string;
        }
      }
      case no-rd {
        leaf no-rd {
          type empty;
        }
      }
    }

Issue tracker: https://github.com/IETF-OPSAWG-WG/l3nm/issues/114

Regards,
Roque

From: OPSAWG <[email-masked]> on behalf of "Roque Gagliano (rogaglia)" <rogaglia=[email-masked]>
Date: Monday, 1 June 2020 at 21:15
To: Qin Wu <[email-masked]>, Oscar González de Dios <[email-masked]>, opsawg <[email-masked]>
Subject: Re: [OPSAWG] Minutes of L3NM/L2NM module discussions

Hi Qin,

You are absolutely right, I made a bad copy between what I tested:

    leaf rd {
      type rt-types:route-distinguisher;
    }
    container dynamic-assign-rd {
      presence "Auto-assign-rd";
      when "not(../rd)";
      leaf rd-pool-name {
        type string;
      }
    }

Regarding this point:

Should rd-pool-name be defined in L3SM, how does upper layer OSS the RD pool list and related names?
If rd-pool-name is introduced only for troubleshooting, should a separate NBI interface should be defined to expose RD pool resource to the upper layer OSS and maintain the binding between RD and RD pool?

[Roque] I am not very familiar with L3SM but I believe L3NM should have its own lifecycle and not assume that the northbound system is even using L3SM (could be something else). In any case, the assumption that RDs can be assigned dynamically was already in the original L3NM document. I only pointed out that a controller may need more guidance on how to perform this auto-assignment.

Remember the Original description text:
    //   "Route distinguisher value. If this leaf has not been
    //    configured, the server will auto-assign a route
    //    distinguisher value and use that value operationally.
    //    This calculated value is available in the operational
    //    state. Use the empty type to indicate rd has no value
    //    and is not to be auto-assigned"

Please give your troubleshooting usage example to explain how the anomaly in the network change can be located and repaired.

[Roque] There are many reasons why people perform log analysis in the northbound APIs. Some related to problems but some related to auditing or accounting. I would be able to answer your specific question but that is implementation-specific.

Also in your proposed, I think RD should be defined as rt-types:route-distinguisher instead of empty type.

[Roque] Correct, see above (copy and paste error)

Roque

-Qin
发件人: OPSAWG [mailto:[email-masked]] 代表 Roque Gagliano (rogaglia)
发送时间: 2020年5月26日 17:39
收件人: Oscar González de Dios <[email-masked]>; opsawg <[email-masked]>
主题: Re: [OPSAWG] Minutes of L3NM/L2NM module discussions

Hi Oscar,

Thursday was a national holiday and I was not able to participate.

I believe I did say in my previous email that there are not syntax issues with using the union of an empty leaf. I implemented two logics for dynamic rd, one using the current draft construct and one using a different construct with a presence container (to avoid an extra leaf). The reason for a container is that I believe we are also missing to say something about the pool from where the RD should be chosen as there could be more than one pool in a network. So, we will need additional leafs anyhow:

    leaf rd {
      type empty;
    }
    container dynamic-assign-rd {
      presence "Aut-assign-rd";
      when "not(../rd)";
      leaf rd-pool-name {
        type string;
      }
    }

Now, let’s put owerselves on the shoes of a person troubleshooting some provisioning problems of validating a posible network change, Which of these two payloads are clearer to know that a dynamic RD should be used?

1)     Implicit using current draft:

{

  "data": {

    "ietf-l3vpn-ntw:l3vpn-ntw": {

      "vpn-services": {

        "vpn-service": [

          {

            "vpn-id": "650087400",

            "ie-profiles": {

              "ie-profile": [

                {

                  "ie-profile-id": "ie_00”

                }

              ]

            }

          }

        ]

      }

    }

  }

}

2)      Using Explicit mentioned with a presence container and specifying the name of the pool:

{

  "data": {

    "ietf-l3vpn-ntw:l3vpn-ntw": {

      "vpn-services": {

        "vpn-service": [

          {

            "vpn-id": "650087400",

            "ie-profiles": {

              "ie-profile": [

                {

                  "ie-profile-id": "ie_00",

                  "dynamic-assign-rd": {

                    "rd-pool-name": "metro1_rd_pool"

                  }

                }

              ]

            }

          }

        ]

      }

    }

  }

}

Regards,
Roque

From: OPSAWG <[email-masked]<mailto:[email-masked]>> on behalf of Oscar González de Dios <[email-masked]<mailto:[email-masked]>>
Date: Thursday, 21 May 2020 at 16:27
To: opsawg <[email-masked]<mailto:[email-masked]>>
Subject: [OPSAWG] Minutes of L3NM/L2NM module discussions

Dear OPSAWG colleagues,

                Thanks for participating in the call today. Please find bellow the minutes:

L3NM and L2NM module discussions
* Date: 21-May-2020

Participants
- Oscar Gonzalez de Dios (Telefonica)
- Samier Barguil (Telefonica)
- Anton Snizar (Sedona)
- Daniel King (Old Dog Consulting)
- Adrian Farrel (Old Dog Consulting)
- Qin Wu (Huawei)
- Sergio Belotti ()
- Sriram Krishnamurthy (Nokia)
- Italo Busi (Huawei)

1. Agenda:
    - Revision of the L3NM Github issues (https://github.com/IETF-OPSAWG-WG/l3nm/issues)

2. L3NM
    Revision of the three main issues:
Implementation Report by Cisco. It has two main issues (https://github.com/IETF-OPSAWG-WG/l3nm/issues/110)
- Common module to have all the L3NM specific requirements. Type-like module.
[Anton]: It makes implementation simpler. Does not generate unnecessary dependencies
[Adrian]: It depends on if we need module for specific types, to avoid unnecessary imports. Also don't you only need to import types, not the entire module?
[Qin]: With L3SM we did not take an augmentation approach. If there are common types defined in both models, then we may need to find the common components. We should decouple of L3SM.
[Sriram]: Prefer to have a separate type-file for the specific parameters.
[Oscar]: Define a common type-file for the service models.
[Qin]: Is it possible to manage it as an independent draft?

[Oscar in github issues]: After the discussions, it seems reasonable to have a separate Yang module to contain the types. The suggestion is to write the module to cover the four service models (client service models, l3sm, l2sm and Network service models, l2nm, l3nm). It seems reasonable to include this module in l3nm draft instead of creating a new one to avoid dependencies.
Samier, Dan and Anton to collaborate for a first version of the split

- RD Auto-assigment implementation issue (https://github.com/IETF-OPSAWG-WG/l3nm/issues/114)
[Anton]: Do not see an implementation issue. The logic can be used as described in the yang.
[Qin]: Same as Anton. If alternative proposal is used, one additional parameter is needed
[Sriram]: Same as Anton
      [Oscar]: There seems to be a smaller preference for the original aproach. However, in order to be fully sure on the aproach, let's take it to the Yang doctor review.
[Oscar in github issues]: Oscar will sent it to the Yang Doctor Review.

Yang Doctor review Issues (https://github.com/IETF-OPSAWG-WG/l3nm/issues/111)
- Oscar will take care of editorial changes in the draft text.
- The review of the groupings will be done in a second round after the split.
- [Oscar in github issues]: Oscar will assign Med Boucadair the references issues.

- Protocol-Type: Better as a Indentity (https://github.com/IETF-OPSAWG-WG/l3nm/issues/115)
- [Samier]: Its better to have as an Idenity and include as part of the type-file.yang
- [Qin]: Idenity is extensible.
[Oscar in github issues]: Assigned to Samier

- Groupings review. It will be done after the review of the Types and modules.

Implementation status: There is text in RFC 7942 that provides guidance on text to include to show that the implementation status is not intended to be included in the final RFC

Tom Petch review Issues (https://github.com/IETF-OPSAWG-WG/l3nm/issues/112)
    - Oscar fixes the editorial issue of the IANA section.
- [Oscar in github issues]: Oscar will assign Med Boucadair and Qin the references issues in the Yang file.. The review needs to be done in after the module split to avoid conflicts in the yang. Part of the reference work should have been fixed with the update of references for the Yang doctor's review
- [Daniel King]: Volunteers to look at where is the best place to locate the examples.

Best Regards,

                Oscar

________________________________

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.

The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.

Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição

---

From: Oscar González de Dios <[email-masked]>
Date: Fri, 3 Jul 2020 08:00:19 +0000

Hi Roque,

                Samier has made a pull request with the code based on your proposal.

It is available in https://github.com/IETF-OPSAWG-WG/l3nm/pull/172

Can you review it?

                Oscar

De: Roque Gagliano (rogaglia) <[email-masked]>
Enviado el: jueves, 2 de julio de 2020 18:58
Para: Roque Gagliano (rogaglia) <rogaglia=[email-masked]>; Qin Wu <[email-masked]>; Oscar González de Dios <[email-masked]>; opsawg <[email-masked]>
Asunto: Re: [OPSAWG] Minutes of L3NM/L2NM module discussions

Hi WG,

    choice rd-choice {
      case directly-assigned {
        leaf rd {

Regards,
Roque

From: OPSAWG <[email-masked]<mailto:[email-masked]>> on behalf of "Roque Gagliano (rogaglia)" <rogaglia=[email-masked]<mailto:rogaglia=[email-masked]>>
Date: Monday, 1 June 2020 at 21:15
To: Qin Wu <[email-masked]<mailto:[email-masked]>>, Oscar González de Dios <[email-masked]<mailto:[email-masked]>>, opsawg <[email-masked]<mailto:[email-masked]>>
Subject: Re: [OPSAWG] Minutes of L3NM/L2NM module discussions

Hi Qin,

    leaf rd {

Regarding this point:

Roque

-Qin
发件人: OPSAWG [mailto:[email-masked]] 代表 Roque Gagliano (rogaglia)
发送时间: 2020年5月26日 17:39
收件人: Oscar González de Dios <[email-masked]<mailto:[email-masked]>>; opsawg <[email-masked]<mailto:[email-masked]>>
主题: Re: [OPSAWG] Minutes of L3NM/L2NM module discussions

Hi Oscar,

    leaf rd {
      type empty;
    }

{

  "data": {

      "vpn-services": {

        "vpn-service": [

          {

            "vpn-id": "650087400",

            "ie-profiles": {

              "ie-profile": [

                {

                  "ie-profile-id": "ie_00”

                }

              ]

            }

          }

        ]

      }

    }

  }

}

{

  "data": {

      "vpn-services": {

        "vpn-service": [

          {

            "vpn-id": "650087400",

            "ie-profiles": {

              "ie-profile": [

                {

                  "dynamic-assign-rd": {

                  }

                }

              ]

            }

          }

        ]

      }

    }

  }

}

Regards,
Roque

Dear OPSAWG colleagues,

Participants

1. Agenda:

2. L3NM

Best Regards,

                Oscar