Add support for connection point status - #1532
Conversation
There was a problem hiding this comment.
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.
| 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."; | ||
| } |
There was a problem hiding this comment.
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.";
}
|
/gcbrun |
Change Scope
oper-status, which would stream the operational status of the connection-point.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:
Example show command:
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