Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions models/yang/annotations/openconfig-platform-annot.yang
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
module openconfig-platform-annot {

yang-version "1";
namespace "http://openconfig.net/yang/platform-annot";
prefix "oc-platform-annot";

import openconfig-platform { prefix oc-platform; }
import sonic-extensions { prefix sonic-ext; }

deviation /oc-platform:components/oc-platform:component {
deviate add {
sonic-ext:subtree-transformer "pfm_components_xfmr";
}
}
}
120 changes: 120 additions & 0 deletions models/yang/openconfig-platform-boot-loader.yang
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
module openconfig-platform-boot-loader {

yang-version "1";

// namespace
namespace "http://openconfig.net/yang/platform/boot-loader";

prefix "oc-boot-loader";

import openconfig-platform { prefix oc-platform; }
import openconfig-extensions { prefix oc-ext; }

// meta
organization "OpenConfig working group";

contact
"OpenConfig working group
www.openconfig.net";

description
"This module defines data related to BOOT_LOADER components in the
OpenConfig platform model.";

oc-ext:openconfig-version "0.2.0";

revision "2026-02-27" {
description
"Added uboot, linuxboot, and systemd-boot types";
reference "0.2.0";
}

revision "2025-07-10" {
description
"Initial revision";
reference "0.1.0";
}

// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";

// identity statements
identity BOOT_LOADER_BASE {
description
"Base identity for boot-loader types";
}

identity BOOT_LOADER_GRUB {
base BOOT_LOADER_BASE;
description
"GRUB is a boot-loader and boot manager for Linux and other Unix-based
OSes.";
reference "https://www.gnu.org/software/grub/";
}

identity BOOT_LOADER_ONIE {
base BOOT_LOADER_BASE;
description
"Open Network Install Environment (ONIE) is the combination of a boot
loader and a small operating system for network switches.

https://opencomputeproject.github.io/onie/overview/";
}

identity BOOT_LOADER_UBOOT {
base BOOT_LOADER_BASE;
description
"Das U-Boot, or the Universal Boot Loader.";
reference "https://u-boot.org/about/";
}

identity BOOT_LOADER_LINUXBOOT {
base BOOT_LOADER_BASE;
description
"LinuxBoot is the concept of using a Linux kernel and initramfs as a
bootloader.";
reference "https://www.linuxboot.org/";
}

identity BOOT_LOADER_SYSTEMD_BOOT {
base BOOT_LOADER_BASE;
description
"systemd-boot, previously called gummiboot (German for 'rubber dinghy')
and sometimes referred to as sd-boot, is an easy-to-configure UEFI boot
manager. It provides a textual menu to select the boot entry and an editor
for the kernel command line.";
reference "https://systemd.io/";
}

// typedef statements

// grouping statements

grouping boot-loader-state {
description
"Operational state data for boot-loader components";

leaf type {
type identityref {
base BOOT_LOADER_BASE;
}
description
"Specifies the type of boot-loader";
}
}

// data definition statements

// augment statements

augment "/oc-platform:components/oc-platform:component/" +
"oc-platform:boot-loader/oc-platform:state" {
description
"Adding boot-loader data to component model";

uses boot-loader-state;
}

}
15 changes: 15 additions & 0 deletions models/yang/openconfig-platform.yang
Original file line number Diff line number Diff line change
Expand Up @@ -1283,6 +1283,21 @@ revision "2024-05-29" {
"Operational state data for controller card components";
}
}
container boot-loader {
description
"Data for boot-loader components";

container config {
description
"Configuration data for boot-loader components";
}

container state {
config false;
description
"Operational state data for boot-loader components";
}
}
}

grouping platform-component-top {
Expand Down
Loading