Files
infix/src/confd/yang/infix-interfaces@2024-09-23.yang
T
Joachim Wiberg 2063c94f42 confd: drop deviation for /if:interfaces-state
Not the most obvious patch, but let me explain -- there will always be a
conflict betweem usability and "maintainability".  The ietf-interfaces
yang model already declares /interfaces-state as deprecated, so we don't
really need to add a deviation 'not-supported', for usability, however,
it may be useful since the deviation helps cut out that tree completely.

While working with ietf-routing and our companion models, I found that
since it relies on ietf-interfaces, it also breaks the reload/reimport
of infix-routing while developing extensions/changes:

  $ lint.sh -f tree ieee802-* iana-if-type@2023-01-26.yang \
            ietf-interfaces@2018-02-20.yang \
	    infix-interfaces@2024-01-15.yang \
	    ietf-routing@2018-03-13.yang \
	    ietf-ipv4-unicast-routing@2018-03-13.yang \
	    ietf-ospf@2022-10-19.yang \
	    infix-routing@2024-09-22.yang
  libyang err : Not found node "interfaces-state" in path. (Schema location "/ietf-routing:routing-state/interfaces/interface".)
  libyang err : Target of leafref "interface" cannot be referenced because it is disabled. (Schema location "/ietf-routing:routing-state/interfaces/interface".)
  YANGLINT[E]: Parsing schema module "ietf-routing@2018-03-13.yang" failed.

The only way to change/update models for a given build is to either, a)
surgically remove offending models from output/target/, then reinstall
all dependencies and hope it works better, or b) rebuild from distclean.
In most cases you end up with alternative b).

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-26 15:49:45 +02:00

80 lines
1.8 KiB
YANG

module infix-interfaces {
yang-version 1.1;
namespace "urn:infix:interfaces:ns:yang:1.0";
prefix infix-if;
import infix-if-type {
prefix infixift;
}
import ietf-interfaces {
prefix if;
}
include infix-if-base;
include infix-if-bridge;
include infix-if-container;
include infix-if-veth;
include infix-if-vlan;
organization "KernelKit";
contact "kernelkit@googlegroups.com";
description "Linux bridge and lag extensions for ietf-interfaces.";
revision 2024-09-23 {
description "Drop interfaces-state deviation, already marked deprecated.";
reference "internal";
}
revision 2024-01-15 {
description "Add support for container ports (CNI networks).";
reference "internal";
}
revision 2023-09-19 {
description "Add deviation to allow setting phys-address on links.";
reference "internal";
}
revision 2023-08-21 {
description "Move port augment to submodule for infix-if-bridge and
infix-if-lag (later) which reference it.
Add deviation to if:type to limit the iana-if-types to
only those supported, also reduce list for CLI <TAB>.
Lint: move include and import to match canonical order.";
reference "internal";
}
revision 2023-06-05 {
description "Initial revision.";
reference "internal";
}
/*
* Features
*/
feature containers {
description "Containers is an optional build-time feature in Infix.";
}
/*
* Data Nodes
*/
deviation "/if:interfaces/if:interface/if:type" {
deviate replace {
type identityref {
base infixift:infix-interface-type;
}
}
}
deviation "/if:interfaces/if:interface/if:phys-address" {
deviate replace {
config true;
}
}
}