From 877a4e4de622e5fa62d3d4df999cdaac83b7a98d Mon Sep 17 00:00:00 2001 From: Brian Neville <29639579+brianneville@users.noreply.github.com> Date: Mon, 23 Mar 2026 19:21:07 +0000 Subject: [PATCH 1/7] platform: add ACTION_FW_REPROGRAM Add an identity to represent the case where the network operator should reprogram FPGA images and reload drivers in an effort to remediate a fault --- .../openconfig-platform-healthz-fault.yang | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-healthz-fault.yang b/release/models/platform/openconfig-platform-healthz-fault.yang index 5c1318114d..1ac44bdc74 100644 --- a/release/models/platform/openconfig-platform-healthz-fault.yang +++ b/release/models/platform/openconfig-platform-healthz-fault.yang @@ -23,7 +23,13 @@ module openconfig-platform-healthz-fault { description "This model defines device reported fault"; - oc-ext:openconfig-version "0.1.0"; + oc-ext:openconfig-version "0.1.1"; + + revision "2026-03-23" { + description + "Add ACTION_FW_REPROGRAM"; + reference "0.1.1"; + } revision "2025-08-05" { description @@ -126,6 +132,12 @@ module openconfig-platform-healthz-fault { "Replace component."; } + identity ACTION_FW_REPROGRAM { + base ACTION_BASE; + description + "Force-reprogram all FPGA images and reload drivers"; + } + grouping platform-health-faults { description "Grouping containing a component's active faults"; From bf9bbb5aae88495d9c2204b9dd152dd72b61e4ef Mon Sep 17 00:00:00 2001 From: Brian Neville <29639579+brianneville@users.noreply.github.com> Date: Mon, 23 Mar 2026 20:23:50 +0000 Subject: [PATCH 2/7] update description to be more general, but note chassis as an example --- .../models/platform/openconfig-platform-healthz-fault.yang | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-healthz-fault.yang b/release/models/platform/openconfig-platform-healthz-fault.yang index 1ac44bdc74..0c4afd5a6c 100644 --- a/release/models/platform/openconfig-platform-healthz-fault.yang +++ b/release/models/platform/openconfig-platform-healthz-fault.yang @@ -135,7 +135,10 @@ module openconfig-platform-healthz-fault { identity ACTION_FW_REPROGRAM { base ACTION_BASE; description - "Force-reprogram all FPGA images and reload drivers"; + "Force-reprogram the firmware for the targeted component. + E.g. for the Chassis component this could mean + force-reprogramming all FPGAs and reloading + all drivers on the Chassis"; } grouping platform-health-faults { From 104aa6dbe1aab26782b3be945d1e2f5ce8e49f0b Mon Sep 17 00:00:00 2001 From: Brian Neville <29639579+brianneville@users.noreply.github.com> Date: Mon, 23 Mar 2026 20:24:07 +0000 Subject: [PATCH 3/7] add description leaf --- .../models/platform/openconfig-platform-healthz-fault.yang | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/release/models/platform/openconfig-platform-healthz-fault.yang b/release/models/platform/openconfig-platform-healthz-fault.yang index 0c4afd5a6c..8c5b000aed 100644 --- a/release/models/platform/openconfig-platform-healthz-fault.yang +++ b/release/models/platform/openconfig-platform-healthz-fault.yang @@ -310,6 +310,12 @@ module openconfig-platform-healthz-fault { disruptive."; } + leaf description { + type string; + description + "Description for the remediating action"; + } + leaf action { description "The specific action to be performed"; From b35c4010d4a7094b38f0017c26a630285282573e Mon Sep 17 00:00:00 2001 From: Brian Neville <29639579+brianneville@users.noreply.github.com> Date: Mon, 23 Mar 2026 20:50:21 +0000 Subject: [PATCH 4/7] update revision --- release/models/platform/openconfig-platform-healthz-fault.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-healthz-fault.yang b/release/models/platform/openconfig-platform-healthz-fault.yang index 8c5b000aed..d0d25c8b11 100644 --- a/release/models/platform/openconfig-platform-healthz-fault.yang +++ b/release/models/platform/openconfig-platform-healthz-fault.yang @@ -27,7 +27,7 @@ module openconfig-platform-healthz-fault { revision "2026-03-23" { description - "Add ACTION_FW_REPROGRAM"; + "Add remediation description and ACTION_FW_REPROGRAM"; reference "0.1.1"; } From cdf29119076a1f780f2fa8b0b585e57926d5c142 Mon Sep 17 00:00:00 2001 From: Brian Neville <29639579+brianneville@users.noreply.github.com> Date: Mon, 23 Mar 2026 22:31:44 +0000 Subject: [PATCH 5/7] update description on ACTION_FW_REPROGRAM --- .../openconfig-platform-healthz-fault.yang | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-healthz-fault.yang b/release/models/platform/openconfig-platform-healthz-fault.yang index d0d25c8b11..0350c87c00 100644 --- a/release/models/platform/openconfig-platform-healthz-fault.yang +++ b/release/models/platform/openconfig-platform-healthz-fault.yang @@ -136,9 +136,21 @@ module openconfig-platform-healthz-fault { base ACTION_BASE; description "Force-reprogram the firmware for the targeted component. + In many cases where this action is required, the targeted + component must be powercycled for the reprogramming + to take effect. + + In comparison to ACTION_FACTORY_RESET action, + ACTION_FW_REPROGRAM does not necessarily involve resetting + the firmware back to its factory default. It also does not + involve resetting any certificates on disk or removing + any config files or OS images. + E.g. for the Chassis component this could mean force-reprogramming all FPGAs and reloading - all drivers on the Chassis"; + all drivers on the Chassis. + This reprogramming would be to the currently-installed + version, not the factory default version." } grouping platform-health-faults { From 90dc063968cf6632b35de450208cdef4345a5877 Mon Sep 17 00:00:00 2001 From: Brian Neville <29639579+brianneville@users.noreply.github.com> Date: Mon, 23 Mar 2026 22:45:22 +0000 Subject: [PATCH 6/7] update description on ACTION_FW_REPROGRAM --- .../models/platform/openconfig-platform-healthz-fault.yang | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/release/models/platform/openconfig-platform-healthz-fault.yang b/release/models/platform/openconfig-platform-healthz-fault.yang index 0350c87c00..0437b4958b 100644 --- a/release/models/platform/openconfig-platform-healthz-fault.yang +++ b/release/models/platform/openconfig-platform-healthz-fault.yang @@ -136,9 +136,8 @@ module openconfig-platform-healthz-fault { base ACTION_BASE; description "Force-reprogram the firmware for the targeted component. - In many cases where this action is required, the targeted - component must be powercycled for the reprogramming - to take effect. + The targeted component may need to be powercycled + for the reprogramming to take effect. In comparison to ACTION_FACTORY_RESET action, ACTION_FW_REPROGRAM does not necessarily involve resetting From 8589174470713f3075ebc9b878ae1c3c52160802 Mon Sep 17 00:00:00 2001 From: Brian Neville <29639579+brianneville@users.noreply.github.com> Date: Mon, 30 Mar 2026 17:51:49 +0100 Subject: [PATCH 7/7] add semicolon in description --- release/models/platform/openconfig-platform-healthz-fault.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-healthz-fault.yang b/release/models/platform/openconfig-platform-healthz-fault.yang index 0437b4958b..2d5bf28b8c 100644 --- a/release/models/platform/openconfig-platform-healthz-fault.yang +++ b/release/models/platform/openconfig-platform-healthz-fault.yang @@ -149,7 +149,7 @@ module openconfig-platform-healthz-fault { force-reprogramming all FPGAs and reloading all drivers on the Chassis. This reprogramming would be to the currently-installed - version, not the factory default version." + version, not the factory default version."; } grouping platform-health-faults {