openconfig/public

How to Enable Record Route for MPLS Tunnels(LSPs)

Closed this issue · 5 comments

Hello,

OpenConfig has the definitions for record route objects. However, there is no config/state leaf for record-route under LSPs. Does OpenConfig always assume record-route is enabled on MPLS tunnels and cannot be turned off?

I suggest that something similar to the snippet below can be added under tunnel-p2p-attributes-config

container record-route-config {
  leaf enabled {
    type Boolean;
    default false;
    description
      "enables record-route on the
       lsp";
  }
}
dplore commented

Hi, thanks for the comments. This is a good obseration. OC only exposes record route objects as state via this container:
/network-instances/network-instance/mpls/signaling-protocols/rsvp-te/sessions/session/record-route-objects/record-route-object/state

There is no enable/disable for record route in OC today, so it is implied that record route is always enabled.

Do you need to disable record route?

Your proposal seems to align in concept with what Cisco IOS-XR and JunOS
support. That is, enable/disable record route (which is on a per tunnel interface). IOSXR and JunOS have different defaults though. (Cisco appears to disable by default where JunOS is enabled by default).

I think I would just add an enabled leaf under the existing grouping you linked to. An additional container isn't needed.

ie something like:

  grouping tunnel-p2p-attributes-config {
    description
      "Configuration related to p2p LSPs";
    leaf destination {
      type inet:ip-address;
      description
        "P2P tunnel destination address";
    }
    leaf enabled {
      type Boolean;
      default true;
      description
        "Enables recording a path on an LSP using the record route object (RRO)";
    }
  }

I prefer enable by default as this is inline with the current expected OC behavior, making this a non-breaking change.

As you’ve pointed out, record route is disabled by default on IOS-XR. Therefore, there must be a way inside OpenConfig to enable it.

However, I disagree on giving any default values to this leaf. The reason is that currently the default behaviour for record route on tunnels using OpenConfig is rather undefined than enabled. The default behaviour is up to each vendor’s operating system. Since OpenConfig is intended to be vendor-neutral, providing any default value to this leaf is favouring some operating systems over the others.

Hence, I propose to add something like below:

  grouping tunnel-p2p-attributes-config {
    description
      "Configuration related to p2p LSPs";
    leaf destination {
      type inet:ip-address;
      description
        "P2P tunnel destination address";
    }
    leaf record-record-enabled {
      type Boolean;
      description
        "Enables recording a path on an LSP using the record route object (RRO)";
    }
  }
dplore commented

We discussed in OC operators group today. @oscargdd noted that RRO is an optional specification in MPLS. IMO, this does mean that RRO should not be enabled by default.

Please propose a pull request to add this leaf. The community can debate if there needs to be a default, but I agree that by RFC defniition that the feature is optional means the default does not need to be 'enabled'.

Opened #926