mirror of
https://github.com/kernelkit/infix.git
synced 2026-08-06 23:43:20 +02:00
infix-*.yang: fix indentation (2 spaces)
Align indentation in all infix yang models to be 2 spaces. Signed-off-by: Richard Alpe <richard@bit42.se>
This commit is contained in:
committed by
Tobias Waldekranz
parent
9c466b84df
commit
0549de0eec
@@ -28,58 +28,58 @@ module infix-dhcp-client {
|
||||
type union {
|
||||
type string;
|
||||
type enumeration {
|
||||
enum subnet {
|
||||
value 1;
|
||||
description "Subnet (IP address and netmask)";
|
||||
}
|
||||
enum router {
|
||||
value 3;
|
||||
description "Default route(s)";
|
||||
}
|
||||
enum dns {
|
||||
value 6;
|
||||
description "DNS server";
|
||||
}
|
||||
enum hostname {
|
||||
value 12;
|
||||
description "Hostname";
|
||||
}
|
||||
enum domain {
|
||||
value 15;
|
||||
description "Domain name";
|
||||
}
|
||||
enum broadcast {
|
||||
value 28;
|
||||
description "Broadcast address";
|
||||
}
|
||||
enum ntpsrv {
|
||||
value 42;
|
||||
description "NTP server";
|
||||
}
|
||||
enum address {
|
||||
value 50;
|
||||
description "Requested (previously cached) address";
|
||||
}
|
||||
enum clientid {
|
||||
value 61;
|
||||
description "Client ID (default MAC, and option 12)";
|
||||
}
|
||||
enum fqdn {
|
||||
value 81;
|
||||
description "Request DNS update of client FQDN argument";
|
||||
}
|
||||
enum search {
|
||||
value 119;
|
||||
description "Domain search list";
|
||||
}
|
||||
enum staticroutes {
|
||||
value 121;
|
||||
description "Classless static routes";
|
||||
}
|
||||
enum msstaticroutes {
|
||||
value 249;
|
||||
description "Microsoft classless static routes";
|
||||
}
|
||||
enum subnet {
|
||||
value 1;
|
||||
description "Subnet (IP address and netmask)";
|
||||
}
|
||||
enum router {
|
||||
value 3;
|
||||
description "Default route(s)";
|
||||
}
|
||||
enum dns {
|
||||
value 6;
|
||||
description "DNS server";
|
||||
}
|
||||
enum hostname {
|
||||
value 12;
|
||||
description "Hostname";
|
||||
}
|
||||
enum domain {
|
||||
value 15;
|
||||
description "Domain name";
|
||||
}
|
||||
enum broadcast {
|
||||
value 28;
|
||||
description "Broadcast address";
|
||||
}
|
||||
enum ntpsrv {
|
||||
value 42;
|
||||
description "NTP server";
|
||||
}
|
||||
enum address {
|
||||
value 50;
|
||||
description "Requested (previously cached) address";
|
||||
}
|
||||
enum clientid {
|
||||
value 61;
|
||||
description "Client ID (default MAC, and option 12)";
|
||||
}
|
||||
enum fqdn {
|
||||
value 81;
|
||||
description "Request DNS update of client FQDN argument";
|
||||
}
|
||||
enum search {
|
||||
value 119;
|
||||
description "Domain search list";
|
||||
}
|
||||
enum staticroutes {
|
||||
value 121;
|
||||
description "Classless static routes";
|
||||
}
|
||||
enum msstaticroutes {
|
||||
value 249;
|
||||
description "Microsoft classless static routes";
|
||||
}
|
||||
}
|
||||
}
|
||||
description "Supported DHCP client request options";
|
||||
@@ -111,8 +111,8 @@ module infix-dhcp-client {
|
||||
description "Enable DHCP client for this interface.";
|
||||
}
|
||||
leaf client-id {
|
||||
type string;
|
||||
description "Optional Client ID, option 61, default: MAC address.";
|
||||
type string;
|
||||
description "Optional Client ID, option 61, default: MAC address.";
|
||||
}
|
||||
leaf arping {
|
||||
type boolean;
|
||||
@@ -120,32 +120,32 @@ module infix-dhcp-client {
|
||||
description "ARP for lease to check for IP address collisions (slow).";
|
||||
}
|
||||
list option {
|
||||
key "name";
|
||||
description
|
||||
"List of DHCP options to request (and accept). The default is an
|
||||
empty list, meaning all supported options. To restrict the
|
||||
client to only get IP address and default route, set this to:
|
||||
'subnet router'";
|
||||
leaf name {
|
||||
type dhcp-options;
|
||||
description "DHCP option to request from, or inform server of.";
|
||||
}
|
||||
leaf value {
|
||||
type string;
|
||||
description "Optional value, only used for non-flag request options.
|
||||
Example: option:hostname, value:xyzzy
|
||||
option:clientid, value:01:02:03:04:05:06:07:08:09:0a
|
||||
option:0x51, value:xyzzy.example.com";
|
||||
}
|
||||
key "name";
|
||||
description
|
||||
"List of DHCP options to request (and accept). The default is an
|
||||
empty list, meaning all supported options. To restrict the
|
||||
client to only get IP address and default route, set this to:
|
||||
'subnet router'";
|
||||
leaf name {
|
||||
type dhcp-options;
|
||||
description "DHCP option to request from, or inform server of.";
|
||||
}
|
||||
leaf value {
|
||||
type string;
|
||||
description "Optional value, only used for non-flag request options.
|
||||
Example: option:hostname, value:xyzzy
|
||||
option:clientid, value:01:02:03:04:05:06:07:08:09:0a
|
||||
option:0x51, value:xyzzy.example.com";
|
||||
}
|
||||
}
|
||||
leaf route-preference {
|
||||
type route-preference;
|
||||
default 100;
|
||||
description
|
||||
"The metric any route is installed with, both option 33 and 121.
|
||||
The default (100) is based on a plain Ethernet interface, the
|
||||
interface type determines this, e.g. a WiFi interface would be
|
||||
metric 500.";
|
||||
type route-preference;
|
||||
default 100;
|
||||
description
|
||||
"The metric any route is installed with, both option 33 and 121.
|
||||
The default (100) is based on a plain Ethernet interface, the
|
||||
interface type determines this, e.g. a WiFi interface would be
|
||||
metric 500.";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,25 +51,25 @@ submodule infix-if-bridge {
|
||||
typedef ieee-reserved-groups {
|
||||
type union {
|
||||
type uint8 {
|
||||
range "0..15";
|
||||
range "0..15";
|
||||
}
|
||||
type enumeration {
|
||||
enum stp {
|
||||
value 0;
|
||||
description "Spanning Tree (STP/RSPT/MSTP).";
|
||||
}
|
||||
enum lacp {
|
||||
value 2;
|
||||
description "802.3 Slow Protocols, e.g., LACP.";
|
||||
}
|
||||
enum dot1x {
|
||||
value 3;
|
||||
description "802.1X Port-Based Network Access Control.";
|
||||
}
|
||||
enum lldp {
|
||||
value 14;
|
||||
description "802.1AB Link Layer Discovery Protocol (LLDP).";
|
||||
}
|
||||
enum stp {
|
||||
value 0;
|
||||
description "Spanning Tree (STP/RSPT/MSTP).";
|
||||
}
|
||||
enum lacp {
|
||||
value 2;
|
||||
description "802.3 Slow Protocols, e.g., LACP.";
|
||||
}
|
||||
enum dot1x {
|
||||
value 3;
|
||||
description "802.1X Port-Based Network Access Control.";
|
||||
}
|
||||
enum lldp {
|
||||
value 14;
|
||||
description "802.1AB Link Layer Discovery Protocol (LLDP).";
|
||||
}
|
||||
}
|
||||
}
|
||||
description
|
||||
@@ -92,20 +92,20 @@ submodule infix-if-bridge {
|
||||
description "IEEE 802.1Q style bridge.";
|
||||
|
||||
leaf-list ieee-group-forward {
|
||||
type ieee-reserved-groups;
|
||||
description
|
||||
"List of IEEE link-local protocols to forward, e.g., STP, LLDP";
|
||||
type ieee-reserved-groups;
|
||||
description
|
||||
"List of IEEE link-local protocols to forward, e.g., STP, LLDP";
|
||||
}
|
||||
|
||||
container vlans {
|
||||
if-feature "vlan-filtering";
|
||||
description "A VLAN filtering bridge has at least one VLAN.";
|
||||
|
||||
leaf proto {
|
||||
type dot1q-types:dot1q-tag-type;
|
||||
default dot1q-types:c-vlan;
|
||||
description "Standard (1Q/c-vlan) or provider (1ad/s-vlan) bridge.";
|
||||
}
|
||||
leaf proto {
|
||||
type dot1q-types:dot1q-tag-type;
|
||||
default dot1q-types:c-vlan;
|
||||
description "Standard (1Q/c-vlan) or provider (1ad/s-vlan) bridge.";
|
||||
}
|
||||
|
||||
list vlan {
|
||||
key "vid";
|
||||
@@ -123,9 +123,9 @@ submodule infix-if-bridge {
|
||||
|
||||
leaf-list tagged {
|
||||
type if:interface-ref;
|
||||
must "not(../untagged[contains(., current())])" {
|
||||
error-message "Cannot be an untagged port at the same time.";
|
||||
}
|
||||
must "not(../untagged[contains(., current())])" {
|
||||
error-message "Cannot be an untagged port at the same time.";
|
||||
}
|
||||
description "The set of ports in the tagged set for VLAN.";
|
||||
}
|
||||
}
|
||||
@@ -147,7 +147,7 @@ submodule infix-if-bridge {
|
||||
description "Extension of the IETF Interfaces model (RFC7223).";
|
||||
|
||||
container bridge-port {
|
||||
description "Bridge association and port specific setttngs.";
|
||||
description "Bridge association and port specific setttngs.";
|
||||
|
||||
leaf bridge {
|
||||
type if:interface-ref;
|
||||
@@ -159,14 +159,14 @@ submodule infix-if-bridge {
|
||||
}
|
||||
|
||||
leaf pvid {
|
||||
if-feature "vlan-filtering";
|
||||
if-feature "vlan-filtering";
|
||||
type dot1q-types:vlanid;
|
||||
default "1";
|
||||
description "The primary VID assigned to this bridge port.";
|
||||
}
|
||||
|
||||
leaf default-priority {
|
||||
if-feature "vlan-filtering";
|
||||
if-feature "vlan-filtering";
|
||||
type dot1q-types:priority-type;
|
||||
default "0";
|
||||
description "The default priority assigned to this bridge port.";
|
||||
|
||||
@@ -26,7 +26,7 @@ submodule infix-if-veth {
|
||||
|
||||
augment "/if:interfaces/if:interface" {
|
||||
when "derived-from-or-self(if:type, 'infixift:veth')" {
|
||||
description "Only shown for if:type infixift:veth (ianaift:ilan)";
|
||||
description "Only shown for if:type infixift:veth (ianaift:ilan)";
|
||||
}
|
||||
|
||||
description "Augments the interface model with virtual Ethernet pairs.";
|
||||
|
||||
@@ -30,19 +30,19 @@ submodule infix-if-vlan {
|
||||
container vlan {
|
||||
description "Configure 802.1q/802.1ad VLANs";
|
||||
leaf tag-type {
|
||||
type dot1q-types:dot1q-tag-type;
|
||||
default dot1q-types:c-vlan;
|
||||
description "VLAN type";
|
||||
type dot1q-types:dot1q-tag-type;
|
||||
default dot1q-types:c-vlan;
|
||||
description "VLAN type";
|
||||
}
|
||||
leaf id {
|
||||
type dot1q-types:vlanid;
|
||||
mandatory true;
|
||||
description "VLAN Id";
|
||||
type dot1q-types:vlanid;
|
||||
mandatory true;
|
||||
description "VLAN Id";
|
||||
}
|
||||
leaf lower-layer-if {
|
||||
type if:interface-ref;
|
||||
mandatory true;
|
||||
description "Base interface for VLAN";
|
||||
type if:interface-ref;
|
||||
mandatory true;
|
||||
description "Base interface for VLAN";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ module infix-interfaces {
|
||||
deviation "/if:interfaces/if:interface/if:type" {
|
||||
deviate replace {
|
||||
type identityref {
|
||||
base infixift:infix-interface-type;
|
||||
base infixift:infix-interface-type;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,15 +37,15 @@ module infix-ip {
|
||||
augment "/if:interfaces/if:interface/ip:ipv4" {
|
||||
container autoconf {
|
||||
description
|
||||
"Parameters to control the autoconfiguration of IPv4 address.";
|
||||
"Parameters to control the autoconfiguration of IPv4 address.";
|
||||
|
||||
leaf enabled {
|
||||
type boolean;
|
||||
default false;
|
||||
description
|
||||
"Use a ZeroConf/IPv4LL agent to retrieve an 169.254/16 address.";
|
||||
reference
|
||||
"RFC 3927: Dynamic Configuration of IPv4 Link-Local Addresses";
|
||||
type boolean;
|
||||
default false;
|
||||
description
|
||||
"Use a ZeroConf/IPv4LL agent to retrieve an 169.254/16 address.";
|
||||
reference
|
||||
"RFC 3927: Dynamic Configuration of IPv4 Link-Local Addresses";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -53,7 +53,7 @@ module infix-ip {
|
||||
deviation "/if:interfaces/if:interface/ip:ipv4/ip:address/ip:subnet/ip:netmask" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
|
||||
deviation "/if:interfaces/if:interface/ip:ipv4/ip:neighbor" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
@@ -1,426 +1,422 @@
|
||||
module infix-routing {
|
||||
yang-version 1.1;
|
||||
namespace "urn:infix:routing:ns:yang:1.0";
|
||||
prefix infix-r;
|
||||
import ietf-routing {
|
||||
prefix ietf-r;
|
||||
}
|
||||
yang-version 1.1;
|
||||
namespace "urn:infix:routing:ns:yang:1.0";
|
||||
prefix infix-r;
|
||||
import ietf-routing {
|
||||
prefix ietf-r;
|
||||
}
|
||||
|
||||
import ietf-ipv4-unicast-routing {
|
||||
prefix v4ur;
|
||||
}
|
||||
import ietf-ipv4-unicast-routing {
|
||||
prefix v4ur;
|
||||
}
|
||||
|
||||
import ietf-ipv6-unicast-routing {
|
||||
prefix v6ur;
|
||||
}
|
||||
import ietf-ospf {
|
||||
prefix ospf;
|
||||
}
|
||||
import ietf-ipv6-unicast-routing {
|
||||
prefix v6ur;
|
||||
}
|
||||
import ietf-ospf {
|
||||
prefix ospf;
|
||||
}
|
||||
|
||||
import ietf-interfaces {
|
||||
prefix if;
|
||||
}
|
||||
import ietf-interfaces {
|
||||
prefix if;
|
||||
}
|
||||
|
||||
import ietf-routing-types {
|
||||
prefix rt-types;
|
||||
}
|
||||
revision 2024-01-09 {
|
||||
description "Add operational, area, bfd support
|
||||
and other minor features";
|
||||
reference "internal";
|
||||
}
|
||||
revision 2023-11-23 {
|
||||
description "Limit to one instance per control plane protocol,
|
||||
and change to infix (iproute2) specific source protocol names
|
||||
for routes";
|
||||
reference "internal";
|
||||
}
|
||||
revision 2023-10-27 {
|
||||
description "Initial revision.";
|
||||
reference "internal";
|
||||
}
|
||||
/* General routing */
|
||||
deviation "/ietf-r:routing/ietf-r:interfaces" {
|
||||
description "Initial limitation";
|
||||
deviate not-supported;
|
||||
}
|
||||
import ietf-routing-types {
|
||||
prefix rt-types;
|
||||
}
|
||||
revision 2024-01-09 {
|
||||
description "Add operational, area, bfd support
|
||||
and other minor features";
|
||||
reference "internal";
|
||||
}
|
||||
revision 2023-11-23 {
|
||||
description "Limit to one instance per control plane protocol,
|
||||
and change to infix (iproute2) specific source protocol names
|
||||
for routes";
|
||||
reference "internal";
|
||||
}
|
||||
revision 2023-10-27 {
|
||||
description "Initial revision.";
|
||||
reference "internal";
|
||||
}
|
||||
/* General routing */
|
||||
deviation "/ietf-r:routing/ietf-r:interfaces" {
|
||||
description "Initial limitation";
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:router-id" {
|
||||
description "Set in OSPF";
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing-state" {
|
||||
description "Obsolete";
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:router-id" {
|
||||
description "Set in OSPF";
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing-state" {
|
||||
description "Obsolete";
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
typedef infix-control-plane-name {
|
||||
type enumeration {
|
||||
enum default {
|
||||
description "Only support one instance per routing type";
|
||||
}
|
||||
typedef infix-control-plane-name {
|
||||
type enumeration {
|
||||
enum default {
|
||||
description "Only support one instance per routing type";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
identity infix-source-protocol {
|
||||
description "Infix naming of source protocols";
|
||||
}
|
||||
identity kernel {
|
||||
description "Kernel added route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity static {
|
||||
description "Static added route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity ospf {
|
||||
description "OSPF added route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity dhcp {
|
||||
description "DHCP added route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity zeroconf {
|
||||
description "ZeroConf added route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity ra {
|
||||
description "RA IPv6 route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity infix-source-protocol {
|
||||
description "Infix naming of source protocols";
|
||||
}
|
||||
identity kernel {
|
||||
description "Kernel added route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity static {
|
||||
description "Static added route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity ospf {
|
||||
description "OSPF added route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity dhcp {
|
||||
description "DHCP added route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity zeroconf {
|
||||
description "ZeroConf added route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
identity ra {
|
||||
description "RA IPv6 route";
|
||||
base infix-source-protocol;
|
||||
}
|
||||
|
||||
typedef infix-distribute-protocol {
|
||||
type enumeration {
|
||||
enum ospf {
|
||||
description "Redistribute Ospf";
|
||||
}
|
||||
enum static {
|
||||
description "Redistribute Static routes";
|
||||
}
|
||||
enum connected {
|
||||
description "Redistribute Connected routes";
|
||||
}
|
||||
typedef infix-distribute-protocol {
|
||||
type enumeration {
|
||||
enum ospf {
|
||||
description "Redistribute Ospf";
|
||||
}
|
||||
enum static {
|
||||
description "Redistribute Static routes";
|
||||
}
|
||||
enum connected {
|
||||
description "Redistribute Connected routes";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ietf-r:name" {
|
||||
description "Limitation: Only one routing instance per protocol.";
|
||||
deviate replace {
|
||||
type infix-control-plane-name;
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ietf-r:name" {
|
||||
description "Limitation: Only one routing instance per protocol.";
|
||||
deviate replace {
|
||||
type infix-control-plane-name;
|
||||
}
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ietf-r:source-protocol" {
|
||||
description "Use type names from iproute2";
|
||||
deviate replace {
|
||||
type identityref {
|
||||
base infix-source-protocol;
|
||||
}
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ietf-r:source-protocol" {
|
||||
description "Use type names from iproute2";
|
||||
deviate replace {
|
||||
type identityref {
|
||||
base infix-source-protocol;
|
||||
}
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ietf-r:description" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
/* Static routes */
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ietf-r:static-routes/v4ur:ipv4/v4ur:route/v4ur:next-hop/v4ur:next-hop-options/v4ur:next-hop-list" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ietf-r:static-routes/v6ur:ipv6/v6ur:route/v6ur:next-hop/v6ur:next-hop-options/v6ur:next-hop-list" {
|
||||
deviate not-supported;
|
||||
}
|
||||
/* show routes */
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:default-rib" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:active-route" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ospf:metric" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ospf:tag" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ospf:route-type" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ietf-r:active" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ietf-r:last-updated" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:description" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
/* OSPF */
|
||||
typedef infix-ospf-interface-type {
|
||||
type enumeration {
|
||||
enum broadcast {
|
||||
description
|
||||
"Specifies an OSPF broadcast multi-access network.";
|
||||
}
|
||||
enum point-to-point {
|
||||
description
|
||||
"Specifies an OSPF point-to-point network.";
|
||||
}
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ietf-r:description" {
|
||||
deviate not-supported;
|
||||
}
|
||||
}
|
||||
|
||||
/* Static routes */
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ietf-r:static-routes/v4ur:ipv4/v4ur:route/v4ur:next-hop/v4ur:next-hop-options/v4ur:next-hop-list" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ietf-r:static-routes/v6ur:ipv6/v6ur:route/v6ur:next-hop/v6ur:next-hop-options/v6ur:next-hop-list" {
|
||||
deviate not-supported;
|
||||
}
|
||||
/* show routes */
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:default-rib" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:active-route" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ospf:metric" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ospf:tag" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ospf:route-type" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ietf-r:active" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:routes/ietf-r:route/ietf-r:last-updated" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:ribs/ietf-r:rib/ietf-r:description" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
|
||||
/* OSPF */
|
||||
typedef infix-ospf-interface-type {
|
||||
type enumeration {
|
||||
enum broadcast {
|
||||
description
|
||||
"Specifies an OSPF broadcast multi-access network.";
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ietf-r:type" {
|
||||
deviate add {
|
||||
must "derived-from-or-self(., 'ospf:ospfv2') or "+
|
||||
"derived-from-or-self(., 'ietf-r:static')" {
|
||||
description "Only OSPFv2 and Static routes are supported in Infix.";
|
||||
}
|
||||
enum point-to-point {
|
||||
description
|
||||
"Specifies an OSPF point-to-point network.";
|
||||
}
|
||||
}
|
||||
|
||||
augment "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf" {
|
||||
description "ietf-ospf lack the setting to generate a default route";
|
||||
container default-route-advertise {
|
||||
description "Distribute default route to network";
|
||||
leaf enable {
|
||||
description "Distribute default route";
|
||||
type boolean;
|
||||
}
|
||||
leaf always {
|
||||
description "Always distribute default route, even if no local default route exist.
|
||||
If set to false, a default route will only be distributed if a default route exist
|
||||
in the local routing table.";
|
||||
type boolean;
|
||||
}
|
||||
}
|
||||
}
|
||||
augment "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf" {
|
||||
description "ietf-ospf does not contain redistribution
|
||||
7. How should route redistribution be configured? I see ietf-rip.yang has a separate
|
||||
container for that purpose, but ietf-ospf.yang (and other IGP modules) don't do the
|
||||
same. I also noticed the BGP model is using definition from ietf-routing-policy.yang.
|
||||
|
||||
Different vendors handle redistribution in different ways. This could be added with
|
||||
an augmentation if there were agreement.
|
||||
|
||||
https://marc.info/?l=ms-ospf&m=166258444409552&w=2";
|
||||
container redistribute {
|
||||
list redistribute {
|
||||
key "protocol";
|
||||
description "Redistribute protocols into OSPF";
|
||||
leaf protocol {
|
||||
type infix-distribute-protocol;
|
||||
description "Set protocol to redistribute";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ietf-r:type" {
|
||||
deviate add {
|
||||
must "derived-from-or-self(., 'ospf:ospfv2') or "+
|
||||
"derived-from-or-self(., 'ietf-r:static')" {
|
||||
description "Only OSPFv2 and Static routes are supported in Infix.";
|
||||
}
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface" {
|
||||
deviate add {
|
||||
must "current()/name = 'lo' or count(../../../../ospf:areas/ospf:area/ospf:interfaces/ospf:interface[ospf:name=current()/name]) <= 1" {
|
||||
error-message "Only one area per interface is allowed.";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
augment "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf" {
|
||||
description "ietf-ospf lack the setting to generate a default route";
|
||||
container default-route-advertise {
|
||||
description "Distribute default route to network";
|
||||
leaf enable {
|
||||
description "Distribute default route";
|
||||
type boolean;
|
||||
}
|
||||
leaf always {
|
||||
description "Always distribute default route, even if no local default route exist.
|
||||
If set to false, a default route will only be distributed if a default route exist
|
||||
in the local routing table.";
|
||||
type boolean;
|
||||
}
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:interface-type" {
|
||||
deviate replace {
|
||||
type infix-ospf-interface-type;
|
||||
}
|
||||
augment "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf" {
|
||||
description "ietf-ospf does not contain redistribution
|
||||
7. How should route redistribution be configured? I see ietf-rip.yang has a separate
|
||||
container for that purpose, but ietf-ospf.yang (and other IGP modules) don't do the
|
||||
same. I also noticed the BGP model is using definition from ietf-routing-policy.yang.
|
||||
}
|
||||
|
||||
Different vendors handle redistribution in different ways. This could be added with
|
||||
an augmentation if there were agreement.
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:auto-cost" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:graceful-restart" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:enabled" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
https://marc.info/?l=ms-ospf&m=166258444409552&w=2";
|
||||
container redistribute {
|
||||
list redistribute {
|
||||
key "protocol";
|
||||
description "Redistribute protocols into OSPF";
|
||||
leaf protocol {
|
||||
type infix-distribute-protocol;
|
||||
description "Set protocol to redistribute";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface"
|
||||
{
|
||||
deviate add {
|
||||
must "current()/name = 'lo' or count(../../../../ospf:areas/ospf:area/ospf:interfaces/ospf:interface[ospf:name=current()/name]) <= 1" {
|
||||
error-message "Only one area per interface is allowed.";
|
||||
}
|
||||
}
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:spf-control" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:preference" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:stub-router" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:topologies" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:statistics" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database-control" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:lsa-log" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:spf-log" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:fast-reroute" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:node-tags" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:mpls" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:nsr" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:interface-type"
|
||||
{
|
||||
deviate replace {
|
||||
type infix-ospf-interface-type;
|
||||
}
|
||||
}
|
||||
/* OSPF Area */
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:virtual-links" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:sham-links" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:ranges" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:database" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:topologies" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:auto-cost" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:graceful-restart" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:enabled" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:statistics" {
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:spf-control" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:preference" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:stub-router" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:topologies" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:statistics" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database-control" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:lsa-log" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:spf-log" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:fast-reroute" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:node-tags" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:mpls" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:nsr" {
|
||||
deviate not-supported;
|
||||
}
|
||||
/* OSPF Local RIB */
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:local-rib/ospf:route/ospf:metric" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:local-rib/ospf:route/ospf:route-tag" {
|
||||
deviate not-supported;
|
||||
}
|
||||
/* OSPF Area Interface */
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:static-neighbors"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:multi-areas" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:node-flag" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:bfd/ospf:local-multiplier"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:bfd/ospf:interval-config-type"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:priority"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:fast-reroute"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:authentication"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:statistics"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:neighbors/ospf:neighbor/ospf:statistics"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:neighbors/ospf:neighbor/ospf:cost"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
/* OSPF Area */
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:virtual-links" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:sham-links" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:ranges" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:database" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:topologies" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:database"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:topologies"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:instance-id"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:interface-id"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:demand-circuit"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:ttl-security"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:lls"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:statistics" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:mtu-ignore"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
/* OSPF Local RIB */
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:local-rib/ospf:route/ospf:metric" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:local-rib/ospf:route/ospf:route-tag" {
|
||||
deviate not-supported;
|
||||
}
|
||||
/* OSPF Area Interface */
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:static-neighbors"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:multi-areas" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:node-flag" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:bfd/ospf:local-multiplier"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:bfd/ospf:interval-config-type"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:priority"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:fast-reroute"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:authentication"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:statistics"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:neighbors/ospf:neighbor/ospf:statistics"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:neighbors/ospf:neighbor/ospf:cost"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:prefix-suppression"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:hello-timer"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:wait-timer"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:database"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:topologies"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:instance-id"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:interface-id"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:demand-circuit"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:ttl-security"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:lls"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:mtu-ignore"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:prefix-suppression"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:hello-timer"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:wait-timer"
|
||||
{
|
||||
deviate not-supported;
|
||||
}
|
||||
|
||||
/* OSPF database */
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv3" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:opaque" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:external" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:summary" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:router" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2/ospf:header" {
|
||||
deviate not-supported;
|
||||
}
|
||||
}
|
||||
/* OSPF database */
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv3" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:opaque" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:external" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:summary" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:router" {
|
||||
deviate not-supported;
|
||||
}
|
||||
deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2/ospf:header" {
|
||||
deviate not-supported;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,13 +29,13 @@ submodule infix-system-software {
|
||||
leaf datetime {
|
||||
type yang:date-and-time;
|
||||
description
|
||||
"The time of the event.";
|
||||
"The time of the event.";
|
||||
}
|
||||
|
||||
leaf count {
|
||||
type uint32;
|
||||
description
|
||||
"The total number of occurrences of the event.";
|
||||
"The total number of occurrences of the event.";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,159 +43,159 @@ submodule infix-system-software {
|
||||
leaf operation {
|
||||
type string;
|
||||
description
|
||||
"The current operation of the installer service.";
|
||||
"The current operation of the installer service.";
|
||||
}
|
||||
|
||||
container progress {
|
||||
leaf percentage {
|
||||
type uint8 {
|
||||
range "0 .. 100";
|
||||
}
|
||||
type uint8 {
|
||||
range "0 .. 100";
|
||||
}
|
||||
}
|
||||
|
||||
leaf message {
|
||||
type string;
|
||||
type string;
|
||||
}
|
||||
}
|
||||
|
||||
leaf last-error {
|
||||
type string;
|
||||
description
|
||||
"The last error encountered by the installer service.";
|
||||
"The last error encountered by the installer service.";
|
||||
}
|
||||
}
|
||||
|
||||
augment "/sys:system-state" {
|
||||
container software {
|
||||
description
|
||||
"Installed software information
|
||||
"Installed software information
|
||||
|
||||
Determined by RAUC, which manages all software upgrades.";
|
||||
Determined by RAUC, which manages all software upgrades.";
|
||||
reference "https://rauc.io/";
|
||||
|
||||
leaf compatible {
|
||||
type string;
|
||||
description
|
||||
"Platform identifier
|
||||
type string;
|
||||
description
|
||||
"Platform identifier
|
||||
|
||||
Software bundles' compatible attributes are matched against this
|
||||
one, to determine if they are compatible with one another.";
|
||||
Software bundles' compatible attributes are matched against this
|
||||
one, to determine if they are compatible with one another.";
|
||||
}
|
||||
|
||||
leaf variant {
|
||||
type string;
|
||||
description
|
||||
"Hardware variant
|
||||
type string;
|
||||
description
|
||||
"Hardware variant
|
||||
|
||||
Identifies the exact system type.";
|
||||
Identifies the exact system type.";
|
||||
}
|
||||
|
||||
leaf booted {
|
||||
type string;
|
||||
description
|
||||
"Slot from which the system was booted.";
|
||||
type string;
|
||||
description
|
||||
"Slot from which the system was booted.";
|
||||
}
|
||||
|
||||
container installer {
|
||||
description
|
||||
"The current state of the software installer service.";
|
||||
description
|
||||
"The current state of the software installer service.";
|
||||
|
||||
uses installer-state;
|
||||
uses installer-state;
|
||||
|
||||
// TODO: Support sending notifications during bundle installation
|
||||
// notification state-changed {
|
||||
// uses installer-state;
|
||||
// }
|
||||
// TODO: Support sending notifications during bundle installation
|
||||
// notification state-changed {
|
||||
// uses installer-state;
|
||||
// }
|
||||
}
|
||||
|
||||
list slot {
|
||||
key "name";
|
||||
description
|
||||
"Details the installed software and current state of a particular
|
||||
storage slot (partition).";
|
||||
key "name";
|
||||
description
|
||||
"Details the installed software and current state of a particular
|
||||
storage slot (partition).";
|
||||
|
||||
leaf name {
|
||||
type string;
|
||||
description
|
||||
"RAUC's internal name for the slot, in <class>.<id> notation.";
|
||||
}
|
||||
leaf name {
|
||||
type string;
|
||||
description
|
||||
"RAUC's internal name for the slot, in <class>.<id> notation.";
|
||||
}
|
||||
|
||||
leaf bootname {
|
||||
type string;
|
||||
description
|
||||
"Short name of the slot.";
|
||||
}
|
||||
leaf bootname {
|
||||
type string;
|
||||
description
|
||||
"Short name of the slot.";
|
||||
}
|
||||
|
||||
leaf class {
|
||||
type string;
|
||||
description
|
||||
"Class of software compatible with the slot.";
|
||||
}
|
||||
leaf class {
|
||||
type string;
|
||||
description
|
||||
"Class of software compatible with the slot.";
|
||||
}
|
||||
|
||||
leaf state {
|
||||
type string;
|
||||
description
|
||||
"The slot's state.";
|
||||
}
|
||||
leaf state {
|
||||
type string;
|
||||
description
|
||||
"The slot's state.";
|
||||
}
|
||||
|
||||
container bundle {
|
||||
leaf compatible {
|
||||
type string;
|
||||
description
|
||||
"Platform identifier of the installed software image.";
|
||||
}
|
||||
container bundle {
|
||||
leaf compatible {
|
||||
type string;
|
||||
description
|
||||
"Platform identifier of the installed software image.";
|
||||
}
|
||||
|
||||
leaf version {
|
||||
type string;
|
||||
description
|
||||
"Version of the installed software image.";
|
||||
}
|
||||
}
|
||||
leaf version {
|
||||
type string;
|
||||
description
|
||||
"Version of the installed software image.";
|
||||
}
|
||||
}
|
||||
|
||||
leaf size {
|
||||
type uint64;
|
||||
description
|
||||
"Size, in bytes, of the installed software image.";
|
||||
}
|
||||
leaf size {
|
||||
type uint64;
|
||||
description
|
||||
"Size, in bytes, of the installed software image.";
|
||||
}
|
||||
|
||||
leaf sha256 {
|
||||
type string {
|
||||
pattern '[a-fA-F0-9]{64}';
|
||||
}
|
||||
description
|
||||
"Checksum of the installed software image.";
|
||||
}
|
||||
container installed {
|
||||
description
|
||||
"Logs the time of the last installation and the total number of
|
||||
updates to this slot.";
|
||||
leaf sha256 {
|
||||
type string {
|
||||
pattern '[a-fA-F0-9]{64}';
|
||||
}
|
||||
description
|
||||
"Checksum of the installed software image.";
|
||||
}
|
||||
container installed {
|
||||
description
|
||||
"Logs the time of the last installation and the total number of
|
||||
updates to this slot.";
|
||||
|
||||
uses rauc-stage-log;
|
||||
}
|
||||
uses rauc-stage-log;
|
||||
}
|
||||
|
||||
container activated {
|
||||
description
|
||||
"Logs the first time the current slot was activated and the total
|
||||
number of activations.";
|
||||
uses rauc-stage-log;
|
||||
}
|
||||
container activated {
|
||||
description
|
||||
"Logs the first time the current slot was activated and the total
|
||||
number of activations.";
|
||||
uses rauc-stage-log;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rpc install-bundle {
|
||||
nacm:default-deny-all;
|
||||
description
|
||||
"Upgrade the system's software by installing the specified bundle.";
|
||||
input {
|
||||
leaf url {
|
||||
type string;
|
||||
mandatory true;
|
||||
description
|
||||
"The location of the software bundle, specified as a Uniform
|
||||
nacm:default-deny-all;
|
||||
description
|
||||
"Upgrade the system's software by installing the specified bundle.";
|
||||
input {
|
||||
leaf url {
|
||||
type string;
|
||||
mandatory true;
|
||||
description
|
||||
"The location of the software bundle, specified as a Uniform
|
||||
Resource Locator (URL). Currently supported protocols include
|
||||
FTP, HTTP(S) and SCP.";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ module infix-system {
|
||||
description "Change deviation for timezone-utc-offset from unsupported to Etc+/-HOUR
|
||||
- Unit is set to hours (tzdata compatibility)
|
||||
- Range is -12 .. 14";
|
||||
|
||||
|
||||
reference "internal";
|
||||
}
|
||||
revision 2023-08-15 {
|
||||
@@ -70,7 +70,7 @@ module infix-system {
|
||||
description "Augment of ietf-system to support setting login shell for users.";
|
||||
leaf shell {
|
||||
type identityref {
|
||||
base infixsh:shell-type;
|
||||
base infixsh:shell-type;
|
||||
}
|
||||
default infixsh:false;
|
||||
description "Set UNIX login shell for user, default: none (security)";
|
||||
|
||||
Reference in New Issue
Block a user