Skip to content

Add support for connection point status - #1532

Open
arun-arista wants to merge 1 commit into
openconfig:masterfrom
arun-arista:patchStatus
Open

Add support for connection point status#1532
arun-arista wants to merge 1 commit into
openconfig:masterfrom
arun-arista:patchStatus

Conversation

@arun-arista

Copy link
Copy Markdown
  • (M) release/models/network-instance/openconfig-network-instance-types.yang
  • (M) release/models/network-instance/openconfig-network-instance.yang

Change Scope

  • We would like to extend the state container under connection-point to include oper-status, which would stream the operational status of the connection-point.
  • This change is backwards compatible

Platform Implementations

Arista:
https://www.arista.com/en/support/toi/eos-4-31-0f/18464-l2-traffic-over-a-gre-tunnel-using-static-mpls-pseudowire
https://www.arista.com/en/support/toi/eos-4-25-1f/14650-ldp-pseudowire

CLI Configuration:

switch(config)# patch panel
switch(config-patch)# patch patch1
switch(config-patch-patch1)# connector 1 interface Port-Channel7.1000
switch(config-patch-patch1)# connector 2 pseudowire mpls static pwname

Example show command:

switch#sh patch panel
Patch  Connector                   Status Last Change  
------ --------------------------- ------ -----------  
patch1 1: Port-Channel7.1000       Up     5:55:12 ago  
       2: MPLS static pwname

Tree View

module: openconfig-network-instance
  +--rw network-instances
     +--rw network-instance* [name]
        +--rw connection-points
           +--rw connection-point* [connection-point-id]
              +--rw connection-point-id    -> ../config/connection-point-id
              +--rw config
              |  +--rw connection-point-id?   string
              +--ro state
              |  +--ro connection-point-id?   string
+             |  +--ro oper-status?           identityref
              +--rw endpoints

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new operational status leaf (oper-status) for connection points in openconfig-network-instance.yang and defines the corresponding CONNECTION_POINT_OPER_STATUS identity and its possible values in openconfig-network-instance-types.yang. The review feedback suggests prefixing the generic identity names (such as UP, DOWN, ADMIN_DOWN, and STANDBY) with CONNECTION_POINT_ to prevent potential namespace conflicts and ensure future extensibility within the module.

Comment on lines +210 to +260
identity ADMIN_DOWN {
base CONNECTION_POINT_OPER_STATUS;
description
"The connection point is administratively down.";
}

identity CONFIG_CONFLICT {
base CONNECTION_POINT_OPER_STATUS;
description
"The connection point is down due to a configuration conflict.
Examples are: - Multiple endpoints configured with the same local
MPLS label. - A static endpoint configured with both a tunnel interface
and a nexthop-group transport.";
}

identity DOWN {
base CONNECTION_POINT_OPER_STATUS;
description
"The connection point is operationally down due to a forwarding plane
or transport failure. This is distinct from ADMIN_DOWN, UNPROGRAMMED
and CONFIG_CONFLICT. Typical causes include a failed transport tunnel,
loss of the remote signaling session, or the local interface being down.";
}

identity UNPROGRAMMED {
base CONNECTION_POINT_OPER_STATUS;
description
"The connection point configuration has been resolved and validated,
but the hardware programming has not completed or has failed.";
}

identity UP {
base CONNECTION_POINT_OPER_STATUS;
description
"The connection point is fully operational.";
}

identity PARTIALLY_UP {
base CONNECTION_POINT_OPER_STATUS;
description
"At least one endpoint is up and programmed while at least one other
endpoint is not fully up or programmed.";
}

identity STANDBY {
base CONNECTION_POINT_OPER_STATUS;
description
"The connection point is configured as a backup and is not actively forwarding
traffic. It will transition to UP upon failure of the primary
connection point.";
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Defining generic identity names like UP, DOWN, ADMIN_DOWN, and STANDBY directly in openconfig-network-instance-types.yang can lead to namespace conflicts in the future. Since YANG identity names must be unique within a module, defining these generic names for connection points prevents any other operational status (e.g., for endpoints, pseudowires, or other network instance components) from using the same names in this types module.

To ensure future extensibility and avoid namespace pollution, it is highly recommended to prefix these identities with CONNECTION_POINT_ (or CP_).

  identity CONNECTION_POINT_ADMIN_DOWN {
    base CONNECTION_POINT_OPER_STATUS;
    description
      "The connection point is administratively down.";
  }

  identity CONNECTION_POINT_CONFIG_CONFLICT {
    base CONNECTION_POINT_OPER_STATUS;
    description
      "The connection point is down due to a configuration conflict.
      Examples are: - Multiple endpoints configured with the same local
      MPLS label. - A static endpoint configured with both a tunnel interface
      and a nexthop-group transport.";
  }

  identity CONNECTION_POINT_DOWN {
    base CONNECTION_POINT_OPER_STATUS;
    description
      "The connection point is operationally down due to a forwarding plane
      or transport failure. This is distinct from ADMIN_DOWN, UNPROGRAMMED
      and CONFIG_CONFLICT. Typical causes include a failed transport tunnel,
      loss of the remote signaling session, or the local interface being down.";
  }

  identity CONNECTION_POINT_UNPROGRAMMED {
    base CONNECTION_POINT_OPER_STATUS;
    description
      "The connection point configuration has been resolved and validated,
      but the hardware programming has not completed or has failed.";
  }

  identity CONNECTION_POINT_UP {
    base CONNECTION_POINT_OPER_STATUS;
    description
      "The connection point is fully operational.";
  }

  identity CONNECTION_POINT_PARTIALLY_UP {
    base CONNECTION_POINT_OPER_STATUS;
    description
      "At least one endpoint is up and programmed while at least one other
      endpoint is not fully up or programmed.";
  }

  identity CONNECTION_POINT_STANDBY {
    base CONNECTION_POINT_OPER_STATUS;
    description
      "The connection point is configured as a backup and is not actively forwarding
      traffic. It will transition to UP upon failure of the primary
      connection point.";
  }

@arun-arista

Copy link
Copy Markdown
Author

/gcbrun

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant