12:58:19.671 [main] DEBUG io.netty.handler.ssl.BouncyCastlePemReader -- Parsed PEM object of type org.bouncycastle.asn1.pkcs.PrivateKeyInfo and assume key is not encrypted
12:58:19.679 [main] INFO org.opendaylight.gnmi.simulatordevice.impl.SimulatedGnmiDevice -- Combination of server certificate and key not provided, using default ones.
12:58:19.856 [mdsal-subscription-counters4] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@7061e393} unlocked
12:58:19.857 [mdsal-subscription-counters4] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@7061e393} readied
12:58:19.857 [mdsal-subscription-counters4] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Submitting transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@7061e393}
12:58:19.857 [mdsal-subscription-counters4] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@7061e393} completed successfully
12:58:19.857 [mdsal-subscription-counters4] DEBUG org.opendaylight.restconf.server.mdsal.MdsalRestconfStreamRegistry -- Subscription receivers updated successfully
12:58:19.934 [mdsal-subscription-counters17] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@3c286b46} unlocked
12:58:19.934 [mdsal-subscription-counters17] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@3c286b46} readied
12:58:19.934 [mdsal-subscription-counters17] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Submitting transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@3c286b46}
12:58:19.934 [mdsal-subscription-counters17] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@3c286b46} completed successfully
12:58:19.934 [mdsal-subscription-counters17] DEBUG org.opendaylight.restconf.server.mdsal.MdsalRestconfStreamRegistry -- Subscription receivers updated successfully
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} started phase SOURCE_PRE_LINKAGE
12:58:19.938 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext -- Global phase SOURCE_PRE_LINKAGE started
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} finished phase SOURCE_PRE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext -- Global phase SOURCE_PRE_LINKAGE finished
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} started phase SOURCE_LINKAGE
12:58:19.940 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext -- Global phase SOURCE_LINKAGE started
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} matched added key SourceIdentifier [openconfig-extensions@2020-06-16]
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-yang-types} matched added key SourceIdentifier [openconfig-yang-types@2021-03-02]
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-aaa-types} matched added key SourceIdentifier [openconfig-aaa-types@2018-11-21]
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=ietf-interfaces} found a pre-existing match: SourceIdentifier [ietf-interfaces@2018-02-20]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=ietf-interfaces}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-yang-types} found a pre-existing match: SourceIdentifier [openconfig-yang-types@2021-03-02]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-yang-types}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-aaa-types} found a pre-existing match: SourceIdentifier [openconfig-aaa-types@2018-11-21]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-aaa-types}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=gnmi-test-model} matched added key SourceIdentifier [gnmi-test-model]
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-types} matched added key SourceIdentifier [openconfig-types@2019-04-16]
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-types} matched added key SourceIdentifier [openconfig-types@2019-04-16]
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-types} matched added key SourceIdentifier [openconfig-types@2019-04-16]
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-yang-types} found a pre-existing match: SourceIdentifier [openconfig-yang-types@2021-03-02]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-yang-types}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-aaa-types} found a pre-existing match: SourceIdentifier [openconfig-aaa-types@2018-11-21]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-aaa-types}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=submodule} criterion LatestRevisionModule{moduleName=openconfig-aaa-radius} found a pre-existing match: SourceIdentifier [openconfig-aaa-radius@2020-07-30]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)submodule}, argument=Unqualified{localName=openconfig-aaa-radius}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-interfaces} found a pre-existing match: SourceIdentifier [openconfig-interfaces@2021-04-06]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-interfaces}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-yang-types} found a pre-existing match: SourceIdentifier [openconfig-yang-types@2021-03-02]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-yang-types}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=ietf-yang-types} matched added key SourceIdentifier [ietf-yang-types@2013-07-15]
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-aaa-types} found a pre-existing match: SourceIdentifier [openconfig-aaa-types@2018-11-21]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-aaa-types}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-types} found a pre-existing match: SourceIdentifier [openconfig-types@2019-04-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-types}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=submodule} criterion LatestRevisionModule{moduleName=openconfig-aaa-tacacs} matched added key SourceIdentifier [openconfig-aaa-tacacs@2020-07-30]
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-platform-types} found a pre-existing match: SourceIdentifier [openconfig-platform-types@2021-01-18]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-platform-types}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-alarm-types} found a pre-existing match: SourceIdentifier [openconfig-alarm-types@2018-11-21]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-alarm-types}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-yang-types} found a pre-existing match: SourceIdentifier [openconfig-yang-types@2021-03-02]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-yang-types}, refCount=0}
12:58:19.941 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=ietf-interfaces} found a pre-existing match: SourceIdentifier [ietf-interfaces@2018-02-20]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=ietf-interfaces}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=iana-if-type} matched added key SourceIdentifier [iana-if-type@2023-01-26]
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-types} found a pre-existing match: SourceIdentifier [openconfig-types@2019-04-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-yang-types} found a pre-existing match: SourceIdentifier [openconfig-yang-types@2021-03-02]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-yang-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-interfaces} found a pre-existing match: SourceIdentifier [openconfig-interfaces@2021-04-06]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-interfaces}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-if-ethernet} found a pre-existing match: SourceIdentifier [openconfig-if-ethernet@2021-06-09]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-if-ethernet}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=iana-if-type} found a pre-existing match: SourceIdentifier [iana-if-type@2023-01-26]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=iana-if-type}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-if-types} found a pre-existing match: SourceIdentifier [openconfig-if-types@2018-11-21]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-if-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-vlan-types} found a pre-existing match: SourceIdentifier [openconfig-vlan-types@2020-06-30]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-vlan-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-interfaces} found a pre-existing match: SourceIdentifier [openconfig-interfaces@2021-04-06]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-interfaces}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-if-ethernet} found a pre-existing match: SourceIdentifier [openconfig-if-ethernet@2021-06-09]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-if-ethernet}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-if-aggregate} found a pre-existing match: SourceIdentifier [openconfig-if-aggregate@2020-05-01]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-if-aggregate}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=iana-if-type} found a pre-existing match: SourceIdentifier [iana-if-type@2023-01-26]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=iana-if-type}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-inet-types} matched added key SourceIdentifier [openconfig-inet-types@2021-01-07]
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-inet-types} matched added key SourceIdentifier [openconfig-inet-types@2021-01-07]
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-inet-types} matched added key SourceIdentifier [openconfig-inet-types@2021-01-07]
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-inet-types} matched added key SourceIdentifier [openconfig-inet-types@2021-01-07]
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-inet-types} found a pre-existing match: SourceIdentifier [openconfig-inet-types@2021-01-07]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-inet-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-system-logging} matched added key SourceIdentifier [openconfig-system-logging@2018-11-21]
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-inet-types} found a pre-existing match: SourceIdentifier [openconfig-inet-types@2021-01-07]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-inet-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-yang-types} found a pre-existing match: SourceIdentifier [openconfig-yang-types@2021-03-02]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-yang-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-types} found a pre-existing match: SourceIdentifier [openconfig-types@2019-04-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-aaa} found a pre-existing match: SourceIdentifier [openconfig-aaa@2020-07-30]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-aaa}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-system-logging} found a pre-existing match: SourceIdentifier [openconfig-system-logging@2018-11-21]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-system-logging}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-system-terminal} found a pre-existing match: SourceIdentifier [openconfig-system-terminal@2018-11-21]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-system-terminal}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-procmon} found a pre-existing match: SourceIdentifier [openconfig-procmon@2019-03-15]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-procmon}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-messages} found a pre-existing match: SourceIdentifier [openconfig-messages@2018-08-13]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-messages}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-license} found a pre-existing match: SourceIdentifier [openconfig-license@2020-04-22]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-license}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-inet-types} found a pre-existing match: SourceIdentifier [openconfig-inet-types@2021-01-07]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-inet-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-interfaces} found a pre-existing match: SourceIdentifier [openconfig-interfaces@2021-04-06]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-interfaces}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-openflow-types} found a pre-existing match: SourceIdentifier [openconfig-openflow-types@2020-06-30]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-openflow-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-system} found a pre-existing match: SourceIdentifier [openconfig-system@2020-04-13]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-system}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-alarm-types} found a pre-existing match: SourceIdentifier [openconfig-alarm-types@2018-11-21]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-alarm-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-extensions} found a pre-existing match: SourceIdentifier [openconfig-extensions@2020-06-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-extensions}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-types} found a pre-existing match: SourceIdentifier [openconfig-types@2019-04-16]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-types}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-platform} found a pre-existing match: SourceIdentifier [openconfig-platform@2021-01-18]=RootStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)module}, argument=Unqualified{localName=openconfig-platform}, refCount=0}
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase -- Listener on ParserNamespace{name=module} criterion LatestRevisionModule{moduleName=openconfig-alarms} matched added key SourceIdentifier [openconfig-alarms@2019-07-09]
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} finished phase SOURCE_LINKAGE
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} finished phase SOURCE_LINKAGE
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} finished phase SOURCE_LINKAGE
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} finished phase SOURCE_LINKAGE
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} finished phase SOURCE_LINKAGE
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} finished phase SOURCE_LINKAGE
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} finished phase SOURCE_LINKAGE
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} finished phase SOURCE_LINKAGE
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} finished phase SOURCE_LINKAGE
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} finished phase SOURCE_LINKAGE
12:58:19.942 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} finished phase SOURCE_LINKAGE
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext -- Global phase SOURCE_LINKAGE finished
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} started phase STATEMENT_DEFINITION
12:58:19.943 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext -- Global phase STATEMENT_DEFINITION started
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} finished phase STATEMENT_DEFINITION
12:58:19.948 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} finished phase STATEMENT_DEFINITION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext -- Global phase STATEMENT_DEFINITION finished
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} started phase FULL_DECLARATION
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext -- Global phase FULL_DECLARATION started
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.949 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.950 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.950 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.950 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.950 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.950 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.950 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.950 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.950 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.950 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.951 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.952 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(test:model)test-data] got key (test:model)test-data
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(test:model)test-data, (test:model)nested-container] got key (test:model)test-data
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(test:model)test-data] got key (test:model)test-data
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.953 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.954 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.954 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.954 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.954 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.954 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.954 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.954 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.954 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.954 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.955 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.955 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.955 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.955 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.955 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.955 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.955 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.955 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.955 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.956 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.957 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.958 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.959 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.960 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)operational as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@1398c82e
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-version as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@253b8399
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)catalog-organization as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@61042742
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-atomic as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@243b00b4
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)posix-pattern as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@713765a5
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)regexp-posix as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@8e91751
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)telemetry-on-change as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@48171f39
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)origin as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@34d5982f
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} defined statement (http://openconfig.net/yang/openconfig-ext?revision=2020-06-16)openconfig-hashed-value as org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension.UnrecognizedStatementSupport@7e85c95d
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} finished phase FULL_DECLARATION
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} finished phase FULL_DECLARATION
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} finished phase FULL_DECLARATION
12:58:19.961 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(test:model)test-data, (test:model)nested-container] got key (test:model)nested-container
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} finished phase FULL_DECLARATION
12:58:19.962 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} finished phase FULL_DECLARATION
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} finished phase FULL_DECLARATION
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} finished phase FULL_DECLARATION
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} finished phase FULL_DECLARATION
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} finished phase FULL_DECLARATION
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext -- Global phase FULL_DECLARATION finished
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} started phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext -- Global phase EFFECTIVE_MODEL started
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-license]} finished phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.rfc7950.stmt.if_feature.AbstractIfFeatureStatementSupport -- Resolved all feature references in [(urn:ietf:params:xml:ns:yang:ietf-interfaces?revision=2018-02-20)if-mib]
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.rfc7950.stmt.if_feature.AbstractIfFeatureStatementSupport -- Resolved all feature references in [(urn:ietf:params:xml:ns:yang:ietf-interfaces?revision=2018-02-20)if-mib]
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.rfc7950.stmt.if_feature.AbstractIfFeatureStatementSupport -- Resolved all feature references in [(urn:ietf:params:xml:ns:yang:ietf-interfaces?revision=2018-02-20)if-mib]
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.rfc7950.stmt.if_feature.AbstractIfFeatureStatementSupport -- Resolved all feature references in [(urn:ietf:params:xml:ns:yang:ietf-interfaces?revision=2018-02-20)if-mib]
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.rfc7950.stmt.if_feature.AbstractIfFeatureStatementSupport -- Resolved all feature references in [(urn:ietf:params:xml:ns:yang:ietf-interfaces?revision=2018-02-20)if-mib]
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-extensions]} finished phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarm-types]} finished phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-yang-types]} finished phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-terminal]} finished phase EFFECTIVE_MODEL
12:58:19.963 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-types]} finished phase EFFECTIVE_MODEL
12:58:19.964 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-aug]} finished phase EFFECTIVE_MODEL
12:58:19.964 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-types]} finished phase EFFECTIVE_MODEL
12:58:19.964 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-yang-types]} finished phase EFFECTIVE_MODEL
12:58:19.964 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow-types]} finished phase EFFECTIVE_MODEL
12:58:19.965 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [iana-if-type]} finished phase EFFECTIVE_MODEL
12:58:19.965 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan-types]} finished phase EFFECTIVE_MODEL
12:58:19.965 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-types]} finished phase EFFECTIVE_MODEL
12:58:19.965 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-inet-types]} finished phase EFFECTIVE_MODEL
12:58:19.965 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system-logging]} finished phase EFFECTIVE_MODEL
12:58:19.965 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [ietf-interfaces]} finished phase EFFECTIVE_MODEL
12:58:19.965 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-radius]} finished phase EFFECTIVE_MODEL
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces?revision=2021-04-06)config] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces?revision=2021-04-06)state] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregation] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Materializing child (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface from (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Child (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface materialized
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Materializing child (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterfaces from (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Child (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterfaces materialized
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterfaces
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Materializing child (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface from (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Materializing child (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface from (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Child (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface materialized
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Child (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface materialized
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces?revision=2021-04-06)config] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Materializing child (http://openconfig.net/yang/interfaces?revision=2021-04-06)config from (http://openconfig.net/yang/interfaces?revision=2021-04-06)config
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Child (http://openconfig.net/yang/interfaces?revision=2021-04-06)config materialized
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces?revision=2021-04-06)config] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)config
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces?revision=2021-04-06)state] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Materializing child (http://openconfig.net/yang/interfaces?revision=2021-04-06)state from (http://openconfig.net/yang/interfaces?revision=2021-04-06)state
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Child (http://openconfig.net/yang/interfaces?revision=2021-04-06)state materialized
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces?revision=2021-04-06)state] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)state
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregation] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface] got key (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [gnmi-test-model]} finished phase EFFECTIVE_MODEL
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform-types]} finished phase EFFECTIVE_MODEL
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config] got key (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state] got key (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet] got key (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Materializing child (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config from (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Child (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config materialized
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config] got key (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Materializing child (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state from (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Child (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state materialized
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state] got key (http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-ethernet]} finished phase EFFECTIVE_MODEL
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa-tacacs]} finished phase EFFECTIVE_MODEL
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/platform?revision=2021-01-18)components, (http://openconfig.net/yang/platform?revision=2021-01-18)component, (http://openconfig.net/yang/platform?revision=2021-01-18)state] got key (http://openconfig.net/yang/platform?revision=2021-01-18)components
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Materializing child (http://openconfig.net/yang/platform?revision=2021-01-18)component from (http://openconfig.net/yang/platform?revision=2021-01-18)component
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Child (http://openconfig.net/yang/platform?revision=2021-01-18)component materialized
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/platform?revision=2021-01-18)components, (http://openconfig.net/yang/platform?revision=2021-01-18)component, (http://openconfig.net/yang/platform?revision=2021-01-18)state] got key (http://openconfig.net/yang/platform?revision=2021-01-18)component
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Materializing child (http://openconfig.net/yang/platform?revision=2021-01-18)state from (http://openconfig.net/yang/platform?revision=2021-01-18)state
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Child (http://openconfig.net/yang/platform?revision=2021-01-18)state materialized
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/platform?revision=2021-01-18)components, (http://openconfig.net/yang/platform?revision=2021-01-18)component, (http://openconfig.net/yang/platform?revision=2021-01-18)state] got key (http://openconfig.net/yang/platform?revision=2021-01-18)state
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-procmon]} finished phase EFFECTIVE_MODEL
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, (http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, (http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregation] got key (http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregation
12:58:19.966 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-if-aggregate]} finished phase EFFECTIVE_MODEL
12:58:19.967 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-vlan]} finished phase EFFECTIVE_MODEL
12:58:19.967 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-alarms]} finished phase EFFECTIVE_MODEL
12:58:19.967 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-messages]} finished phase EFFECTIVE_MODEL
12:58:19.967 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-interfaces]} finished phase EFFECTIVE_MODEL
12:58:19.967 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-platform]} finished phase EFFECTIVE_MODEL
12:58:19.967 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-aaa]} finished phase EFFECTIVE_MODEL
12:58:19.967 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl -- Action for [(http://openconfig.net/yang/system?revision=2020-04-13)system] got key (http://openconfig.net/yang/system?revision=2020-04-13)system
12:58:19.967 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-openflow]} finished phase EFFECTIVE_MODEL
12:58:19.967 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext -- Source YangStatementStreamSource{identifier=SourceIdentifier [openconfig-system]} finished phase EFFECTIVE_MODEL
12:58:19.967 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext -- Global phase EFFECTIVE_MODEL finished
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-id, refCount=2}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-data, refCount=2}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)active, refCount=2}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-id, refCount=1}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-data, refCount=1}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)active, refCount=1}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)description, refCount=1}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)issue-date, refCount=1}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)expiration-date, refCount=1}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)in-use, refCount=1}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)expired, refCount=1}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)valid, refCount=1}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/license?revision=2020-04-22)license-id]}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-id, refCount=1}
12:58:19.968 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-id}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-data}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)active}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)config, refCount=0}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-id}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-data}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)active}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)description}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)issue-date}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)expiration-date}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)in-use}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)expired}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/license?revision=2020-04-22)valid}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-id, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-data, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)active, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)description, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)issue-date, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)expiration-date, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)in-use, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)expired, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)valid, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-id, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)config, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)state, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)licenses, refCount=SWEEPING}
12:58:19.969 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-top, refCount=SWEEPING}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)service, refCount=2}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)enabled, refCount=2}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)service, refCount=1}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)enabled, refCount=1}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)severity, refCount=2}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)severity, refCount=1}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)msg, refCount=1}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)priority, refCount=1}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)app-name, refCount=1}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)procid, refCount=1}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)msgid, refCount=1}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/messages?revision=2018-08-13)service]}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)service, refCount=1}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/messages?revision=2018-08-13)service}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/messages?revision=2018-08-13)enabled}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)config, refCount=0}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/messages?revision=2018-08-13)service}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/messages?revision=2018-08-13)enabled}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)state, refCount=0}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/messages?revision=2018-08-13)severity}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)config, refCount=0}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/messages?revision=2018-08-13)message}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/messages?revision=2018-08-13)severity}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/messages?revision=2018-08-13)config}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/messages?revision=2018-08-13)state}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=2}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=2}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=1}
12:58:19.972 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, (http://openconfig.net/yang/system/logging?revision=2018-11-21)severity]}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)config, refCount=0}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)host, refCount=2}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)source-address, refCount=2}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)remote-port, refCount=2}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)host, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)source-address, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)remote-port, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, (http://openconfig.net/yang/system/logging?revision=2018-11-21)severity]}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)config, refCount=0}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)config, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)state, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)config}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)state}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/system/logging?revision=2018-11-21)host]}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)host, refCount=1}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)host}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)source-address}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)remote-port}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)config, refCount=0}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)host}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)source-address}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)remote-port}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)config}
12:58:19.973 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)state}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)config, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)state, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)selector, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)selectors, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)config, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)state, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)console, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)host, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)source-address, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)remote-port, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)host, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)config, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)state, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)remote-server, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)remote-servers, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)logging-top, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)severity, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)msg, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)priority, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)app-name, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)procid, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)msgid, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)message, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)service, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)enabled, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)service, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)config, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)state, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)debug-service, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)debug-entries, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)messages-top, refCount=SWEEPING}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)auth-port, refCount=2}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)acct-port, refCount=2}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key, refCount=2}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed, refCount=2}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address, refCount=2}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)retransmit-attempts, refCount=2}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)auth-port, refCount=1}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)acct-port, refCount=1}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key, refCount=1}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed, refCount=1}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address, refCount=1}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)retransmit-attempts, refCount=1}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)retried-access-requests, refCount=1}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)access-accepts, refCount=1}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)access-rejects, refCount=1}
12:58:19.974 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)timeout-access-requests, refCount=1}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=6}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=6}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=6}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=1}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=1}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=1}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=5}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=5}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=5}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=4}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=4}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=4}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=3}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=3}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=3}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=2}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=2}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=2}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)stat-interval-state, refCount=SWEEPING}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-max-time, refCount=SWEEPING}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=SWEEPING}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=SWEEPING}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=SWEEPING}
12:58:19.975 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 7 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg-min-max-instant-stats-pct, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)auth-port, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)acct-port, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)retransmit-attempts, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)retried-access-requests, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)access-accepts, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)access-rejects, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)timeout-access-requests, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)counters, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)aaa-radius-server-top, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=4}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=4}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=4}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=3}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=3}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=3}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=2}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=2}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=2}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)enable, refCount=2}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)protocol-version, refCount=2}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)enable, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)protocol-version, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)enable, refCount=2}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)enable, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=1}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)enable, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)protocol-version, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)system-ssh-server-top, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)enable, refCount=SWEEPING}
12:58:19.976 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)system-telnet-server-top, refCount=SWEEPING}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state, refCount=0}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)up, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)down, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)up, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)down, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, refCount=0}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)ifindex, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)admin-status, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)oper-status, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)last-change, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)logical, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)management, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)cpu, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-octets, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-pkts, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-unicast-pkts, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-broadcast-pkts, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-multicast-pkts, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-discards, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-errors, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-unknown-protos, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-fcs-errors, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-octets, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-pkts, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-unicast-pkts, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-broadcast-pkts, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-multicast-pkts, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-discards, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-errors, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)carrier-transitions, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)last-clear, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)index, refCount=2}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)index, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, refCount=1}
12:58:19.977 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)ifindex, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)admin-status, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)oper-status, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)last-change, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)logical, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)management, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)cpu, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-octets, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-unicast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-broadcast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-multicast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-discards, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-errors, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-unknown-protos, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-fcs-errors, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-octets, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-unicast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-broadcast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-multicast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-discards, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-errors, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)carrier-transitions, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)last-clear, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, refCount=2}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, refCount=2}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu, refCount=2}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, refCount=2}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)ifindex, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)admin-status, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)oper-status, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)last-change, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)logical, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)management, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)cpu, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-octets, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-unicast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-broadcast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-multicast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-discards, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-errors, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-unknown-protos, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-fcs-errors, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-octets, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-unicast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-broadcast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-multicast-pkts, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-discards, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-errors, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)carrier-transitions, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)last-clear, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)up}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)down}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, refCount=0}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)up}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)down}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/interfaces?revision=2021-04-06)index]}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)index, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)index}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, refCount=0}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)index}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)ifindex}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)admin-status}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)oper-status}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)last-change}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)logical}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)management}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)cpu}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)counters}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/interfaces?revision=2021-04-06)name]}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, refCount=1}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled}
12:58:19.978 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)tpid, refCount=1}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)ifindex}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)admin-status}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)oper-status}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)last-change}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)logical}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)management}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)cpu}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)counters}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)tpid, refCount=1}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/interfaces?revision=2021-04-06)index]}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)index}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config}
12:58:19.979 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)counters}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-ids, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-ids, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)low-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)high-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)low-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)high-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-ids, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-ids, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-ids, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-ids, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-low-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-high-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-low-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-high-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-low-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-high-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-low-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-high-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-low-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-high-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-low-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-high-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-low-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-high-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-low-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-high-vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-stack-action, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)tpid, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-stack-action, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)tpid, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-stack-action, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=1}
12:58:19.980 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)tpid, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-stack-action, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)tpid, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)mac-address, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)auto-negotiate, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)standalone-link-training, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)duplex-mode, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)port-speed, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)enable-flow-control, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregate-id, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)mac-address, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)auto-negotiate, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)standalone-link-training, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)duplex-mode, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)port-speed, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)enable-flow-control, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)hw-mac-address, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)negotiated-duplex-mode, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)negotiated-port-speed, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-mac-control-frames, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-mac-pause-frames, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-oversize-frames, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-undersize-frames, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-jabber-frames, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-fragment-frames, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-8021q-frames, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-crc-errors, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-block-errors, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-carrier-errors, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-interrupted-tx, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-late-collision, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-mac-errors-rx, refCount=1}
12:58:19.981 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-single-collision, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-symbol-error, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-maxsize-exceeded, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)out-mac-control-frames, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)out-mac-pause-frames, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)out-8021q-frames, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)out-mac-errors-tx, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregate-id, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)trunk-vlans, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)trunk-vlans, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-type, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)min-links, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-type, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)min-links, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-speed, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)member, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)trunk-vlans, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, refCount=1}
12:58:19.982 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)trunk-vlans, refCount=1}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan, refCount=1}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan, refCount=1}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface-ref, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)base-interface-ref-state, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)description, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)up, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)down, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)hold-time, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)ifindex, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)admin-status, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)oper-status, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)last-change, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)logical, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)management, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)cpu, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-octets, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-pkts, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-unicast-pkts, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-broadcast-pkts, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-multicast-pkts, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-discards, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-errors, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-unknown-protos, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-fcs-errors, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-octets, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-pkts, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-unicast-pkts, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-broadcast-pkts, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-multicast-pkts, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-discards, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-errors, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)carrier-transitions, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)last-clear, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)counters, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)index, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)index, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterface, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)subinterfaces, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 5 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, refCount=SWEEPING}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(test:aug)name]}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(test:aug)name, refCount=1}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(test:aug)name, refCount=1}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(test:aug)type, refCount=1}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(test:aug)mtu, refCount=1}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(test:aug)interface, refCount=1}
12:58:19.983 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(test:model)augmented-data, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=SWEEPING}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=SWEEPING}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=SWEEPING}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 7 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)avg-min-max-instant-stats-precision1-celsius, refCount=SWEEPING}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=2}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)type, refCount=2}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)type, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=2}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)address, refCount=2}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)timeout, refCount=2}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)address, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)timeout, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-opens, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-closes, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-aborts, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-failures, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-timeouts, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)messages-sent, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)messages-received, refCount=1}
12:58:19.984 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)errors-received, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)port, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)port, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)port}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=0}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)port}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)radius, refCount=SWEEPING}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 8 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)auth-port}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)acct-port}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)retransmit-attempts}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=-2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 11 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)auth-port}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)acct-port}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)retransmit-attempts}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)counters}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/aaa?revision=2020-07-30)address]}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)address, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)address}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)timeout}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=0}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-opens}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-closes}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-aborts}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-failures}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-timeouts}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)messages-sent}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)messages-received}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)errors-received}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)address}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)timeout}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)counters}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password-hashed, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password-hashed, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-username, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)username, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password-hashed, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)ssh-key, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)role, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)username, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password-hashed, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)ssh-key, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)role, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)record, refCount=2}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=1}
12:58:19.985 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)record, refCount=1}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)accounting-method, refCount=1}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)accounting-method}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)accounting-method, refCount=1}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type]}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=1}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)record}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=0}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)record}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=2}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=1}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authorization-method, refCount=1}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authorization-method}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authorization-method, refCount=1}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type]}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=1}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=0}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authentication-method, refCount=2}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authentication-method, refCount=1}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password-hashed}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=0}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password-hashed}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-username}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/aaa?revision=2020-07-30)username]}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)username, refCount=1}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)username}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password-hashed}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)ssh-key}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)role}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=0}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)username}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password-hashed}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)ssh-key}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)role}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authentication-method}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=0}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authentication-method}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authorization-method}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=0}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authorization-method}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)accounting-method}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=0}
12:58:19.986 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)accounting-method}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/aaa?revision=2020-07-30)name]}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=1}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)type}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=0}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)type}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)counters}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)port, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)tacacs, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)type, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)server-group, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)server-groups, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)address, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)timeout, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-opens, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-closes, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-aborts, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-failures, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-timeouts, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)messages-sent, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)messages-received, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)errors-received, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)address, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)server, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)servers, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password-hashed, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-username, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-user, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)username, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password-hashed, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)ssh-key, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)role, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)username, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)user, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)users, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)accounting-method, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)record, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)events, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)accounting, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authorization-method, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)events, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authorization, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authentication-method, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authentication, refCount=SWEEPING}
12:58:19.987 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)aaa-top, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)mac-address, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)auto-negotiate, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)standalone-link-training, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)duplex-mode, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)port-speed, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)enable-flow-control, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-mac-control-frames, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-mac-pause-frames, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-oversize-frames, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-undersize-frames, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-jabber-frames, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-fragment-frames, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-8021q-frames, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-crc-errors, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-block-errors, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-carrier-errors, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-interrupted-tx, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-late-collision, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-mac-errors-rx, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-single-collision, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-symbol-error, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)in-maxsize-exceeded, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)out-mac-control-frames, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)out-mac-pause-frames, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)out-8021q-frames, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)out-mac-errors-tx, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)hw-mac-address, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)negotiated-duplex-mode, refCount=SWEEPING}
12:58:19.989 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)negotiated-port-speed, refCount=SWEEPING}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)counters, refCount=SWEEPING}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config, refCount=SWEEPING}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state, refCount=SWEEPING}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, refCount=SWEEPING}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=2}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)value, refCount=2}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)value, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)configurable, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=2}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)instant, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)instant, refCount=SWEEPING}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)avg, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)avg, refCount=SWEEPING}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)min, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)min, refCount=SWEEPING}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)max, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)max, refCount=SWEEPING}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)interval, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)min-time, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform-types?revision=2021-01-18)max-time, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)alarm-status, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)alarm-threshold, refCount=1}
12:58:19.990 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)alarm-severity, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=2}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)type, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)id, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)location, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)description, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)mfg-name, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)mfg-date, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)hardware-version, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)firmware-version, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)software-version, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)serial-no, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)part-no, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)removable, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)oper-status, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)empty, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)parent, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)alarm-status, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)alarm-threshold, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)alarm-severity, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)instant, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)avg, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)min, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)max, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)interval, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)min-time, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)max-time, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)available, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)utilized, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)allocated-power, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)used-power, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/platform?revision=2021-01-18)name]}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)value}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=0}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)value}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)configurable}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/platform?revision=2021-01-18)name]}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=0}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/platform?revision=2021-01-18)name]}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=1}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=0}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)type}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)id}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)location}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)description}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)mfg-name}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)mfg-date}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)hardware-version}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)firmware-version}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)software-version}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)serial-no}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)part-no}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)removable}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)oper-status}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)empty}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)parent}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)allocated-power}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)used-power}
12:58:19.991 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)memory}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)temperature}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)equipment-failure, refCount=1}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)equipment-mismatch, refCount=1}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)chassis}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)port}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)power-supply}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)fan}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)fabric}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)storage}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)cpu}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)integrated-circuit}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)backplane}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/platform?revision=2021-01-18)software-module}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)value, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)configurable, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)property, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)properties, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)subcomponent, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)subcomponents, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)type, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)id, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)location, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)description, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)mfg-name, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)mfg-date, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)hardware-version, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)firmware-version, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)software-version, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)serial-no, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)part-no, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)removable, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)oper-status, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)empty, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)parent, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)alarm-status, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)alarm-threshold, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)alarm-severity, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)allocated-power, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)used-power, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)temperature, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)available, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)utilized, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)memory, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)chassis, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)port, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)power-supply, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)fan, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)fabric, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)storage, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)cpu, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)integrated-circuit, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)backplane, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)software-module, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)name, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)config, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 7 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)state, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)component, refCount=SWEEPING}
12:58:19.992 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/platform?revision=2021-01-18)components, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)pid, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)name, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)args, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)start-time, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)cpu-usage-user, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)cpu-usage-system, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)cpu-utilization, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)memory-usage, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)memory-utilization, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)grouping}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)procmon-processes-top, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)pid, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)name, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)args, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)start-time, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)cpu-usage-user, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)cpu-usage-system, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)cpu-utilization, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)memory-usage, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)memory-utilization, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-type, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)min-links, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-speed, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)member, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)config, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)state, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregation, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregate-id, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, refCount=SWEEPING}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=2}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)name, refCount=2}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)status, refCount=2}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)name, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)status, refCount=1}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state}
12:58:19.993 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)member, refCount=0}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)name, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)status, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)tpid, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)member, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)members, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)trunk-vlans, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)switched-vlan, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-ids, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)low-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)high-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-ids, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-ids, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-low-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-high-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-low-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-high-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-low-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)inner-high-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-low-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)outer-high-vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)single-tagged, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)single-tagged-list, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)single-tagged-range, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)double-tagged, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)double-tagged-inner-list, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)double-tagged-outer-list, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)double-tagged-inner-range, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)double-tagged-outer-range, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)double-tagged-inner-outer-range, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)match, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-stack-action, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)tpid, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)ingress-mapping, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-stack-action, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan-id, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)tpid, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)egress-mapping, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)vlan, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/vlan?revision=2019-04-16)routed-vlan, refCount=SWEEPING}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)timezone-name, refCount=2}
12:58:19.994 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)timezone-name, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)alias, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ipv4-address, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ipv6-address, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)alias, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ipv4-address, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ipv6-address, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)address, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)port, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)address, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)port, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)search, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)search, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/system?revision=2020-04-13)address]}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)address, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)address}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)port}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=0}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)address}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)port}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/system?revision=2020-04-13)hostname]}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)alias}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)ipv4-address}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)ipv6-address}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=0}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)alias}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)ipv4-address}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)ipv6-address}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)address, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)port, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)version, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)association-type, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)iburst, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)prefer, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)address, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)port, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)version, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)association-type, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)iburst, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)prefer, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)stratum, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)root-delay, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)root-dispersion, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)offset, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)poll-interval, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-id, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-type, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-value, refCount=2}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-id, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-type, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-value, refCount=1}
12:58:19.995 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)enabled, refCount=2}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ntp-source-address, refCount=2}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)enable-ntp-auth, refCount=2}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)enabled, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ntp-source-address, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)enable-ntp-auth, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)auth-mismatch, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/system?revision=2020-04-13)key-id]}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-id, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-id}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-type}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-value}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=0}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-id}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-type}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-value}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/system?revision=2020-04-13)address]}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)address, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)address}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)port}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)version}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)association-type}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)iburst}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)prefer}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=0}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)address}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)port}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)version}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)association-type}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)iburst}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)prefer}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)stratum}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)root-delay}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)root-dispersion}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)offset}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)poll-interval}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)physical, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)reserved, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)instant, refCount=8}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=8}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=8}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=8}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=8}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=8}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=8}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)instant, refCount=7}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=7}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=7}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=7}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=7}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=7}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=7}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)instant, refCount=6}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=6}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=6}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=6}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=6}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=6}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=6}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)instant, refCount=5}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=5}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=5}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=5}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=5}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=5}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=5}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)instant, refCount=4}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=4}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=4}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=4}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=4}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=4}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=4}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)instant, refCount=3}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=3}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=3}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=3}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=3}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=3}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=3}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)instant, refCount=2}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=2}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=2}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=2}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=2}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=2}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=2}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)instant, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)instant, refCount=SWEEPING}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)avg, refCount=SWEEPING}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min, refCount=SWEEPING}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max, refCount=SWEEPING}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)interval, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)min-time, refCount=1}
12:58:19.996 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openconfig-types?revision=2019-04-16)max-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)index, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)instant, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)avg, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)interval, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)instant, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)avg, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)interval, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)instant, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)avg, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)interval, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)instant, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)avg, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)interval, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)instant, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)avg, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)interval, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)instant, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)avg, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)interval, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)instant, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)avg, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)interval, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)instant, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)avg, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)interval, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)min-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)max-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname, refCount=2}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)domain-name, refCount=2}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)login-banner, refCount=2}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)motd-banner, refCount=2}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)domain-name, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)login-banner, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)motd-banner, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)current-datetime, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)boot-time, refCount=1}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)timezone-name}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=0}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)timezone-name}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)search}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=0}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: SlimLeafListEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)search}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)enabled}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)ntp-source-address}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)enable-ntp-auth}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=0}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)enabled}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)ntp-source-address}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)enable-ntp-auth}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)auth-mismatch}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:19.997 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)ssh-server, refCount=SWEEPING}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 7 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)config, refCount=SWEEPING}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)enable, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)protocol-version, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 9 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)state, refCount=SWEEPING}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)enable, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)protocol-version, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)telnet-server, refCount=SWEEPING}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 6 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)config, refCount=SWEEPING}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)enable, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 8 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)state, refCount=SWEEPING}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)enable, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)timeout, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)rate-limit, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/terminal?revision=2018-11-21)session-limit, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 5 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)logging, refCount=SWEEPING}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)config, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)state, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, (http://openconfig.net/yang/system/logging?revision=2018-11-21)severity], refCount=2}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=2}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=2}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/system/logging?revision=2018-11-21)host], refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)host, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)host, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)source-address, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)remote-port, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)host, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)source-address, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)remote-port, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, (http://openconfig.net/yang/system/logging?revision=2018-11-21)severity], refCount=2}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=2}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=2}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)facility, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/logging?revision=2018-11-21)severity, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 11 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)aaa, refCount=SWEEPING}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)config, refCount=SWEEPING}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)state, refCount=SWEEPING}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)accounting-method, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)accounting-method, refCount=1}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type], refCount=2}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=2}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)record, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)record, refCount=3}
12:58:19.998 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authorization-method, refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authorization-method, refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type], refCount=2}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=2}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)event-type, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authentication-method, refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)authentication-method, refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password-hashed, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-password-hashed, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)admin-username, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/aaa?revision=2020-07-30)username], refCount=2}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)username, refCount=2}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)username, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password-hashed, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)ssh-key, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)role, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)username, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)password-hashed, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)ssh-key, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)role, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/aaa?revision=2020-07-30)name], refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)type, refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)type, refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/aaa?revision=2020-07-30)address], refCount=2}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)address, refCount=2}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)address, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)timeout, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-opens, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-closes, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-aborts, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-failures, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)connection-timeouts, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)messages-sent, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)messages-received, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)errors-received, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)name, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)address, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)timeout, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)auth-port, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)acct-port, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)retransmit-attempts, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)auth-port, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)acct-port, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)retransmit-attempts, refCount=3}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)retried-access-requests, refCount=7}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)access-accepts, refCount=7}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)access-rejects, refCount=7}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)timeout-access-requests, refCount=7}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)port, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)port, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)secret-key-hashed, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/aaa?revision=2020-07-30)source-address, refCount=5}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=1}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)physical}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)reserved}
12:58:19.999 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=0}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/system?revision=2020-04-13)index]}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)index, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)index}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)total}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)user}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)kernel}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)nice}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)idle}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)wait}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)hardware-interrupt}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)software-interrupt}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=0}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)processes, refCount=SWEEPING}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 5 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)process, refCount=SWEEPING}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/system/procmon?revision=2019-03-15)pid], refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)pid, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)pid, refCount=SWEEPING}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 12 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)state, refCount=SWEEPING}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)pid, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)name, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)args, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)start-time, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)cpu-usage-user, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)cpu-usage-system, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)cpu-utilization, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)memory-usage, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system/procmon?revision=2019-03-15)memory-utilization, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)id, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)resource, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)text, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)time-created, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)severity, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)type-id, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/alarms?revision=2019-07-09)id], refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)id, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)config, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)id, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)resource, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)text, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)time-created, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)severity, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)type-id, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 5 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)messages, refCount=SWEEPING}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)config, refCount=SWEEPING}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)severity, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 6 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)state, refCount=SWEEPING}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)msg, refCount=3}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)priority, refCount=3}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)app-name, refCount=3}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)procid, refCount=3}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)msgid, refCount=3}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)severity, refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/messages?revision=2018-08-13)service], refCount=2}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)service, refCount=2}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)service, refCount=3}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)enabled, refCount=3}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)service, refCount=3}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/messages?revision=2018-08-13)enabled, refCount=3}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license, refCount=SWEEPING}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)key}, argument=[(http://openconfig.net/yang/license?revision=2020-04-22)license-id], refCount=1}
12:58:20.000 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-id, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-id, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-data, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)active, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-id, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)license-data, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)active, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)description, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)issue-date, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)expiration-date, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)in-use, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)expired, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/license?revision=2020-04-22)valid, refCount=1}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)domain-name}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)login-banner}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)motd-banner}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=0}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)domain-name}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)login-banner}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)motd-banner}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)current-datetime}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)boot-time}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)total}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)user}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)kernel}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)nice}
12:58:20.001 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)idle}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)wait}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)hardware-interrupt}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)software-interrupt}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)message}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)counters}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)config}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: RegularContainerEffectiveStatement{argument=(http://openconfig.net/yang/system?revision=2020-04-13)state}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name, refCount=2}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name, refCount=1}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id, refCount=2}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)priority, refCount=2}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)address, refCount=2}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)port, refCount=2}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)transport, refCount=2}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)certificate-id, refCount=2}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)source-interface, refCount=2}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id, refCount=1}
12:58:20.002 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)priority, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)address, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)port, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)transport, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)certificate-id, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)source-interface, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)connected, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id]}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)priority}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)address}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)port}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)transport}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)certificate-id}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)source-interface}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)config, refCount=0}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)priority}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)address}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)port}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)transport}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)certificate-id}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)source-interface}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)connected}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/openflow?revision=2018-11-21)name]}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/openflow?revision=2018-11-21)name]}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing unchanged substatements of: SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)config, refCount=0}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)config}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing context-independent: EmptyLeafEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)state}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)config}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)state}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)config}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing after substatement check: EmptyContainerEffectiveStatement{argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)state}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)datapath-id, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)failure-mode, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)backoff-interval, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)max-backoff, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)inactivity-probe, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)datapath-id, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)failure-mode, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)backoff-interval, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)max-backoff, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)inactivity-probe, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/openflow?revision=2018-11-21)name]}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name, refCount=1}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name, refCount=4}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name, refCount=4}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing empty: EmptyLocalKeyEffectiveStatement{argument=[(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id]}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id, refCount=5}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)priority, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)address, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)port, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)transport, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)certificate-id, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)source-interface, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)priority, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)address, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)port, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)transport, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)certificate-id, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)source-interface, refCount=7}
12:58:20.003 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext -- Reusing substatements of: InferredStatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)connected, refCount=7}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)id, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)resource, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)text, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)time-created, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)severity, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)type-id, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)id, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)config, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)alarm, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/alarms?revision=2019-07-09)alarms, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)timezone-name, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)clock, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)domain-name, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)login-banner, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)motd-banner, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)current-datetime, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)boot-time, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)search, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)address, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)port, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)alias, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ipv4-address, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf-list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ipv6-address, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)hostname, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)host-entry, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)host-entries, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)address, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)server, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)servers, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)dns, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)address, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)port, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)version, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)association-type, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)iburst, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)prefer, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)stratum, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)root-delay, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)root-dispersion, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)offset, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)poll-interval, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)address, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)server, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)servers, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-id, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-type, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-value, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)key-id, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ntp-key, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ntp-keys, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)enabled, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ntp-source-address, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)enable-ntp-auth, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)auth-mismatch, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)ntp, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)physical, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)reserved, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)memory, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)index, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)total, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)user, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)kernel, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)nice, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)idle, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)wait, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)hardware-interrupt, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)software-interrupt, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)index, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)cpu, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)cpus, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)config, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)state, refCount=SWEEPING}
12:58:20.004 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 14 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/system?revision=2020-04-13)system, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)name, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)config, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)state, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)controller, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)controllers, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)priority, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)address, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)port, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)transport, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)certificate-id, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)source-interface, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)connected, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)aux-id, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)config, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)state, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)list}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)connection, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)connections, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)datapath-id, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)failure-mode, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)backoff-interval, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)max-backoff, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)leaf}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)inactivity-probe, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 2 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)config, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 4 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)state, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 1 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)agent, refCount=SWEEPING}
12:58:20.005 [main] DEBUG org.opendaylight.yangtools.yang.parser.stmt.reactor.OriginalStmtCtx -- 3 children left to sweep from SubstatementContext{definition=StatementDefinitionContext{statement=(urn:ietf:params:xml:ns:yang:yin:1)container}, argument=(http://openconfig.net/yang/openflow?revision=2018-11-21)openflow, refCount=SWEEPING}
12:58:20.006 [main] INFO org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- ThreadFactory created: DOM-CFG-DCL
12:58:20.006 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Following schema contexts will be attempted EffectiveSchemaContext{modules=[ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-test-aug}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-test-model}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=iana-if-type}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-interfaces}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-yang-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-aaa}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-aaa-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-alarm-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-alarms}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-extensions}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-aggregate}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-ethernet}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-inet-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-interfaces}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-license}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-messages}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-openflow}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-openflow-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-platform}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-platform-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-procmon}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system-logging}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system-terminal}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-vlan}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-vlan-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-yang-types}}]}
12:58:20.006 [main] INFO org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- ThreadFactory created: DOM-OPER-DCL
12:58:20.006 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Following schema contexts will be attempted EffectiveSchemaContext{modules=[ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-test-aug}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-test-model}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=iana-if-type}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-interfaces}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-yang-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-aaa}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-aaa-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-alarm-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-alarms}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-extensions}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-aggregate}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-ethernet}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-inet-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-interfaces}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-license}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-messages}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-openflow}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-openflow-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-platform}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-platform-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-procmon}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system-logging}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system-terminal}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-vlan}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-vlan-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-yang-types}}]}
12:58:20.006 [main] INFO org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- ThreadFactory created: DOM-STATE-DCL
12:58:20.006 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Following schema contexts will be attempted EffectiveSchemaContext{modules=[ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-test-aug}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-test-model}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=iana-if-type}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-interfaces}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-yang-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-aaa}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-aaa-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-alarm-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-alarms}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-extensions}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-aggregate}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-ethernet}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-inet-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-interfaces}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-license}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-messages}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-openflow}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-openflow-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-platform}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-platform-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-procmon}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system-logging}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system-terminal}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-vlan}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-vlan-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-yang-types}}]}
12:58:20.008 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: DOM-CFG-0 allocated with snapshot Version[313f1f7d]
12:58:20.008 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: DOM-CFG-0 Write: /(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces:ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, body=[ImmutableSystemMapNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, body=UnmodifiableCollection{[ImmutableMapEntryNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface[{(http://openconfig.net/yang/interfaces?revision=2021-04-06)name=eth3}], body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu, body=1500}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=admin}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, body=(http://openconfig.net/yang/openconfig-if-types?revision=2018-11-21)IF_ETHERNET}]}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=eth3}]}, ImmutableMapEntryNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface[{(http://openconfig.net/yang/interfaces?revision=2021-04-06)name=br0}], body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregation, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)min-links, body=5}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-type, body=LACP}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)switched-vlan, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, body=54}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, body=ACCESS}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, body=34}]}]}]}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=br0}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu, body=100}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=admin}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, body=(http://openconfig.net/yang/openconfig-if-types?revision=2018-11-21)IF_ETHERNET}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)port-speed, body=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)SPEED_10MB}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)auto-negotiate, body=true}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregate-id, body=admin}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)enable-flow-control, body=true}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)switched-vlan, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, body=45}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, body=ACCESS}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, body=37}]}]}]}]}]}}]}
12:58:20.009 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: DOM-CFG-0 : Ready
12:58:20.009 [main] DEBUG org.opendaylight.yangtools.yang.data.spi.node.MandatoryLeafEnforcer -- Adding mandatory child /(http://openconfig.net/yang/interfaces?revision=2021-04-06)config/type
12:58:20.009 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: DOM-CFG-0 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.009 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: DOM-CFG-0 can be committed
12:58:20.009 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from SimpleContainerNode{version=Version[313f1f7d], data=ImmutableContainerNode{name=(urn:ietf:params:xml:ns:netconf:base:1.0)data, body=[]}} to MaterializedContainerNode{version=Version[313f1f7d], subtreeVersion=Version[1d361d0f], children={(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces=SimpleContainerNode{version=Version[1d361d0f], data=ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, body=[ImmutableSystemMapNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, body=UnmodifiableCollection{[ImmutableMapEntryNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface[{(http://openconfig.net/yang/interfaces?revision=2021-04-06)name=eth3}], body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu, body=1500}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=admin}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, body=(http://openconfig.net/yang/openconfig-if-types?revision=2018-11-21)IF_ETHERNET}]}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=eth3}]}, ImmutableMapEntryNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface[{(http://openconfig.net/yang/interfaces?revision=2021-04-06)name=br0}], body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregation, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)min-links, body=5}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-type, body=LACP}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)switched-vlan, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, body=54}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, body=ACCESS}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, body=34}]}]}]}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=br0}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu, body=100}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=admin}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, body=(http://openconfig.net/yang/openconfig-if-types?revision=2018-11-21)IF_ETHERNET}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)port-speed, body=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)SPEED_10MB}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)auto-negotiate, body=true}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregate-id, body=admin}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)enable-flow-control, body=true}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)switched-vlan, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, body=45}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, body=ACCESS}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, body=37}]}]}]}]}]}}]}}}}
12:58:20.010 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: DOM-CFG-0 : Closed after submit
12:58:20.011 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: DOM-STATE-0 allocated with snapshot Version[242fa272]
12:58:20.011 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: DOM-STATE-0 Write: /:ImmutableContainerNode{name=(urn:ietf:params:xml:ns:netconf:base:1.0)data, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)system, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)alarms, body=[ImmutableSystemMapNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)alarm, body=[ImmutableMapEntryNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)alarm[{(http://openconfig.net/yang/system?revision=2020-04-13)id=1}], body=[ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)id, body=1}, ImmutableContainerNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)id, body=1}, ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)time-created, body=1597765771184}, ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)text, body=alarm-text}, ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)resource, body=res}, ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)severity, body=(http://openconfig.net/yang/alarms/types?revision=2018-11-21)MINOR}]}]}]}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)openflow, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)agent, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)backoff-interval, body=5}, ImmutableLeafNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)datapath-id, body=00:16:3e:00:00:00:00:00}, ImmutableLeafNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)inactivity-probe, body=10}, ImmutableLeafNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)failure-mode, body=SECURE}, ImmutableLeafNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)max-backoff, body=10}]}]}]}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, body=[ImmutableSystemMapNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, body=[ImmutableMapEntryNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface[{(http://openconfig.net/yang/interfaces?revision=2021-04-06)name=br0}], body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)ifindex, body=1}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu, body=100}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)oper-status, body=DOWN}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)counters, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-pkts, body=101}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-octets, body=105}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-pkts, body=106}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-octets, body=100}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-discards, body=107}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-fcs-errors, body=104}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-errors, body=108}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-errors, body=103}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-discards, body=102}]}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=br0}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)logical, body=true}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, body=(http://openconfig.net/yang/openconfig-if-types?revision=2018-11-21)IF_ETHERNET}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)admin-status, body=UP}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregation, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-type, body=LACP}, ImmutableSystemLeafSetNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)member, body=[ImmutableLeafSetEntryNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)member[br0], body=br0}]}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-speed, body=20}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)min-links, body=5}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)switched-vlan, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, body=54}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, body=ACCESS}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, body=34}]}]}]}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=br0}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, body=true}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, body=(http://openconfig.net/yang/openconfig-if-types?revision=2018-11-21)IF_ETHERNET}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, body=false}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)port-speed, body=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)SPEED_10MB}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)negotiated-duplex-mode, body=FULL}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)enable-flow-control, body=true}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)negotiated-port-speed, body=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)SPEED_10MB}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)auto-negotiate, body=true}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregate-id, body=admin}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)hw-mac-address, body=00:00:0A:BB:28:FC}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)switched-vlan, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, body=45}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, body=ACCESS}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, body=37}]}]}]}]}]}]}]}
12:58:20.012 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: DOM-STATE-0 : Ready
12:58:20.012 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: DOM-STATE-0 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.012 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: DOM-STATE-0 can be committed
12:58:20.012 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from SimpleContainerNode{version=Version[242fa272], data=ImmutableContainerNode{name=(urn:ietf:params:xml:ns:netconf:base:1.0)data, body=[]}} to SimpleContainerNode{version=Version[50ad5eb8], data=ImmutableContainerNode{name=(urn:ietf:params:xml:ns:netconf:base:1.0)data, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)system, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)alarms, body=[ImmutableSystemMapNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)alarm, body=[ImmutableMapEntryNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)alarm[{(http://openconfig.net/yang/system?revision=2020-04-13)id=1}], body=[ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)id, body=1}, ImmutableContainerNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)id, body=1}, ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)time-created, body=1597765771184}, ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)text, body=alarm-text}, ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)resource, body=res}, ImmutableLeafNode{name=(http://openconfig.net/yang/system?revision=2020-04-13)severity, body=(http://openconfig.net/yang/alarms/types?revision=2018-11-21)MINOR}]}]}]}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)openflow, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)agent, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)backoff-interval, body=5}, ImmutableLeafNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)datapath-id, body=00:16:3e:00:00:00:00:00}, ImmutableLeafNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)inactivity-probe, body=10}, ImmutableLeafNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)failure-mode, body=SECURE}, ImmutableLeafNode{name=(http://openconfig.net/yang/openflow?revision=2018-11-21)max-backoff, body=10}]}]}]}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interfaces, body=[ImmutableSystemMapNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface, body=[ImmutableMapEntryNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)interface[{(http://openconfig.net/yang/interfaces?revision=2021-04-06)name=br0}], body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)ifindex, body=1}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)mtu, body=100}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)oper-status, body=DOWN}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)counters, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-pkts, body=101}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-octets, body=105}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-pkts, body=106}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-octets, body=100}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-discards, body=107}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-fcs-errors, body=104}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)out-errors, body=108}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-errors, body=103}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)in-discards, body=102}]}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=br0}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, body=false}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)logical, body=true}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, body=(http://openconfig.net/yang/openconfig-if-types?revision=2018-11-21)IF_ETHERNET}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)admin-status, body=UP}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregation, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-type, body=LACP}, ImmutableSystemLeafSetNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)member, body=[ImmutableLeafSetEntryNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)member[br0], body=br0}]}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)lag-speed, body=20}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)min-links, body=5}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)switched-vlan, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, body=54}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, body=ACCESS}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, body=34}]}]}]}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)name, body=br0}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)config, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)enabled, body=true}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)type, body=(http://openconfig.net/yang/openconfig-if-types?revision=2018-11-21)IF_ETHERNET}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces?revision=2021-04-06)loopback-mode, body=false}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)ethernet, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)port-speed, body=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)SPEED_10MB}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)negotiated-duplex-mode, body=FULL}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)enable-flow-control, body=true}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)negotiated-port-speed, body=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)SPEED_10MB}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)auto-negotiate, body=true}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/aggregate?revision=2020-05-01)aggregate-id, body=admin}, ImmutableLeafNode{name=(http://openconfig.net/yang/interfaces/ethernet?revision=2021-06-09)hw-mac-address, body=00:00:0A:BB:28:FC}]}, ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)switched-vlan, body=[ImmutableContainerNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)state, body=[ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)access-vlan, body=45}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)interface-mode, body=ACCESS}, ImmutableLeafNode{name=(http://openconfig.net/yang/vlan?revision=2019-04-16)native-vlan, body=37}]}]}]}]}]}]}]}}
12:58:20.012 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: DOM-STATE-0 : Closed after submit
12:58:20.012 [main] INFO org.opendaylight.gnmi.simulatordevice.impl.SimulatedGnmiDevice -- Starting gNMI device simulator on 127.0.0.1:45015 ...
12:58:20.021 [main] INFO org.opendaylight.gnmi.simulatordevice.impl.SimulatedGnmiDevice -- gNMI device simulator is up and running
12:58:20.022 [main] INFO org.opendaylight.mdsal.dom.broker.DOMNotificationRouter -- DOM Notification Router started
12:58:20.023 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Following schema contexts will be attempted EffectiveSchemaContext{modules=[ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-app-config}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-cert}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-cert-mdsal}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-cert-rpc}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-encrypt-service-config}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-password-service-config}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=augmented-jukebox}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=example-jukebox}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-certificate-storage}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-force-capabilities}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-topology}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-yang-storage}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=iana-crypt-hash}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=iana-if-type}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=iana-tls-cipher-suite-algs}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-crypto-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-http-client}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-http-server}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-inet-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-interfaces}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-ip}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-keystore}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-netconf}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-netconf-acm}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-netconf-with-defaults}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-network-instance}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-restconf}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-restconf-monitoring}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-restconf-server}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-restconf-subscribed-notifications}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-subscribed-notifications}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tcp-client}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tcp-common}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tcp-server}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tls-client}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tls-common}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tls-server}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-truststore}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-x509-cert-to-name}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-yang-patch}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-yang-schema-mount}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-yang-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=network-topology}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=odl-device-notification}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-aaa}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-aaa-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-alarm-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-alarms}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-extensions}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-aggregate}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-ethernet}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-inet-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-interfaces}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-license}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-messages}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-openflow}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-openflow-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-platform}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-platform-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-procmon}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system-logging}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system-terminal}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-vlan}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-vlan-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-yang-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=sal-remote}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=sal-remote-augment}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=yang-ext}}]}
12:58:20.023 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Following schema contexts will be attempted EffectiveSchemaContext{modules=[ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-app-config}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-cert}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-cert-mdsal}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-cert-rpc}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-encrypt-service-config}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=aaa-password-service-config}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=augmented-jukebox}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=example-jukebox}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-certificate-storage}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-force-capabilities}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-topology}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=gnmi-yang-storage}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=iana-crypt-hash}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=iana-if-type}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=iana-tls-cipher-suite-algs}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-crypto-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-http-client}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-http-server}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-inet-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-interfaces}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-ip}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-keystore}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-netconf}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-netconf-acm}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-netconf-with-defaults}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-network-instance}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-restconf}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-restconf-monitoring}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-restconf-server}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-restconf-subscribed-notifications}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-subscribed-notifications}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tcp-client}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tcp-common}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tcp-server}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tls-client}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tls-common}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-tls-server}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-truststore}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-x509-cert-to-name}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-yang-patch}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-yang-schema-mount}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=ietf-yang-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=network-topology}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=odl-device-notification}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-aaa}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-aaa-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-alarm-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-alarms}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-extensions}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-aggregate}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-ethernet}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-if-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-inet-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-interfaces}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-license}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-messages}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-openflow}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-openflow-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-platform}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-platform-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-procmon}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system-logging}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-system-terminal}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-vlan}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-vlan-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=openconfig-yang-types}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=sal-remote}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=sal-remote-augment}}, ModuleEffectiveStatementImpl{argument=Unqualified{localName=yang-ext}}]}
12:58:20.029 [main] INFO org.opendaylight.gnmi.test.gnmi.rcgnmi.GnmiITBase -- RESTCONF Server starting on: 127.0.0.1:38169
12:58:20.029 [main] INFO org.opendaylight.mdsal.dom.broker.DOMRpcRouter -- DOM RPC/Action router started
12:58:20.030 [main] INFO org.opendaylight.mdsal.dom.broker.DOMNotificationRouter -- DOM Notification Router started
12:58:20.044 [main] INFO org.opendaylight.aaa.encrypt.impl.AAAEncryptionServiceImpl -- AAAEncryptionService activated
12:58:20.045 [main] INFO org.opendaylight.gnmi.southbound.yangmodule.GnmiSouthboundModule -- Starting ODL gNMI Southbound Component
12:58:20.045 [main] INFO org.opendaylight.gnmi.southbound.provider.GnmiSouthboundProvider -- gNMI init started
12:58:20.045 [main] INFO org.opendaylight.gnmi.southbound.provider.GnmiSouthboundProvider -- Loading provided initial yang loaders
12:58:20.048 [main] DEBUG org.opendaylight.gnmi.southbound.schema.yangstore.impl.YangDataStoreServiceImpl -- Adding yang model gnmi-test-aug with version 1.0.0 to operational datastore
12:58:20.048 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: OPER-0 allocated with snapshot Version[624fea8]
12:58:20.048 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: OPER-0 Merge: /(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models/gnmi-yang-model/gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]:ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}
12:58:20.049 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-0 : Ready
12:58:20.049 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-0 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.049 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-0 is submitted for execution.
12:58:20.049 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-0: canCommit Started
12:58:20.049 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-0 can be committed
12:58:20.049 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-0: preCommit Started
12:58:20.049 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-0: doCommit Started
12:58:20.049 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from SimpleContainerNode{version=Version[624fea8], data=ImmutableContainerNode{name=(urn:ietf:params:xml:ns:netconf:base:1.0)data, body=[]}} to MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[5bdfeade], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=SimpleContainerNode{version=Version[5bdfeade], data=ImmutableContainerNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models, body=[ImmutableSystemMapNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model, body=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}]}}}}
12:58:20.049 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-0: doCommit completed
12:58:20.049 [main] INFO org.opendaylight.gnmi.southbound.schema.loader.impl.ByPathYangLoaderService -- Loaded yang model gnmi-test-aug with version 1.0.0
12:58:20.052 [main] DEBUG org.opendaylight.gnmi.southbound.schema.yangstore.impl.YangDataStoreServiceImpl -- Adding yang model gnmi-test-model with version 1.0.0 to operational datastore
12:58:20.053 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: OPER-1 allocated with snapshot Version[5bdfeade]
12:58:20.053 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: OPER-1 Merge: /(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models/gnmi-yang-model/gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]:ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}
12:58:20.053 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-1 : Ready
12:58:20.053 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-1 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.053 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-1 is submitted for execution.
12:58:20.053 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-1: canCommit Started
12:58:20.053 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-1 can be committed
12:58:20.053 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-1: preCommit Started
12:58:20.053 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-1: doCommit Started
12:58:20.053 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[5bdfeade], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=SimpleContainerNode{version=Version[5bdfeade], data=ImmutableContainerNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models, body=[ImmutableSystemMapNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model, body=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}]}}}} to MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[350a5a3f], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[350a5a3f], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[350a5a3f], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}}
12:58:20.053 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-1: doCommit completed
12:58:20.053 [main] INFO org.opendaylight.gnmi.southbound.schema.loader.impl.ByPathYangLoaderService -- Loaded yang model gnmi-test-model with version 1.0.0
12:58:20.075 [main] DEBUG org.opendaylight.gnmi.southbound.schema.yangstore.impl.YangDataStoreServiceImpl -- Adding yang model ietf-interfaces with version 2018-02-20 to operational datastore
12:58:20.075 [mdsal-subscription-counters15] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@4a2c5cb3} unlocked
12:58:20.075 [mdsal-subscription-counters15] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@4a2c5cb3} readied
12:58:20.075 [mdsal-subscription-counters15] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Submitting transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@4a2c5cb3}
12:58:20.075 [mdsal-subscription-counters15] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@4a2c5cb3} completed successfully
12:58:20.075 [mdsal-subscription-counters15] DEBUG org.opendaylight.restconf.server.mdsal.MdsalRestconfStreamRegistry -- Subscription receivers updated successfully
12:58:20.094 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: OPER-2 allocated with snapshot Version[350a5a3f]
12:58:20.094 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: OPER-2 Merge: /(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models/gnmi-yang-model/gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]:ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}
12:58:20.094 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-2 : Ready
12:58:20.094 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-2 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.094 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-2 is submitted for execution.
12:58:20.094 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-2: canCommit Started
12:58:20.094 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-2 can be committed
12:58:20.094 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-2: preCommit Started
12:58:20.094 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-2: doCommit Started
12:58:20.094 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[350a5a3f], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[350a5a3f], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[350a5a3f], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}} to MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[7690b3ed], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[7690b3ed], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[7690b3ed], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]=SimpleContainerNode{version=Version[7690b3ed], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}}
12:58:20.095 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-2: doCommit completed
12:58:20.095 [main] INFO org.opendaylight.gnmi.southbound.schema.loader.impl.ByClassPathYangLoaderService -- Loaded yang model ietf-interfaces with version 2018-02-20
12:58:20.098 [main] DEBUG org.opendaylight.gnmi.southbound.schema.yangstore.impl.YangDataStoreServiceImpl -- Adding yang model openconfig-extensions with version 2020-06-16 to operational datastore
12:58:20.102 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: OPER-3 allocated with snapshot Version[7690b3ed]
12:58:20.102 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: OPER-3 Merge: /(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models/gnmi-yang-model/gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]:ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}
12:58:20.102 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-3 : Ready
12:58:20.102 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-3 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.102 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-3 is submitted for execution.
12:58:20.102 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-3: canCommit Started
12:58:20.102 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-3 can be committed
12:58:20.102 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-3: preCommit Started
12:58:20.102 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-3: doCommit Started
12:58:20.102 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[7690b3ed], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[7690b3ed], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[7690b3ed], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]=SimpleContainerNode{version=Version[7690b3ed], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}} to MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[624123fe], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[624123fe], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[624123fe], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]=SimpleContainerNode{version=Version[7690b3ed], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}}
12:58:20.103 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-3: doCommit completed
12:58:20.103 [main] INFO org.opendaylight.gnmi.southbound.schema.loader.impl.ByClassPathYangLoaderService -- Loaded yang model openconfig-extensions with version 2020-06-16
12:58:20.125 [main] DEBUG org.opendaylight.gnmi.southbound.schema.yangstore.impl.YangDataStoreServiceImpl -- Adding yang model openconfig-vlan with version 3.2.0 to operational datastore
12:58:20.138 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: OPER-4 allocated with snapshot Version[624123fe]
12:58:20.138 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: OPER-4 Merge: /(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models/gnmi-yang-model/gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]:ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}} to MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[415a2a7], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[415a2a7], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[415a2a7], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]=SimpleContainerNode{version=Version[7690b3ed], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}
12:58:20.156 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-5 : Ready
12:58:20.156 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-5 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.156 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-5 is submitted for execution.
12:58:20.156 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-5: canCommit Started
12:58:20.156 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-5 can be committed
12:58:20.156 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-5: preCommit Started
12:58:20.156 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-5: doCommit Started
12:58:20.156 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[415a2a7], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[415a2a7], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[415a2a7], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]=SimpleContainerNode{version=Version[7690b3ed], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]=SimpleContainerNode{version=Version[7690b3ed], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]=SimpleContainerNode{version=Version[7690b3ed], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]=SimpleContainerNode{version=Version[7690b3ed], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]=SimpleContainerNode{version=Version[7690b3ed], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}
12:58:20.255 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-9 : Ready
12:58:20.255 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-9 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.255 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-9 is submitted for execution.
12:58:20.255 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-9: canCommit Started
12:58:20.255 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-9 can be committed
12:58:20.255 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-9: preCommit Started
12:58:20.256 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-9: doCommit Started
12:58:20.256 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[79b9b7b3], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[79b9b7b3], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[79b9b7b3], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}]=SimpleContainerNode{version=Version[5b94d35d], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-messages {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/messages";
prefix "oc-messages";
// import some basic types
import openconfig-extensions { prefix "oc-ext"; }
import openconfig-system-logging { prefix "oc-log"; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to Syslog messages that a device may generate.
These messages are historically obtained through the Syslog
transport, however this module allows for obtaining them through
an alternative transport, such as a Subscribe operation over an
RPC.
This module does not usurp traditional syslog servers, which may
still be configured through the
/yang/system/openconfig-system.yang model, rather it provies the
Operator with an alternative method of consuming messages.";
oc-ext:openconfig-version "0.0.1";
revision "2018-08-13" {
description
"Initial draft.";
reference "0.0.1";
}
// identity statements
identity DEBUG_SERVICE {
description
"Base identity for debug services. Identities within this base
identity are to be augmented in by vendors.";
}
// grouping statements
grouping messages-config {
description
"Configuration data for defining Syslog message severity.";
leaf severity {
type oc-log:syslog-severity;
description
"Specifies that only messages of the given severity (or
greater severity) are sent over the RPC.
This is analogous to differentiating which severity is to be
sent to legacy Syslog servers, as opposed to local buffer or
files.";
}
}
grouping messages-state {
description
"Operational state data for Syslog messages.";
container message {
oc-ext:telemetry-atomic;
config false;
description
"Syslog messages the client is Subscribing to. This is all
messages currently configured to be sent according to
syslog-severity.";
reference
"IETF RFC 5424 - The Syslog Protocol";
// Decide if it is OK to include ALL in this leaf.
leaf msg {
type string;
description
"Message payload. If other leafs within this container not
supported, this leaf MAY include the entire message,
inclding pri, procid, app-name etc..";
}
leaf priority {
type uint8;
description
"The Priority value (PRIVAL) represents both the
Facility and Severity.";
reference
"IETF RFC 5424, Section 6.2.1";
}
leaf app-name {
type string;
description
"The APP-NAME field SHOULD identify the device or
application that originated the message.";
reference
"IETF RFC 5424, Section 6.2.5.";
}
leaf procid {
type string;
description
"PROCID is a value that is included in the message, having
no interoperable meaning, except that a change in the value
indicates there has been a discontinuity in syslog
reporting.";
reference
"IETF RFC 5424, Section 6.2.6.";
}
leaf msgid {
type string;
description
"The MSGID SHOULD identify the type of message. For
example, a firewall might use the MSGID 'TCPIN' for
incoming TCP traffic and the MSGID 'TCPOUT' for outgoing
TCP traffic.";
reference
"IETF RFC 5424, Section 6.2.7.";
}
}
}
grouping debug-messages-config {
description
"Configuration data for enabling debug messages.";
leaf service {
type identityref {
base DEBUG_SERVICE;
}
description
"Enumeration of all services which can have debugging enabled.
Vendors are to augment this base identity with their platform
or OS specific debug options.";
}
leaf enabled {
type boolean;
default false;
description
"Enable and disable debugging.";
}
}
grouping debug-messages-top {
description
"Configuration data for enabling Syslog debug messages.";
container debug-entries {
description
"Enclosing container for list of debugs to enable.";
list debug-service {
key "service";
description
"List of debugging entries.";
leaf service {
type leafref {
path "../config/service";
}
description
"Reference to the debug-enable service key.";
}
container config {
description
"Configuration data for debug service entries.";
uses debug-messages-config;
}
container state {
config false;
description
"Operational state data for enabled debugs.";
uses debug-messages-config;
}
}
}
}
grouping messages-top {
description
"Top-level grouping for Syslog messages.";
container messages {
description
"Top-level container for Syslog messages.";
container config {
description
"Configuration data for Syslog messages.";
uses messages-config;
}
container state {
config false;
description
"Operational state data for a Syslog messages.";
uses messages-config;
uses messages-state;
}
uses debug-messages-top;
}
}
uses messages-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-messages}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.0.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}]=SimpleContainerNode{version=Version[7690b3ed], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2018-02-20}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-interfaces {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if;
import ietf-yang-types {
prefix yang;
}
organization
"IETF NETMOD (Network Modeling) Working Group";
contact
"WG Web:
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}}
12:58:20.309 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-13: doCommit completed
12:58:20.309 [main] INFO org.opendaylight.gnmi.southbound.schema.loader.impl.ByClassPathYangLoaderService -- Loaded yang model openconfig-yang-types with version 0.3.0
12:58:20.312 [main] DEBUG org.opendaylight.gnmi.southbound.schema.yangstore.impl.YangDataStoreServiceImpl -- Adding yang model openconfig-aaa-types with version 0.4.1 to operational datastore
12:58:20.314 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: OPER-14 allocated with snapshot Version[65898ab3]
12:58:20.314 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: OPER-14 Merge: /(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models/gnmi-yang-model/gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}]:ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-aaa-types {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/aaa/types";
prefix "oc-aaa-types";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines shared types for data related to AAA
(authentication, authorization, accounting).";
oc-ext:openconfig-version "0.4.1";
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2018-04-12" {
description
"Add when conditions, correct identities";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
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 AAA_SERVER_TYPE {
description
"Base identity for types of AAA servers";
}
identity SYSTEM_DEFINED_ROLES {
description
"Base identity for system_defined roles that can be assigned
to users.";
}
identity SYSTEM_ROLE_ADMIN {
base SYSTEM_DEFINED_ROLES;
description
"Built-in role that allows the equivalent of superuser
permission for all configuration and operational commands
on the device.";
}
identity AAA_ACCOUNTING_EVENT_TYPE {
description
"Base identity for specifying events types that should be
sent to AAA server for accounting";
}
identity AAA_ACCOUNTING_EVENT_COMMAND {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies interactive command events for AAA accounting";
}
identity AAA_ACCOUNTING_EVENT_LOGIN {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies login events for AAA accounting";
}
identity AAA_AUTHORIZATION_EVENT_TYPE {
description
"Base identity for specifying activities that should be
sent to AAA server for authorization";
}
identity AAA_AUTHORIZATION_EVENT_COMMAND {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies interactive command events for AAA authorization";
}
identity AAA_AUTHORIZATION_EVENT_CONFIG {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies configuration (e.g., EXEC) events for AAA
authorization";
}
identity AAA_METHOD_TYPE {
description
"Base identity to define well-known methods for AAA
operations";
}
identity TACACS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all TACACS+ servers.";
}
identity RADIUS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all RADIUS servers.";
}
identity LOCAL {
base AAA_METHOD_TYPE;
description
"Locally configured method for AAA operations.";
}
// typedef statements
typedef crypt-password-type {
type string;
description
"A password that is hashed based on the hash algorithm
indicated by the prefix in the string. The string
takes the following form, based on the Unix crypt function:
$[$=(,=)*][$[$]]
Common hash functions include:
id | hash function
---+---------------
1 | MD5
2a| Blowfish
2y| Blowfish (correct handling of 8-bit chars)
5 | SHA-256
6 | SHA-512
These may not all be supported by a target device.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.4.1}]}
12:58:20.314 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-14 : Ready
12:58:20.314 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-14 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.314 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-14 is submitted for execution.
12:58:20.314 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-14: canCommit Started
12:58:20.314 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-14 can be committed
12:58:20.314 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-14: preCommit Started
12:58:20.314 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-14: doCommit Started
12:58:20.314 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[65898ab3], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[65898ab3], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[65898ab3], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}]=SimpleContainerNode{version=Version[5b94d35d], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-messages {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/messages";
prefix "oc-messages";
// import some basic types
import openconfig-extensions { prefix "oc-ext"; }
import openconfig-system-logging { prefix "oc-log"; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to Syslog messages that a device may generate.
These messages are historically obtained through the Syslog
transport, however this module allows for obtaining them through
an alternative transport, such as a Subscribe operation over an
RPC.
This module does not usurp traditional syslog servers, which may
still be configured through the
/yang/system/openconfig-system.yang model, rather it provies the
Operator with an alternative method of consuming messages.";
oc-ext:openconfig-version "0.0.1";
revision "2018-08-13" {
description
"Initial draft.";
reference "0.0.1";
}
// identity statements
identity DEBUG_SERVICE {
description
"Base identity for debug services. Identities within this base
identity are to be augmented in by vendors.";
}
// grouping statements
grouping messages-config {
description
"Configuration data for defining Syslog message severity.";
leaf severity {
type oc-log:syslog-severity;
description
"Specifies that only messages of the given severity (or
greater severity) are sent over the RPC.
This is analogous to differentiating which severity is to be
sent to legacy Syslog servers, as opposed to local buffer or
files.";
}
}
grouping messages-state {
description
"Operational state data for Syslog messages.";
container message {
oc-ext:telemetry-atomic;
config false;
description
"Syslog messages the client is Subscribing to. This is all
messages currently configured to be sent according to
syslog-severity.";
reference
"IETF RFC 5424 - The Syslog Protocol";
// Decide if it is OK to include ALL in this leaf.
leaf msg {
type string;
description
"Message payload. If other leafs within this container not
supported, this leaf MAY include the entire message,
inclding pri, procid, app-name etc..";
}
leaf priority {
type uint8;
description
"The Priority value (PRIVAL) represents both the
Facility and Severity.";
reference
"IETF RFC 5424, Section 6.2.1";
}
leaf app-name {
type string;
description
"The APP-NAME field SHOULD identify the device or
application that originated the message.";
reference
"IETF RFC 5424, Section 6.2.5.";
}
leaf procid {
type string;
description
"PROCID is a value that is included in the message, having
no interoperable meaning, except that a change in the value
indicates there has been a discontinuity in syslog
reporting.";
reference
"IETF RFC 5424, Section 6.2.6.";
}
leaf msgid {
type string;
description
"The MSGID SHOULD identify the type of message. For
example, a firewall might use the MSGID 'TCPIN' for
incoming TCP traffic and the MSGID 'TCPOUT' for outgoing
TCP traffic.";
reference
"IETF RFC 5424, Section 6.2.7.";
}
}
}
grouping debug-messages-config {
description
"Configuration data for enabling debug messages.";
leaf service {
type identityref {
base DEBUG_SERVICE;
}
description
"Enumeration of all services which can have debugging enabled.
Vendors are to augment this base identity with their platform
or OS specific debug options.";
}
leaf enabled {
type boolean;
default false;
description
"Enable and disable debugging.";
}
}
grouping debug-messages-top {
description
"Configuration data for enabling Syslog debug messages.";
container debug-entries {
description
"Enclosing container for list of debugs to enable.";
list debug-service {
key "service";
description
"List of debugging entries.";
leaf service {
type leafref {
path "../config/service";
}
description
"Reference to the debug-enable service key.";
}
container config {
description
"Configuration data for debug service entries.";
uses debug-messages-config;
}
container state {
config false;
description
"Operational state data for enabled debugs.";
uses debug-messages-config;
}
}
}
}
grouping messages-top {
description
"Top-level grouping for Syslog messages.";
container messages {
description
"Top-level container for Syslog messages.";
container config {
description
"Configuration data for Syslog messages.";
uses messages-config;
}
container state {
config false;
description
"Operational state data for a Syslog messages.";
uses messages-config;
uses messages-state;
}
uses debug-messages-top;
}
}
uses messages-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-messages}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.0.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}]=SimpleContainerNode{version=Version[65898ab3], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-yang-types {
yang-version "1";
namespace "http://openconfig.net/yang/types/yang";
prefix "oc-yang";
import openconfig-extensions { prefix "oc-ext"; }
organization
"OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module contains a set of extension types to the
YANG builtin types that are used across multiple
OpenConfig models.
Portions of this code were derived from IETF RFC 6021.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.0";
revision "2021-03-02" {
description
"Fix date-and-time and date's pattern statement, and remove the
regexp-posix extension, which makes pattern statements conform to the
YANG standard.";
reference "0.3.0";
}
revision "2020-06-30" {
description
"Add OpenConfig POSIX pattern extensions.";
reference "0.2.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.2.1";
}
revision 2018-04-24 {
description
"Add date typedef";
reference "0.2.0";
}
revision 2017-07-30 {
description
"Fixed unprintable character";
reference "0.1.2";
}
revision 2017-04-03 {
description
"Update copyright notice.";
reference "0.1.1";
}
revision 2017-01-26 {
description
"Initial module for inet types";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef dotted-quad {
type string {
pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])';
oc-ext:posix-pattern '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])$';
}
description
"An unsigned 32-bit integer expressed as a dotted quad. The
format is four octets written as decimal numbers separated
with a period character.";
}
typedef hex-string {
type string {
pattern '[0-9a-fA-F]*';
oc-ext:posix-pattern '[0-9a-fA-F]*';
}
description
"A string consisting of a hexadecimal characters.";
}
typedef counter32 {
type uint32;
description
"A 32-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When the counter
reaches its maximum value, in this case 2^32-1, it wraps to 0.
Discontinuities in the counter are generally triggered only when
the counter is reset to zero.";
}
typedef counter64 {
type uint64;
description
"A 64-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When a counter64
reaches its maximum value, 2^64-1, it loops to zero.
Discontinuities in a counter are generally triggered only when
the counter is reset to zero, through operator or system
intervention.";
}
typedef date-and-time {
type string {
pattern
'[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))$';
}
description
"A date and time, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DDTHH:MM:SSZ+-hh:mm
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value. T is the literal character 'T',
HH is the hour of the day expressed as a two digit number, using
the 24-hour clock, MM is the minute of the hour expressed as a
two digit number. Z is the literal character 'Z', followed by a
timezone offset expressed in hours (hh) and minutes (mm), both
expressed as two digit numbers. The time offset is specified as
a positive or negative offset to UTC using the '+' or '-'
character preceding the offset.
Optionally, fractional seconds can be expressed after the minute
of the hour as a decimal number of unspecified precision
reflecting fractions of a second.";
reference
"RFC3339 - Date and Time on the Internet: Timestamps";
}
typedef date {
type string {
pattern '[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])$';
}
description
"A full UTC date, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DD
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value.";
reference
"RFC3339 - Date and Time on the Internet: full-date";
}
typedef gauge64 {
type uint64;
description
"A gauge value may increase or decrease - and reflects a value
at a particular point in time. If the value of the variable
being modeled using the gauge exceeds its maximum - 2^64-1 in
this case - the gauge is set to its maximum value.";
}
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
oc-ext:posix-pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A physical layer address, expressed as a series of pairs of
hexadecimal digits.";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
oc-ext:posix-pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"An IEEE 802 MAC address";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}} to MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[1228d8d9], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[1228d8d9], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[1228d8d9], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}]=SimpleContainerNode{version=Version[5b94d35d], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-messages {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/messages";
prefix "oc-messages";
// import some basic types
import openconfig-extensions { prefix "oc-ext"; }
import openconfig-system-logging { prefix "oc-log"; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to Syslog messages that a device may generate.
These messages are historically obtained through the Syslog
transport, however this module allows for obtaining them through
an alternative transport, such as a Subscribe operation over an
RPC.
This module does not usurp traditional syslog servers, which may
still be configured through the
/yang/system/openconfig-system.yang model, rather it provies the
Operator with an alternative method of consuming messages.";
oc-ext:openconfig-version "0.0.1";
revision "2018-08-13" {
description
"Initial draft.";
reference "0.0.1";
}
// identity statements
identity DEBUG_SERVICE {
description
"Base identity for debug services. Identities within this base
identity are to be augmented in by vendors.";
}
// grouping statements
grouping messages-config {
description
"Configuration data for defining Syslog message severity.";
leaf severity {
type oc-log:syslog-severity;
description
"Specifies that only messages of the given severity (or
greater severity) are sent over the RPC.
This is analogous to differentiating which severity is to be
sent to legacy Syslog servers, as opposed to local buffer or
files.";
}
}
grouping messages-state {
description
"Operational state data for Syslog messages.";
container message {
oc-ext:telemetry-atomic;
config false;
description
"Syslog messages the client is Subscribing to. This is all
messages currently configured to be sent according to
syslog-severity.";
reference
"IETF RFC 5424 - The Syslog Protocol";
// Decide if it is OK to include ALL in this leaf.
leaf msg {
type string;
description
"Message payload. If other leafs within this container not
supported, this leaf MAY include the entire message,
inclding pri, procid, app-name etc..";
}
leaf priority {
type uint8;
description
"The Priority value (PRIVAL) represents both the
Facility and Severity.";
reference
"IETF RFC 5424, Section 6.2.1";
}
leaf app-name {
type string;
description
"The APP-NAME field SHOULD identify the device or
application that originated the message.";
reference
"IETF RFC 5424, Section 6.2.5.";
}
leaf procid {
type string;
description
"PROCID is a value that is included in the message, having
no interoperable meaning, except that a change in the value
indicates there has been a discontinuity in syslog
reporting.";
reference
"IETF RFC 5424, Section 6.2.6.";
}
leaf msgid {
type string;
description
"The MSGID SHOULD identify the type of message. For
example, a firewall might use the MSGID 'TCPIN' for
incoming TCP traffic and the MSGID 'TCPOUT' for outgoing
TCP traffic.";
reference
"IETF RFC 5424, Section 6.2.7.";
}
}
}
grouping debug-messages-config {
description
"Configuration data for enabling debug messages.";
leaf service {
type identityref {
base DEBUG_SERVICE;
}
description
"Enumeration of all services which can have debugging enabled.
Vendors are to augment this base identity with their platform
or OS specific debug options.";
}
leaf enabled {
type boolean;
default false;
description
"Enable and disable debugging.";
}
}
grouping debug-messages-top {
description
"Configuration data for enabling Syslog debug messages.";
container debug-entries {
description
"Enclosing container for list of debugs to enable.";
list debug-service {
key "service";
description
"List of debugging entries.";
leaf service {
type leafref {
path "../config/service";
}
description
"Reference to the debug-enable service key.";
}
container config {
description
"Configuration data for debug service entries.";
uses debug-messages-config;
}
container state {
config false;
description
"Operational state data for enabled debugs.";
uses debug-messages-config;
}
}
}
}
grouping messages-top {
description
"Top-level grouping for Syslog messages.";
container messages {
description
"Top-level container for Syslog messages.";
container config {
description
"Configuration data for Syslog messages.";
uses messages-config;
}
container state {
config false;
description
"Operational state data for a Syslog messages.";
uses messages-config;
uses messages-state;
}
uses debug-messages-top;
}
}
uses messages-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-messages}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.0.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}]=SimpleContainerNode{version=Version[1228d8d9], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-aaa-types {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/aaa/types";
prefix "oc-aaa-types";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines shared types for data related to AAA
(authentication, authorization, accounting).";
oc-ext:openconfig-version "0.4.1";
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2018-04-12" {
description
"Add when conditions, correct identities";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
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 AAA_SERVER_TYPE {
description
"Base identity for types of AAA servers";
}
identity SYSTEM_DEFINED_ROLES {
description
"Base identity for system_defined roles that can be assigned
to users.";
}
identity SYSTEM_ROLE_ADMIN {
base SYSTEM_DEFINED_ROLES;
description
"Built-in role that allows the equivalent of superuser
permission for all configuration and operational commands
on the device.";
}
identity AAA_ACCOUNTING_EVENT_TYPE {
description
"Base identity for specifying events types that should be
sent to AAA server for accounting";
}
identity AAA_ACCOUNTING_EVENT_COMMAND {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies interactive command events for AAA accounting";
}
identity AAA_ACCOUNTING_EVENT_LOGIN {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies login events for AAA accounting";
}
identity AAA_AUTHORIZATION_EVENT_TYPE {
description
"Base identity for specifying activities that should be
sent to AAA server for authorization";
}
identity AAA_AUTHORIZATION_EVENT_COMMAND {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies interactive command events for AAA authorization";
}
identity AAA_AUTHORIZATION_EVENT_CONFIG {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies configuration (e.g., EXEC) events for AAA
authorization";
}
identity AAA_METHOD_TYPE {
description
"Base identity to define well-known methods for AAA
operations";
}
identity TACACS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all TACACS+ servers.";
}
identity RADIUS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all RADIUS servers.";
}
identity LOCAL {
base AAA_METHOD_TYPE;
description
"Locally configured method for AAA operations.";
}
// typedef statements
typedef crypt-password-type {
type string;
description
"A password that is hashed based on the hash algorithm
indicated by the prefix in the string. The string
takes the following form, based on the Unix crypt function:
$[$=(,=)*][$[$]]
Common hash functions include:
id | hash function
---+---------------
1 | MD5
2a| Blowfish
2y| Blowfish (correct handling of 8-bit chars)
5 | SHA-256
6 | SHA-512
These may not all be supported by a target device.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.4.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}]=SimpleContainerNode{version=Version[65898ab3], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-yang-types {
yang-version "1";
namespace "http://openconfig.net/yang/types/yang";
prefix "oc-yang";
import openconfig-extensions { prefix "oc-ext"; }
organization
"OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module contains a set of extension types to the
YANG builtin types that are used across multiple
OpenConfig models.
Portions of this code were derived from IETF RFC 6021.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.0";
revision "2021-03-02" {
description
"Fix date-and-time and date's pattern statement, and remove the
regexp-posix extension, which makes pattern statements conform to the
YANG standard.";
reference "0.3.0";
}
revision "2020-06-30" {
description
"Add OpenConfig POSIX pattern extensions.";
reference "0.2.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.2.1";
}
revision 2018-04-24 {
description
"Add date typedef";
reference "0.2.0";
}
revision 2017-07-30 {
description
"Fixed unprintable character";
reference "0.1.2";
}
revision 2017-04-03 {
description
"Update copyright notice.";
reference "0.1.1";
}
revision 2017-01-26 {
description
"Initial module for inet types";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef dotted-quad {
type string {
pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])';
oc-ext:posix-pattern '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])$';
}
description
"An unsigned 32-bit integer expressed as a dotted quad. The
format is four octets written as decimal numbers separated
with a period character.";
}
typedef hex-string {
type string {
pattern '[0-9a-fA-F]*';
oc-ext:posix-pattern '[0-9a-fA-F]*';
}
description
"A string consisting of a hexadecimal characters.";
}
typedef counter32 {
type uint32;
description
"A 32-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When the counter
reaches its maximum value, in this case 2^32-1, it wraps to 0.
Discontinuities in the counter are generally triggered only when
the counter is reset to zero.";
}
typedef counter64 {
type uint64;
description
"A 64-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When a counter64
reaches its maximum value, 2^64-1, it loops to zero.
Discontinuities in a counter are generally triggered only when
the counter is reset to zero, through operator or system
intervention.";
}
typedef date-and-time {
type string {
pattern
'[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))$';
}
description
"A date and time, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DDTHH:MM:SSZ+-hh:mm
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value. T is the literal character 'T',
HH is the hour of the day expressed as a two digit number, using
the 24-hour clock, MM is the minute of the hour expressed as a
two digit number. Z is the literal character 'Z', followed by a
timezone offset expressed in hours (hh) and minutes (mm), both
expressed as two digit numbers. The time offset is specified as
a positive or negative offset to UTC using the '+' or '-'
character preceding the offset.
Optionally, fractional seconds can be expressed after the minute
of the hour as a decimal number of unspecified precision
reflecting fractions of a second.";
reference
"RFC3339 - Date and Time on the Internet: Timestamps";
}
typedef date {
type string {
pattern '[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])$';
}
description
"A full UTC date, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DD
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value.";
reference
"RFC3339 - Date and Time on the Internet: full-date";
}
typedef gauge64 {
type uint64;
description
"A gauge value may increase or decrease - and reflects a value
at a particular point in time. If the value of the variable
being modeled using the gauge exceeds its maximum - 2^64-1 in
this case - the gauge is set to its maximum value.";
}
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
oc-ext:posix-pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A physical layer address, expressed as a series of pairs of
hexadecimal digits.";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
oc-ext:posix-pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"An IEEE 802 MAC address";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}}
12:58:20.320 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-14: doCommit completed
12:58:20.320 [main] INFO org.opendaylight.gnmi.southbound.schema.loader.impl.ByClassPathYangLoaderService -- Loaded yang model openconfig-aaa-types with version 0.4.1
12:58:20.340 [main] DEBUG org.opendaylight.gnmi.southbound.schema.yangstore.impl.YangDataStoreServiceImpl -- Adding yang model openconfig-interfaces with version 2.5.0 to operational datastore
12:58:20.355 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: OPER-15 allocated with snapshot Version[1228d8d9]
12:58:20.356 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: OPER-15 Merge: /(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models/gnmi-yang-model/gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}]:ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-interfaces {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/interfaces";
prefix "oc-if";
// import some basic types
import ietf-interfaces { prefix ietf-if; }
import openconfig-yang-types { prefix oc-yang; }
import openconfig-types { prefix oc-types; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"Model for managing network interfaces and subinterfaces. This
module also defines convenience types / groupings for other
models to create references to interfaces:
base-interface-ref (type) - reference to a base interface
interface-ref (grouping) - container for reference to a
interface + subinterface
interface-ref-state (grouping) - container for read-only
(opstate) reference to interface + subinterface
This model reuses data items defined in the IETF YANG model for
interfaces described by RFC 7223 with an alternate structure
(particularly for operational state data) and with
additional configuration items.
Portions of this code were derived from IETF RFC 7223.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "2.5.0";
revision "2021-04-06" {
description
"Add leaves for management and cpu interfaces";
reference "2.5.0";
}
revision "2019-11-19" {
description
"Update description of interface name.";
reference "2.4.3";
}
revision "2019-07-10" {
description
"Remove redundant nanosecond units statements to reflect
universal definition of timeticks64 type.";
reference "2.4.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "2.4.1";
}
revision "2018-08-07" {
description
"Add leaf to indicate whether an interface is physical or
logical.";
reference "2.4.0";
}
revision "2018-07-02" {
description
"Add in-pkts and out-pkts in counters";
reference "2.3.2";
}
revision "2018-04-24" {
description
"Clarified behavior of last-change state leaf";
reference "2.3.1";
}
revision "2018-01-05" {
description
"Add logical loopback to interface.";
reference "2.3.0";
}
revision "2017-12-22" {
description
"Add IPv4 proxy ARP configuration.";
reference "2.2.0";
}
revision "2017-12-21" {
description
"Added IPv6 router advertisement configuration.";
reference "2.1.0";
}
revision "2017-07-14" {
description
"Added Ethernet/IP state data; Add dhcp-client;
migrate to OpenConfig types modules; Removed or
renamed opstate values";
reference "2.0.0";
}
revision "2017-04-03" {
description
"Update copyright notice.";
reference "1.1.1";
}
revision "2016-12-22" {
description
"Fixes to Ethernet interfaces model";
reference "1.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// typedef statements
typedef base-interface-ref {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reusable type for by-name reference to a base interface.
This type may be used in cases where ability to reference
a subinterface is not required.";
}
typedef interface-id {
type string;
description
"User-defined identifier for an interface, generally used to
name a interface reference. The id can be arbitrary but a
useful convention is to use a combination of base interface
name and subinterface index.";
}
// grouping statements
grouping interface-ref-common {
description
"Reference leafrefs to interface / subinterface";
leaf interface {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reference to a base interface. If a reference to a
subinterface is required, this leaf must be specified
to indicate the base interface.";
}
leaf subinterface {
type leafref {
path "/oc-if:interfaces/" +
"oc-if:interface[oc-if:name=current()/../interface]/" +
"oc-if:subinterfaces/oc-if:subinterface/oc-if:index";
}
description
"Reference to a subinterface -- this requires the base
interface to be specified using the interface leaf in
this container. If only a reference to a base interface
is requuired, this leaf should not be set.";
}
}
grouping interface-ref-state-container {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container state {
config false;
description
"Operational state for interface-ref";
uses interface-ref-common;
}
}
grouping interface-ref {
description
"Reusable definition for a reference to an interface or
subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
container config {
description
"Configured reference to interface / subinterface";
oc-ext:telemetry-on-change;
uses interface-ref-common;
}
uses interface-ref-state-container;
}
}
grouping interface-ref-state {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
uses interface-ref-state-container;
}
}
grouping base-interface-ref-state {
description
"Reusable opstate w/container for a reference to a
base interface (no subinterface).";
container state {
config false;
description
"Operational state for base interface reference";
leaf interface {
type base-interface-ref;
description
"Reference to a base interface.";
}
}
}
grouping interface-common-config {
description
"Configuration data data nodes common to physical interfaces
and subinterfaces";
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
datastore.
Specifically, if the device supports ':startup', when
ifAlias is read the device MUST return the value of
'description' in the 'startup' datastore, and when it is
written, it MUST be written to the 'running' and 'startup'
datastores. Note that it is up to the implementation to
decide whether to modify this single leaf in 'startup' or
perform an implicit copy-config from 'running' to
'startup'.
If the device does not support ':startup', ifAlias MUST
be mapped to the 'description' leaf in the 'running'
datastore.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the 'running' datastore to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the 'running' datastore are
reflected in ifAdminStatus, but if ifAdminStatus is
changed over SNMP, this leaf is not affected.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
}
grouping interface-phys-config {
description
"Configuration data for physical interfaces";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface. The 'config false'
list interfaces/interface[name]/state contains the currently
existing interfaces on the device.
If a client tries to create configuration for a
system-controlled interface that is not present in the
corresponding state list, the server MAY reject
the request if the implementation does not support
pre-provisioning of interfaces or if the name refers to
an interface that can never exist in the system. A
NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.
The IETF model in RFC 7223 provides YANG features for the
following (i.e., pre-provisioning and arbitrary-names),
however they are omitted here:
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
/interfaces/interface[name]/state list.";
}
leaf type {
type identityref {
base ietf-if:interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf mtu {
type uint16;
description
"Set the max transmission unit size in octets
for the physical interface. If this is not set, the mtu is
set to the operational default -- e.g., 1514 bytes on an
Ethernet interface.";
}
leaf loopback-mode {
type boolean;
default false;
description
"When set to true, the interface is logically looped back,
such that packets that are forwarded via the interface
are received on the same interface.";
}
uses interface-common-config;
}
grouping interface-phys-holdtime-config {
description
"Configuration data for interface hold-time settings --
applies to physical interfaces.";
leaf up {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface
transitions from down to up. A zero value means dampening
is turned off, i.e., immediate notification.";
}
leaf down {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface transitions from
up to down. A zero value means dampening is turned off,
i.e., immediate notification.";
}
}
grouping interface-phys-holdtime-state {
description
"Operational state data for interface hold-time.";
}
grouping interface-phys-holdtime-top {
description
"Top-level grouping for setting link transition
dampening on physical and other types of interfaces.";
container hold-time {
description
"Top-level container for hold-time settings to enable
dampening advertisements of interface transitions.";
container config {
description
"Configuration data for interface hold-time settings.";
oc-ext:telemetry-on-change;
uses interface-phys-holdtime-config;
}
container state {
config false;
description
"Operational state data for interface hold-time.";
uses interface-phys-holdtime-config;
uses interface-phys-holdtime-state;
}
}
}
grouping interface-common-state {
description
"Operational state data (in addition to intended configuration)
at the global level for this interface";
oc-ext:operational;
leaf ifindex {
type uint32;
description
"System assigned number for each interface. Corresponds to
ifIndex object in SNMP Interface MIB";
reference
"RFC 2863 - The Interfaces Group MIB";
oc-ext:telemetry-on-change;
}
leaf admin-status {
type enumeration {
enum UP {
description
"Ready to pass packets.";
}
enum DOWN {
description
"Not ready to pass packets and not in some test mode.";
}
enum TESTING {
//TODO: This is generally not supported as a configured
//admin state, though it's in the standard interfaces MIB.
//Consider removing it.
description
"In some test mode.";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The desired state of the interface. In RFC 7223 this leaf
has the same read semantics as ifAdminStatus. Here, it
reflects the administrative state as set by enabling or
disabling the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
oc-ext:telemetry-on-change;
}
leaf oper-status {
type enumeration {
enum UP {
value 1;
description
"Ready to pass packets.";
}
enum DOWN {
value 2;
description
"The interface does not pass any packets.";
}
enum TESTING {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum UNKNOWN {
value 4;
description
"Status cannot be determined for some reason.";
}
enum DORMANT {
value 5;
description
"Waiting for some external event.";
}
enum NOT_PRESENT {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum LOWER_LAYER_DOWN {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
oc-ext:telemetry-on-change;
}
leaf last-change {
type oc-types:timeticks64;
description
"This timestamp indicates the absolute time of the last
state change of the interface (e.g., up-to-down transition).
This is different than the SNMP ifLastChange object in the
standard interface MIB in that it is not relative to the
system boot time (i.e,. sysUpTime).
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
leaf logical {
type boolean;
description
"When set to true, the interface is a logical interface
which does not have an associated physical port or
channel on the system.";
oc-ext:telemetry-on-change;
}
leaf management {
type boolean;
description
"When set to true, the interface is a dedicated
management interface that is not connected to dataplane
interfaces. It may be used to connect the system to an
out-of-band management network, for example.";
oc-ext:telemetry-on-change;
}
leaf cpu {
type boolean;
description
"When set to true, the interface is for traffic
that is handled by the system CPU, sometimes also called the
control plane interface. On systems that represent the CPU
interface as an Ethernet interface, for example, this leaf
should be used to distinguish the CPU interface from dataplane
interfaces.";
oc-ext:telemetry-on-change;
}
}
grouping interface-counters-state {
description
"Operational state representing interface counters
and statistics.";
//TODO: we may need to break this list of counters into those
//that would appear for physical vs. subinterface or logical
//interfaces. For now, just replicating the full stats
//grouping to both interface and subinterface.
oc-ext:operational;
container counters {
description
"A collection of interface-related statistics objects.";
leaf in-octets {
type oc-yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-pkts {
type oc-yang:counter64;
description
"The total number of packets received on the interface,
including all unicast, multicast, broadcast and bad packets
etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf in-unicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type oc-yang:counter64;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf in-fcs-errors {
type oc-yang:counter64;
description
"Number of received packets which had errors in the
frame check sequence (FCS), i.e., framing errors.
Discontinuities in the value of this counter can occur
when the device is re-initialization as indicated by the
value of 'last-clear'.";
}
leaf out-octets {
type oc-yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-pkts {
type oc-yang:counter64;
description
"The total number of packets transmitted out of the
interface, including all unicast, multicast, broadcast,
and bad packets etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf out-unicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type oc-yang:counter64;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
leaf carrier-transitions {
type oc-yang:counter64;
description
"Number of times the interface state has transitioned
between up and down since the time the device restarted
or the last-clear time, whichever is most recent.";
oc-ext:telemetry-on-change;
}
leaf last-clear {
type oc-types:timeticks64;
description
"Timestamp of the last time the interface counters were
cleared.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
}
}
// data definition statements
grouping sub-unnumbered-config {
description
"Configuration data for unnumbered subinterfaces";
leaf enabled {
type boolean;
default false;
description
"Indicates that the subinterface is unnumbered. By default
the subinterface is numbered, i.e., expected to have an
IP address configuration.";
}
}
grouping sub-unnumbered-state {
description
"Operational state data unnumbered subinterfaces";
}
grouping sub-unnumbered-top {
description
"Top-level grouping unnumbered subinterfaces";
container unnumbered {
description
"Top-level container for setting unnumbered interfaces.
Includes reference the interface that provides the
address information";
container config {
description
"Configuration data for unnumbered interface";
oc-ext:telemetry-on-change;
uses sub-unnumbered-config;
}
container state {
config false;
description
"Operational state data for unnumbered interfaces";
uses sub-unnumbered-config;
uses sub-unnumbered-state;
}
uses oc-if:interface-ref;
}
}
grouping subinterfaces-config {
description
"Configuration data for subinterfaces";
leaf index {
type uint32;
default 0;
description
"The index of the subinterface, or logical interface number.
On systems with no support for subinterfaces, or not using
subinterfaces, this value should default to 0, i.e., the
default subinterface.";
}
uses interface-common-config;
}
grouping subinterfaces-state {
description
"Operational state data for subinterfaces";
oc-ext:operational;
leaf name {
type string;
description
"The system-assigned name for the sub-interface. This MAY
be a combination of the base interface name and the
subinterface index, or some other convention used by the
system.";
oc-ext:telemetry-on-change;
}
uses interface-common-state;
uses interface-counters-state;
}
grouping subinterfaces-top {
description
"Subinterface data for logical interfaces associated with a
given interface";
container subinterfaces {
description
"Enclosing container for the list of subinterfaces associated
with a physical interface";
list subinterface {
key "index";
description
"The list of subinterfaces (logical interfaces) associated
with a physical interface";
leaf index {
type leafref {
path "../config/index";
}
description
"The index number of the subinterface -- used to address
the logical interface";
}
container config {
description
"Configurable items at the subinterface level";
oc-ext:telemetry-on-change;
uses subinterfaces-config;
}
container state {
config false;
description
"Operational state data for logical interfaces";
uses subinterfaces-config;
uses subinterfaces-state;
}
}
}
}
grouping interfaces-top {
description
"Top-level grouping for interface configuration and
operational state data";
container interfaces {
description
"Top level container for interfaces, including configuration
and state data.";
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type leafref {
path "../config/name";
}
description
"References the name of the interface";
//TODO: need to consider whether this should actually
//reference the name in the state subtree, which
//presumably would be the system-assigned name, or the
//configured name. Points to the config/name now
//because of YANG 1.0 limitation that the list
//key must have the same "config" as the list, and
//also can't point to a non-config node.
}
container config {
description
"Configurable items at the global, physical interface
level";
oc-ext:telemetry-on-change;
uses interface-phys-config;
}
container state {
config false;
description
"Operational state data at the global interface level";
uses interface-phys-config;
uses interface-common-state;
uses interface-counters-state;
}
uses interface-phys-holdtime-top;
uses subinterfaces-top;
}
}
}
uses interfaces-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2.5.0}]}
12:58:20.356 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-15 : Ready
12:58:20.356 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-15 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.356 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-15 is submitted for execution.
12:58:20.356 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-15: canCommit Started
12:58:20.356 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-15 can be committed
12:58:20.356 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-15: preCommit Started
12:58:20.356 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-15: doCommit Started
12:58:20.356 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[1228d8d9], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[1228d8d9], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[1228d8d9], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}]=SimpleContainerNode{version=Version[5b94d35d], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-messages {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/messages";
prefix "oc-messages";
// import some basic types
import openconfig-extensions { prefix "oc-ext"; }
import openconfig-system-logging { prefix "oc-log"; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to Syslog messages that a device may generate.
These messages are historically obtained through the Syslog
transport, however this module allows for obtaining them through
an alternative transport, such as a Subscribe operation over an
RPC.
This module does not usurp traditional syslog servers, which may
still be configured through the
/yang/system/openconfig-system.yang model, rather it provies the
Operator with an alternative method of consuming messages.";
oc-ext:openconfig-version "0.0.1";
revision "2018-08-13" {
description
"Initial draft.";
reference "0.0.1";
}
// identity statements
identity DEBUG_SERVICE {
description
"Base identity for debug services. Identities within this base
identity are to be augmented in by vendors.";
}
// grouping statements
grouping messages-config {
description
"Configuration data for defining Syslog message severity.";
leaf severity {
type oc-log:syslog-severity;
description
"Specifies that only messages of the given severity (or
greater severity) are sent over the RPC.
This is analogous to differentiating which severity is to be
sent to legacy Syslog servers, as opposed to local buffer or
files.";
}
}
grouping messages-state {
description
"Operational state data for Syslog messages.";
container message {
oc-ext:telemetry-atomic;
config false;
description
"Syslog messages the client is Subscribing to. This is all
messages currently configured to be sent according to
syslog-severity.";
reference
"IETF RFC 5424 - The Syslog Protocol";
// Decide if it is OK to include ALL in this leaf.
leaf msg {
type string;
description
"Message payload. If other leafs within this container not
supported, this leaf MAY include the entire message,
inclding pri, procid, app-name etc..";
}
leaf priority {
type uint8;
description
"The Priority value (PRIVAL) represents both the
Facility and Severity.";
reference
"IETF RFC 5424, Section 6.2.1";
}
leaf app-name {
type string;
description
"The APP-NAME field SHOULD identify the device or
application that originated the message.";
reference
"IETF RFC 5424, Section 6.2.5.";
}
leaf procid {
type string;
description
"PROCID is a value that is included in the message, having
no interoperable meaning, except that a change in the value
indicates there has been a discontinuity in syslog
reporting.";
reference
"IETF RFC 5424, Section 6.2.6.";
}
leaf msgid {
type string;
description
"The MSGID SHOULD identify the type of message. For
example, a firewall might use the MSGID 'TCPIN' for
incoming TCP traffic and the MSGID 'TCPOUT' for outgoing
TCP traffic.";
reference
"IETF RFC 5424, Section 6.2.7.";
}
}
}
grouping debug-messages-config {
description
"Configuration data for enabling debug messages.";
leaf service {
type identityref {
base DEBUG_SERVICE;
}
description
"Enumeration of all services which can have debugging enabled.
Vendors are to augment this base identity with their platform
or OS specific debug options.";
}
leaf enabled {
type boolean;
default false;
description
"Enable and disable debugging.";
}
}
grouping debug-messages-top {
description
"Configuration data for enabling Syslog debug messages.";
container debug-entries {
description
"Enclosing container for list of debugs to enable.";
list debug-service {
key "service";
description
"List of debugging entries.";
leaf service {
type leafref {
path "../config/service";
}
description
"Reference to the debug-enable service key.";
}
container config {
description
"Configuration data for debug service entries.";
uses debug-messages-config;
}
container state {
config false;
description
"Operational state data for enabled debugs.";
uses debug-messages-config;
}
}
}
}
grouping messages-top {
description
"Top-level grouping for Syslog messages.";
container messages {
description
"Top-level container for Syslog messages.";
container config {
description
"Configuration data for Syslog messages.";
uses messages-config;
}
container state {
config false;
description
"Operational state data for a Syslog messages.";
uses messages-config;
uses messages-state;
}
uses debug-messages-top;
}
}
uses messages-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-messages}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.0.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}]=SimpleContainerNode{version=Version[1228d8d9], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-aaa-types {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/aaa/types";
prefix "oc-aaa-types";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines shared types for data related to AAA
(authentication, authorization, accounting).";
oc-ext:openconfig-version "0.4.1";
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2018-04-12" {
description
"Add when conditions, correct identities";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
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 AAA_SERVER_TYPE {
description
"Base identity for types of AAA servers";
}
identity SYSTEM_DEFINED_ROLES {
description
"Base identity for system_defined roles that can be assigned
to users.";
}
identity SYSTEM_ROLE_ADMIN {
base SYSTEM_DEFINED_ROLES;
description
"Built-in role that allows the equivalent of superuser
permission for all configuration and operational commands
on the device.";
}
identity AAA_ACCOUNTING_EVENT_TYPE {
description
"Base identity for specifying events types that should be
sent to AAA server for accounting";
}
identity AAA_ACCOUNTING_EVENT_COMMAND {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies interactive command events for AAA accounting";
}
identity AAA_ACCOUNTING_EVENT_LOGIN {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies login events for AAA accounting";
}
identity AAA_AUTHORIZATION_EVENT_TYPE {
description
"Base identity for specifying activities that should be
sent to AAA server for authorization";
}
identity AAA_AUTHORIZATION_EVENT_COMMAND {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies interactive command events for AAA authorization";
}
identity AAA_AUTHORIZATION_EVENT_CONFIG {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies configuration (e.g., EXEC) events for AAA
authorization";
}
identity AAA_METHOD_TYPE {
description
"Base identity to define well-known methods for AAA
operations";
}
identity TACACS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all TACACS+ servers.";
}
identity RADIUS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all RADIUS servers.";
}
identity LOCAL {
base AAA_METHOD_TYPE;
description
"Locally configured method for AAA operations.";
}
// typedef statements
typedef crypt-password-type {
type string;
description
"A password that is hashed based on the hash algorithm
indicated by the prefix in the string. The string
takes the following form, based on the Unix crypt function:
$[$=(,=)*][$[$]]
Common hash functions include:
id | hash function
---+---------------
1 | MD5
2a| Blowfish
2y| Blowfish (correct handling of 8-bit chars)
5 | SHA-256
6 | SHA-512
These may not all be supported by a target device.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.4.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}]=SimpleContainerNode{version=Version[65898ab3], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-yang-types {
yang-version "1";
namespace "http://openconfig.net/yang/types/yang";
prefix "oc-yang";
import openconfig-extensions { prefix "oc-ext"; }
organization
"OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module contains a set of extension types to the
YANG builtin types that are used across multiple
OpenConfig models.
Portions of this code were derived from IETF RFC 6021.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.0";
revision "2021-03-02" {
description
"Fix date-and-time and date's pattern statement, and remove the
regexp-posix extension, which makes pattern statements conform to the
YANG standard.";
reference "0.3.0";
}
revision "2020-06-30" {
description
"Add OpenConfig POSIX pattern extensions.";
reference "0.2.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.2.1";
}
revision 2018-04-24 {
description
"Add date typedef";
reference "0.2.0";
}
revision 2017-07-30 {
description
"Fixed unprintable character";
reference "0.1.2";
}
revision 2017-04-03 {
description
"Update copyright notice.";
reference "0.1.1";
}
revision 2017-01-26 {
description
"Initial module for inet types";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef dotted-quad {
type string {
pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])';
oc-ext:posix-pattern '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])$';
}
description
"An unsigned 32-bit integer expressed as a dotted quad. The
format is four octets written as decimal numbers separated
with a period character.";
}
typedef hex-string {
type string {
pattern '[0-9a-fA-F]*';
oc-ext:posix-pattern '[0-9a-fA-F]*';
}
description
"A string consisting of a hexadecimal characters.";
}
typedef counter32 {
type uint32;
description
"A 32-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When the counter
reaches its maximum value, in this case 2^32-1, it wraps to 0.
Discontinuities in the counter are generally triggered only when
the counter is reset to zero.";
}
typedef counter64 {
type uint64;
description
"A 64-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When a counter64
reaches its maximum value, 2^64-1, it loops to zero.
Discontinuities in a counter are generally triggered only when
the counter is reset to zero, through operator or system
intervention.";
}
typedef date-and-time {
type string {
pattern
'[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))$';
}
description
"A date and time, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DDTHH:MM:SSZ+-hh:mm
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value. T is the literal character 'T',
HH is the hour of the day expressed as a two digit number, using
the 24-hour clock, MM is the minute of the hour expressed as a
two digit number. Z is the literal character 'Z', followed by a
timezone offset expressed in hours (hh) and minutes (mm), both
expressed as two digit numbers. The time offset is specified as
a positive or negative offset to UTC using the '+' or '-'
character preceding the offset.
Optionally, fractional seconds can be expressed after the minute
of the hour as a decimal number of unspecified precision
reflecting fractions of a second.";
reference
"RFC3339 - Date and Time on the Internet: Timestamps";
}
typedef date {
type string {
pattern '[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])$';
}
description
"A full UTC date, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DD
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value.";
reference
"RFC3339 - Date and Time on the Internet: full-date";
}
typedef gauge64 {
type uint64;
description
"A gauge value may increase or decrease - and reflects a value
at a particular point in time. If the value of the variable
being modeled using the gauge exceeds its maximum - 2^64-1 in
this case - the gauge is set to its maximum value.";
}
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
oc-ext:posix-pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A physical layer address, expressed as a series of pairs of
hexadecimal digits.";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
oc-ext:posix-pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"An IEEE 802 MAC address";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}} to MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[7ca650c5], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[7ca650c5], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[7ca650c5], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}]=SimpleContainerNode{version=Version[5b94d35d], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-messages {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/messages";
prefix "oc-messages";
// import some basic types
import openconfig-extensions { prefix "oc-ext"; }
import openconfig-system-logging { prefix "oc-log"; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to Syslog messages that a device may generate.
These messages are historically obtained through the Syslog
transport, however this module allows for obtaining them through
an alternative transport, such as a Subscribe operation over an
RPC.
This module does not usurp traditional syslog servers, which may
still be configured through the
/yang/system/openconfig-system.yang model, rather it provies the
Operator with an alternative method of consuming messages.";
oc-ext:openconfig-version "0.0.1";
revision "2018-08-13" {
description
"Initial draft.";
reference "0.0.1";
}
// identity statements
identity DEBUG_SERVICE {
description
"Base identity for debug services. Identities within this base
identity are to be augmented in by vendors.";
}
// grouping statements
grouping messages-config {
description
"Configuration data for defining Syslog message severity.";
leaf severity {
type oc-log:syslog-severity;
description
"Specifies that only messages of the given severity (or
greater severity) are sent over the RPC.
This is analogous to differentiating which severity is to be
sent to legacy Syslog servers, as opposed to local buffer or
files.";
}
}
grouping messages-state {
description
"Operational state data for Syslog messages.";
container message {
oc-ext:telemetry-atomic;
config false;
description
"Syslog messages the client is Subscribing to. This is all
messages currently configured to be sent according to
syslog-severity.";
reference
"IETF RFC 5424 - The Syslog Protocol";
// Decide if it is OK to include ALL in this leaf.
leaf msg {
type string;
description
"Message payload. If other leafs within this container not
supported, this leaf MAY include the entire message,
inclding pri, procid, app-name etc..";
}
leaf priority {
type uint8;
description
"The Priority value (PRIVAL) represents both the
Facility and Severity.";
reference
"IETF RFC 5424, Section 6.2.1";
}
leaf app-name {
type string;
description
"The APP-NAME field SHOULD identify the device or
application that originated the message.";
reference
"IETF RFC 5424, Section 6.2.5.";
}
leaf procid {
type string;
description
"PROCID is a value that is included in the message, having
no interoperable meaning, except that a change in the value
indicates there has been a discontinuity in syslog
reporting.";
reference
"IETF RFC 5424, Section 6.2.6.";
}
leaf msgid {
type string;
description
"The MSGID SHOULD identify the type of message. For
example, a firewall might use the MSGID 'TCPIN' for
incoming TCP traffic and the MSGID 'TCPOUT' for outgoing
TCP traffic.";
reference
"IETF RFC 5424, Section 6.2.7.";
}
}
}
grouping debug-messages-config {
description
"Configuration data for enabling debug messages.";
leaf service {
type identityref {
base DEBUG_SERVICE;
}
description
"Enumeration of all services which can have debugging enabled.
Vendors are to augment this base identity with their platform
or OS specific debug options.";
}
leaf enabled {
type boolean;
default false;
description
"Enable and disable debugging.";
}
}
grouping debug-messages-top {
description
"Configuration data for enabling Syslog debug messages.";
container debug-entries {
description
"Enclosing container for list of debugs to enable.";
list debug-service {
key "service";
description
"List of debugging entries.";
leaf service {
type leafref {
path "../config/service";
}
description
"Reference to the debug-enable service key.";
}
container config {
description
"Configuration data for debug service entries.";
uses debug-messages-config;
}
container state {
config false;
description
"Operational state data for enabled debugs.";
uses debug-messages-config;
}
}
}
}
grouping messages-top {
description
"Top-level grouping for Syslog messages.";
container messages {
description
"Top-level container for Syslog messages.";
container config {
description
"Configuration data for Syslog messages.";
uses messages-config;
}
container state {
config false;
description
"Operational state data for a Syslog messages.";
uses messages-config;
uses messages-state;
}
uses debug-messages-top;
}
}
uses messages-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-messages}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.0.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}]=SimpleContainerNode{version=Version[1228d8d9], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-aaa-types {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/aaa/types";
prefix "oc-aaa-types";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines shared types for data related to AAA
(authentication, authorization, accounting).";
oc-ext:openconfig-version "0.4.1";
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2018-04-12" {
description
"Add when conditions, correct identities";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
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 AAA_SERVER_TYPE {
description
"Base identity for types of AAA servers";
}
identity SYSTEM_DEFINED_ROLES {
description
"Base identity for system_defined roles that can be assigned
to users.";
}
identity SYSTEM_ROLE_ADMIN {
base SYSTEM_DEFINED_ROLES;
description
"Built-in role that allows the equivalent of superuser
permission for all configuration and operational commands
on the device.";
}
identity AAA_ACCOUNTING_EVENT_TYPE {
description
"Base identity for specifying events types that should be
sent to AAA server for accounting";
}
identity AAA_ACCOUNTING_EVENT_COMMAND {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies interactive command events for AAA accounting";
}
identity AAA_ACCOUNTING_EVENT_LOGIN {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies login events for AAA accounting";
}
identity AAA_AUTHORIZATION_EVENT_TYPE {
description
"Base identity for specifying activities that should be
sent to AAA server for authorization";
}
identity AAA_AUTHORIZATION_EVENT_COMMAND {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies interactive command events for AAA authorization";
}
identity AAA_AUTHORIZATION_EVENT_CONFIG {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies configuration (e.g., EXEC) events for AAA
authorization";
}
identity AAA_METHOD_TYPE {
description
"Base identity to define well-known methods for AAA
operations";
}
identity TACACS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all TACACS+ servers.";
}
identity RADIUS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all RADIUS servers.";
}
identity LOCAL {
base AAA_METHOD_TYPE;
description
"Locally configured method for AAA operations.";
}
// typedef statements
typedef crypt-password-type {
type string;
description
"A password that is hashed based on the hash algorithm
indicated by the prefix in the string. The string
takes the following form, based on the Unix crypt function:
$[$=(,=)*][$[$]]
Common hash functions include:
id | hash function
---+---------------
1 | MD5
2a| Blowfish
2y| Blowfish (correct handling of 8-bit chars)
5 | SHA-256
6 | SHA-512
These may not all be supported by a target device.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.4.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}]=SimpleContainerNode{version=Version[65898ab3], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-yang-types {
yang-version "1";
namespace "http://openconfig.net/yang/types/yang";
prefix "oc-yang";
import openconfig-extensions { prefix "oc-ext"; }
organization
"OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module contains a set of extension types to the
YANG builtin types that are used across multiple
OpenConfig models.
Portions of this code were derived from IETF RFC 6021.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.0";
revision "2021-03-02" {
description
"Fix date-and-time and date's pattern statement, and remove the
regexp-posix extension, which makes pattern statements conform to the
YANG standard.";
reference "0.3.0";
}
revision "2020-06-30" {
description
"Add OpenConfig POSIX pattern extensions.";
reference "0.2.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.2.1";
}
revision 2018-04-24 {
description
"Add date typedef";
reference "0.2.0";
}
revision 2017-07-30 {
description
"Fixed unprintable character";
reference "0.1.2";
}
revision 2017-04-03 {
description
"Update copyright notice.";
reference "0.1.1";
}
revision 2017-01-26 {
description
"Initial module for inet types";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef dotted-quad {
type string {
pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])';
oc-ext:posix-pattern '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])$';
}
description
"An unsigned 32-bit integer expressed as a dotted quad. The
format is four octets written as decimal numbers separated
with a period character.";
}
typedef hex-string {
type string {
pattern '[0-9a-fA-F]*';
oc-ext:posix-pattern '[0-9a-fA-F]*';
}
description
"A string consisting of a hexadecimal characters.";
}
typedef counter32 {
type uint32;
description
"A 32-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When the counter
reaches its maximum value, in this case 2^32-1, it wraps to 0.
Discontinuities in the counter are generally triggered only when
the counter is reset to zero.";
}
typedef counter64 {
type uint64;
description
"A 64-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When a counter64
reaches its maximum value, 2^64-1, it loops to zero.
Discontinuities in a counter are generally triggered only when
the counter is reset to zero, through operator or system
intervention.";
}
typedef date-and-time {
type string {
pattern
'[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))$';
}
description
"A date and time, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DDTHH:MM:SSZ+-hh:mm
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value. T is the literal character 'T',
HH is the hour of the day expressed as a two digit number, using
the 24-hour clock, MM is the minute of the hour expressed as a
two digit number. Z is the literal character 'Z', followed by a
timezone offset expressed in hours (hh) and minutes (mm), both
expressed as two digit numbers. The time offset is specified as
a positive or negative offset to UTC using the '+' or '-'
character preceding the offset.
Optionally, fractional seconds can be expressed after the minute
of the hour as a decimal number of unspecified precision
reflecting fractions of a second.";
reference
"RFC3339 - Date and Time on the Internet: Timestamps";
}
typedef date {
type string {
pattern '[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])$';
}
description
"A full UTC date, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DD
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value.";
reference
"RFC3339 - Date and Time on the Internet: full-date";
}
typedef gauge64 {
type uint64;
description
"A gauge value may increase or decrease - and reflects a value
at a particular point in time. If the value of the variable
being modeled using the gauge exceeds its maximum - 2^64-1 in
this case - the gauge is set to its maximum value.";
}
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
oc-ext:posix-pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A physical layer address, expressed as a series of pairs of
hexadecimal digits.";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
oc-ext:posix-pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"An IEEE 802 MAC address";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}]=SimpleContainerNode{version=Version[7ca650c5], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-interfaces {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/interfaces";
prefix "oc-if";
// import some basic types
import ietf-interfaces { prefix ietf-if; }
import openconfig-yang-types { prefix oc-yang; }
import openconfig-types { prefix oc-types; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"Model for managing network interfaces and subinterfaces. This
module also defines convenience types / groupings for other
models to create references to interfaces:
base-interface-ref (type) - reference to a base interface
interface-ref (grouping) - container for reference to a
interface + subinterface
interface-ref-state (grouping) - container for read-only
(opstate) reference to interface + subinterface
This model reuses data items defined in the IETF YANG model for
interfaces described by RFC 7223 with an alternate structure
(particularly for operational state data) and with
additional configuration items.
Portions of this code were derived from IETF RFC 7223.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "2.5.0";
revision "2021-04-06" {
description
"Add leaves for management and cpu interfaces";
reference "2.5.0";
}
revision "2019-11-19" {
description
"Update description of interface name.";
reference "2.4.3";
}
revision "2019-07-10" {
description
"Remove redundant nanosecond units statements to reflect
universal definition of timeticks64 type.";
reference "2.4.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "2.4.1";
}
revision "2018-08-07" {
description
"Add leaf to indicate whether an interface is physical or
logical.";
reference "2.4.0";
}
revision "2018-07-02" {
description
"Add in-pkts and out-pkts in counters";
reference "2.3.2";
}
revision "2018-04-24" {
description
"Clarified behavior of last-change state leaf";
reference "2.3.1";
}
revision "2018-01-05" {
description
"Add logical loopback to interface.";
reference "2.3.0";
}
revision "2017-12-22" {
description
"Add IPv4 proxy ARP configuration.";
reference "2.2.0";
}
revision "2017-12-21" {
description
"Added IPv6 router advertisement configuration.";
reference "2.1.0";
}
revision "2017-07-14" {
description
"Added Ethernet/IP state data; Add dhcp-client;
migrate to OpenConfig types modules; Removed or
renamed opstate values";
reference "2.0.0";
}
revision "2017-04-03" {
description
"Update copyright notice.";
reference "1.1.1";
}
revision "2016-12-22" {
description
"Fixes to Ethernet interfaces model";
reference "1.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// typedef statements
typedef base-interface-ref {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reusable type for by-name reference to a base interface.
This type may be used in cases where ability to reference
a subinterface is not required.";
}
typedef interface-id {
type string;
description
"User-defined identifier for an interface, generally used to
name a interface reference. The id can be arbitrary but a
useful convention is to use a combination of base interface
name and subinterface index.";
}
// grouping statements
grouping interface-ref-common {
description
"Reference leafrefs to interface / subinterface";
leaf interface {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reference to a base interface. If a reference to a
subinterface is required, this leaf must be specified
to indicate the base interface.";
}
leaf subinterface {
type leafref {
path "/oc-if:interfaces/" +
"oc-if:interface[oc-if:name=current()/../interface]/" +
"oc-if:subinterfaces/oc-if:subinterface/oc-if:index";
}
description
"Reference to a subinterface -- this requires the base
interface to be specified using the interface leaf in
this container. If only a reference to a base interface
is requuired, this leaf should not be set.";
}
}
grouping interface-ref-state-container {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container state {
config false;
description
"Operational state for interface-ref";
uses interface-ref-common;
}
}
grouping interface-ref {
description
"Reusable definition for a reference to an interface or
subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
container config {
description
"Configured reference to interface / subinterface";
oc-ext:telemetry-on-change;
uses interface-ref-common;
}
uses interface-ref-state-container;
}
}
grouping interface-ref-state {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
uses interface-ref-state-container;
}
}
grouping base-interface-ref-state {
description
"Reusable opstate w/container for a reference to a
base interface (no subinterface).";
container state {
config false;
description
"Operational state for base interface reference";
leaf interface {
type base-interface-ref;
description
"Reference to a base interface.";
}
}
}
grouping interface-common-config {
description
"Configuration data data nodes common to physical interfaces
and subinterfaces";
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
datastore.
Specifically, if the device supports ':startup', when
ifAlias is read the device MUST return the value of
'description' in the 'startup' datastore, and when it is
written, it MUST be written to the 'running' and 'startup'
datastores. Note that it is up to the implementation to
decide whether to modify this single leaf in 'startup' or
perform an implicit copy-config from 'running' to
'startup'.
If the device does not support ':startup', ifAlias MUST
be mapped to the 'description' leaf in the 'running'
datastore.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the 'running' datastore to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the 'running' datastore are
reflected in ifAdminStatus, but if ifAdminStatus is
changed over SNMP, this leaf is not affected.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
}
grouping interface-phys-config {
description
"Configuration data for physical interfaces";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface. The 'config false'
list interfaces/interface[name]/state contains the currently
existing interfaces on the device.
If a client tries to create configuration for a
system-controlled interface that is not present in the
corresponding state list, the server MAY reject
the request if the implementation does not support
pre-provisioning of interfaces or if the name refers to
an interface that can never exist in the system. A
NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.
The IETF model in RFC 7223 provides YANG features for the
following (i.e., pre-provisioning and arbitrary-names),
however they are omitted here:
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
/interfaces/interface[name]/state list.";
}
leaf type {
type identityref {
base ietf-if:interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf mtu {
type uint16;
description
"Set the max transmission unit size in octets
for the physical interface. If this is not set, the mtu is
set to the operational default -- e.g., 1514 bytes on an
Ethernet interface.";
}
leaf loopback-mode {
type boolean;
default false;
description
"When set to true, the interface is logically looped back,
such that packets that are forwarded via the interface
are received on the same interface.";
}
uses interface-common-config;
}
grouping interface-phys-holdtime-config {
description
"Configuration data for interface hold-time settings --
applies to physical interfaces.";
leaf up {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface
transitions from down to up. A zero value means dampening
is turned off, i.e., immediate notification.";
}
leaf down {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface transitions from
up to down. A zero value means dampening is turned off,
i.e., immediate notification.";
}
}
grouping interface-phys-holdtime-state {
description
"Operational state data for interface hold-time.";
}
grouping interface-phys-holdtime-top {
description
"Top-level grouping for setting link transition
dampening on physical and other types of interfaces.";
container hold-time {
description
"Top-level container for hold-time settings to enable
dampening advertisements of interface transitions.";
container config {
description
"Configuration data for interface hold-time settings.";
oc-ext:telemetry-on-change;
uses interface-phys-holdtime-config;
}
container state {
config false;
description
"Operational state data for interface hold-time.";
uses interface-phys-holdtime-config;
uses interface-phys-holdtime-state;
}
}
}
grouping interface-common-state {
description
"Operational state data (in addition to intended configuration)
at the global level for this interface";
oc-ext:operational;
leaf ifindex {
type uint32;
description
"System assigned number for each interface. Corresponds to
ifIndex object in SNMP Interface MIB";
reference
"RFC 2863 - The Interfaces Group MIB";
oc-ext:telemetry-on-change;
}
leaf admin-status {
type enumeration {
enum UP {
description
"Ready to pass packets.";
}
enum DOWN {
description
"Not ready to pass packets and not in some test mode.";
}
enum TESTING {
//TODO: This is generally not supported as a configured
//admin state, though it's in the standard interfaces MIB.
//Consider removing it.
description
"In some test mode.";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The desired state of the interface. In RFC 7223 this leaf
has the same read semantics as ifAdminStatus. Here, it
reflects the administrative state as set by enabling or
disabling the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
oc-ext:telemetry-on-change;
}
leaf oper-status {
type enumeration {
enum UP {
value 1;
description
"Ready to pass packets.";
}
enum DOWN {
value 2;
description
"The interface does not pass any packets.";
}
enum TESTING {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum UNKNOWN {
value 4;
description
"Status cannot be determined for some reason.";
}
enum DORMANT {
value 5;
description
"Waiting for some external event.";
}
enum NOT_PRESENT {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum LOWER_LAYER_DOWN {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
oc-ext:telemetry-on-change;
}
leaf last-change {
type oc-types:timeticks64;
description
"This timestamp indicates the absolute time of the last
state change of the interface (e.g., up-to-down transition).
This is different than the SNMP ifLastChange object in the
standard interface MIB in that it is not relative to the
system boot time (i.e,. sysUpTime).
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
leaf logical {
type boolean;
description
"When set to true, the interface is a logical interface
which does not have an associated physical port or
channel on the system.";
oc-ext:telemetry-on-change;
}
leaf management {
type boolean;
description
"When set to true, the interface is a dedicated
management interface that is not connected to dataplane
interfaces. It may be used to connect the system to an
out-of-band management network, for example.";
oc-ext:telemetry-on-change;
}
leaf cpu {
type boolean;
description
"When set to true, the interface is for traffic
that is handled by the system CPU, sometimes also called the
control plane interface. On systems that represent the CPU
interface as an Ethernet interface, for example, this leaf
should be used to distinguish the CPU interface from dataplane
interfaces.";
oc-ext:telemetry-on-change;
}
}
grouping interface-counters-state {
description
"Operational state representing interface counters
and statistics.";
//TODO: we may need to break this list of counters into those
//that would appear for physical vs. subinterface or logical
//interfaces. For now, just replicating the full stats
//grouping to both interface and subinterface.
oc-ext:operational;
container counters {
description
"A collection of interface-related statistics objects.";
leaf in-octets {
type oc-yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-pkts {
type oc-yang:counter64;
description
"The total number of packets received on the interface,
including all unicast, multicast, broadcast and bad packets
etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf in-unicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type oc-yang:counter64;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf in-fcs-errors {
type oc-yang:counter64;
description
"Number of received packets which had errors in the
frame check sequence (FCS), i.e., framing errors.
Discontinuities in the value of this counter can occur
when the device is re-initialization as indicated by the
value of 'last-clear'.";
}
leaf out-octets {
type oc-yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-pkts {
type oc-yang:counter64;
description
"The total number of packets transmitted out of the
interface, including all unicast, multicast, broadcast,
and bad packets etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf out-unicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type oc-yang:counter64;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
leaf carrier-transitions {
type oc-yang:counter64;
description
"Number of times the interface state has transitioned
between up and down since the time the device restarted
or the last-clear time, whichever is most recent.";
oc-ext:telemetry-on-change;
}
leaf last-clear {
type oc-types:timeticks64;
description
"Timestamp of the last time the interface counters were
cleared.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
}
}
// data definition statements
grouping sub-unnumbered-config {
description
"Configuration data for unnumbered subinterfaces";
leaf enabled {
type boolean;
default false;
description
"Indicates that the subinterface is unnumbered. By default
the subinterface is numbered, i.e., expected to have an
IP address configuration.";
}
}
grouping sub-unnumbered-state {
description
"Operational state data unnumbered subinterfaces";
}
grouping sub-unnumbered-top {
description
"Top-level grouping unnumbered subinterfaces";
container unnumbered {
description
"Top-level container for setting unnumbered interfaces.
Includes reference the interface that provides the
address information";
container config {
description
"Configuration data for unnumbered interface";
oc-ext:telemetry-on-change;
uses sub-unnumbered-config;
}
container state {
config false;
description
"Operational state data for unnumbered interfaces";
uses sub-unnumbered-config;
uses sub-unnumbered-state;
}
uses oc-if:interface-ref;
}
}
grouping subinterfaces-config {
description
"Configuration data for subinterfaces";
leaf index {
type uint32;
default 0;
description
"The index of the subinterface, or logical interface number.
On systems with no support for subinterfaces, or not using
subinterfaces, this value should default to 0, i.e., the
default subinterface.";
}
uses interface-common-config;
}
grouping subinterfaces-state {
description
"Operational state data for subinterfaces";
oc-ext:operational;
leaf name {
type string;
description
"The system-assigned name for the sub-interface. This MAY
be a combination of the base interface name and the
subinterface index, or some other convention used by the
system.";
oc-ext:telemetry-on-change;
}
uses interface-common-state;
uses interface-counters-state;
}
grouping subinterfaces-top {
description
"Subinterface data for logical interfaces associated with a
given interface";
container subinterfaces {
description
"Enclosing container for the list of subinterfaces associated
with a physical interface";
list subinterface {
key "index";
description
"The list of subinterfaces (logical interfaces) associated
with a physical interface";
leaf index {
type leafref {
path "../config/index";
}
description
"The index number of the subinterface -- used to address
the logical interface";
}
container config {
description
"Configurable items at the subinterface level";
oc-ext:telemetry-on-change;
uses subinterfaces-config;
}
container state {
config false;
description
"Operational state data for logical interfaces";
uses subinterfaces-config;
uses subinterfaces-state;
}
}
}
}
grouping interfaces-top {
description
"Top-level grouping for interface configuration and
operational state data";
container interfaces {
description
"Top level container for interfaces, including configuration
and state data.";
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type leafref {
path "../config/name";
}
description
"References the name of the interface";
//TODO: need to consider whether this should actually
//reference the name in the state subtree, which
//presumably would be the system-assigned name, or the
//configured name. Points to the config/name now
//because of YANG 1.0 limitation that the list
//key must have the same "config" as the list, and
//also can't point to a non-config node.
}
container config {
description
"Configurable items at the global, physical interface
level";
oc-ext:telemetry-on-change;
uses interface-phys-config;
}
container state {
config false;
description
"Operational state data at the global interface level";
uses interface-phys-config;
uses interface-common-state;
uses interface-counters-state;
}
uses interface-phys-holdtime-top;
uses subinterfaces-top;
}
}
}
uses interfaces-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2.5.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}}
12:58:20.362 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-15: doCommit completed
12:58:20.362 [main] INFO org.opendaylight.gnmi.southbound.schema.loader.impl.ByClassPathYangLoaderService -- Loaded yang model openconfig-interfaces with version 2.5.0
12:58:20.373 [main] DEBUG org.opendaylight.gnmi.southbound.schema.yangstore.impl.YangDataStoreServiceImpl -- Adding yang model openconfig-types with version 0.6.0 to operational datastore
12:58:20.379 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: OPER-16 allocated with snapshot Version[7ca650c5]
12:58:20.379 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: OPER-16 Merge: /(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models/gnmi-yang-model/gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.6.0}]:ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.6.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-types {
yang-version "1";
namespace "http://openconfig.net/yang/openconfig-types";
prefix "oc-types";
// import statements
import openconfig-extensions { prefix oc-ext; }
// meta
organization
"OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module contains a set of general type definitions that
are used across OpenConfig models. It can be imported by modules
that make use of these types.";
oc-ext:openconfig-version "0.6.0";
revision "2019-04-16" {
description
"Clarify definition of timeticks64.";
reference "0.6.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.5.1";
}
revision "2018-05-05" {
description
"Add grouping of min-max-time and
included them to all stats with min/max/avg";
reference "0.5.0";
}
revision "2018-01-16" {
description
"Add interval to min/max/avg stats; add percentage stat";
reference "0.4.0";
}
revision "2017-08-16" {
description
"Apply fix for ieetfloat32 length parameter";
reference "0.3.3";
}
revision "2017-01-13" {
description
"Add ADDRESS_FAMILY identity";
reference "0.3.2";
}
revision "2016-11-14" {
description
"Correct length of ieeefloat32";
reference "0.3.1";
}
revision "2016-11-11" {
description
"Additional types - ieeefloat32 and routing-password";
reference "0.3.0";
}
revision "2016-05-31" {
description
"OpenConfig public release";
reference "0.2.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef percentage {
type uint8 {
range "0..100";
}
description
"Integer indicating a percentage value";
}
typedef std-regexp {
type string;
description
"This type definition is a placeholder for a standard
definition of a regular expression that can be utilised in
OpenConfig models. Further discussion is required to
consider the type of regular expressions that are to be
supported. An initial proposal is POSIX compatible.";
}
typedef timeticks64 {
type uint64;
units "nanoseconds";
description
"The timeticks64 represents the time, modulo 2^64 in
nanoseconds between two epochs. The leaf using this
type must define the epochs that tests are relative to.";
}
typedef ieeefloat32 {
type binary {
length "4";
}
description
"An IEEE 32-bit floating point number. The format of this number
is of the form:
1-bit sign
8-bit exponent
23-bit fraction
The floating point value is calculated using:
(-1)**S * 2**(Exponent-127) * (1+Fraction)";
}
typedef routing-password {
type string;
description
"This type is indicative of a password that is used within
a routing protocol which can be returned in plain text to the
NMS by the local system. Such passwords are typically stored
as encrypted strings. Since the encryption used is generally
well known, it is possible to extract the original value from
the string - and hence this format is not considered secure.
Leaves specified with this type should not be modified by
the system, and should be returned to the end-user in plain
text. This type exists to differentiate passwords, which
may be sensitive, from other string leaves. It could, for
example, be used by the NMS to censor this data when
viewed by particular users.";
}
typedef stat-interval {
type uint64;
units nanoseconds;
description
"A time interval over which a set of statistics is computed.
A common usage is to report the interval over which
avg/min/max stats are computed and reported.";
}
grouping stat-interval-state {
description
"Reusable leaf definition for stats computation interval";
leaf interval {
type oc-types:stat-interval;
description
"If supported by the system, this reports the time interval
over which the min/max/average statistics are computed by
the system.";
}
}
grouping min-max-time {
description
"Common grouping for recording the absolute time at which
the minimum and maximum values occurred in the statistics";
leaf min-time {
type oc-types:timeticks64;
description
"The absolute time at which the minimum value occurred.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
leaf max-time {
type oc-types:timeticks64;
description
"The absolute time at which the maximum value occurred.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
}
grouping avg-min-max-stats-precision1 {
description
"Common nodes for recording average, minimum, and
maximum values for a statistic. These values all have
fraction-digits set to 1. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed is also reported.";
leaf avg {
type decimal64 {
fraction-digits 1;
}
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 1;
}
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 1;
}
description
"The maximum value of the statitic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision1 {
description
"Common grouping for recording an instantaneous statistic value
in addition to avg-min-max stats";
leaf instant {
type decimal64 {
fraction-digits 1;
}
description
"The instantaneous value of the statistic.";
}
uses avg-min-max-stats-precision1;
}
grouping avg-min-max-instant-stats-precision2-dB {
description
"Common grouping for recording dB values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The minimum value of the statistic over the time interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The maximum value of the statistic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision2-dBm {
description
"Common grouping for recording dBm values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The maximum value of the statistic over the time interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision2-mA {
description
"Common grouping for recording mA values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The maximum value of the statistic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-pct {
description
"Common grouping for percentage statistics.
Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type oc-types:percentage;
description
"The instantaneous percentage value.";
}
leaf avg {
type oc-types:percentage;
description
"The arithmetic mean value of the percentage measure of the
statistic over the time interval.";
}
leaf min {
type oc-types:percentage;
description
"The minimum value of the percentage measure of the
statistic over the time interval.";
}
leaf max {
type oc-types:percentage;
description
"The maximum value of the percentage measure of the
statistic over the time interval.";
}
uses stat-interval-state;
uses min-max-time;
}
identity ADDRESS_FAMILY {
description
"A base identity for all address families";
}
identity IPV4 {
base ADDRESS_FAMILY;
description
"The IPv4 address family";
}
identity IPV6 {
base ADDRESS_FAMILY;
description
"The IPv6 address family";
}
identity MPLS {
base ADDRESS_FAMILY;
description
"The MPLS address family";
}
identity L2_ETHERNET {
base ADDRESS_FAMILY;
description
"The 802.3 Ethernet address family";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.6.0}]}
12:58:20.379 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-16 : Ready
12:58:20.379 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-16 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.379 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-16 is submitted for execution.
12:58:20.379 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-16: canCommit Started
12:58:20.379 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-16 can be committed
12:58:20.379 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-16: preCommit Started
12:58:20.379 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-16: doCommit Started
12:58:20.379 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[7ca650c5], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[7ca650c5], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[7ca650c5], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}]=SimpleContainerNode{version=Version[5b94d35d], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-messages {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/messages";
prefix "oc-messages";
// import some basic types
import openconfig-extensions { prefix "oc-ext"; }
import openconfig-system-logging { prefix "oc-log"; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to Syslog messages that a device may generate.
These messages are historically obtained through the Syslog
transport, however this module allows for obtaining them through
an alternative transport, such as a Subscribe operation over an
RPC.
This module does not usurp traditional syslog servers, which may
still be configured through the
/yang/system/openconfig-system.yang model, rather it provies the
Operator with an alternative method of consuming messages.";
oc-ext:openconfig-version "0.0.1";
revision "2018-08-13" {
description
"Initial draft.";
reference "0.0.1";
}
// identity statements
identity DEBUG_SERVICE {
description
"Base identity for debug services. Identities within this base
identity are to be augmented in by vendors.";
}
// grouping statements
grouping messages-config {
description
"Configuration data for defining Syslog message severity.";
leaf severity {
type oc-log:syslog-severity;
description
"Specifies that only messages of the given severity (or
greater severity) are sent over the RPC.
This is analogous to differentiating which severity is to be
sent to legacy Syslog servers, as opposed to local buffer or
files.";
}
}
grouping messages-state {
description
"Operational state data for Syslog messages.";
container message {
oc-ext:telemetry-atomic;
config false;
description
"Syslog messages the client is Subscribing to. This is all
messages currently configured to be sent according to
syslog-severity.";
reference
"IETF RFC 5424 - The Syslog Protocol";
// Decide if it is OK to include ALL in this leaf.
leaf msg {
type string;
description
"Message payload. If other leafs within this container not
supported, this leaf MAY include the entire message,
inclding pri, procid, app-name etc..";
}
leaf priority {
type uint8;
description
"The Priority value (PRIVAL) represents both the
Facility and Severity.";
reference
"IETF RFC 5424, Section 6.2.1";
}
leaf app-name {
type string;
description
"The APP-NAME field SHOULD identify the device or
application that originated the message.";
reference
"IETF RFC 5424, Section 6.2.5.";
}
leaf procid {
type string;
description
"PROCID is a value that is included in the message, having
no interoperable meaning, except that a change in the value
indicates there has been a discontinuity in syslog
reporting.";
reference
"IETF RFC 5424, Section 6.2.6.";
}
leaf msgid {
type string;
description
"The MSGID SHOULD identify the type of message. For
example, a firewall might use the MSGID 'TCPIN' for
incoming TCP traffic and the MSGID 'TCPOUT' for outgoing
TCP traffic.";
reference
"IETF RFC 5424, Section 6.2.7.";
}
}
}
grouping debug-messages-config {
description
"Configuration data for enabling debug messages.";
leaf service {
type identityref {
base DEBUG_SERVICE;
}
description
"Enumeration of all services which can have debugging enabled.
Vendors are to augment this base identity with their platform
or OS specific debug options.";
}
leaf enabled {
type boolean;
default false;
description
"Enable and disable debugging.";
}
}
grouping debug-messages-top {
description
"Configuration data for enabling Syslog debug messages.";
container debug-entries {
description
"Enclosing container for list of debugs to enable.";
list debug-service {
key "service";
description
"List of debugging entries.";
leaf service {
type leafref {
path "../config/service";
}
description
"Reference to the debug-enable service key.";
}
container config {
description
"Configuration data for debug service entries.";
uses debug-messages-config;
}
container state {
config false;
description
"Operational state data for enabled debugs.";
uses debug-messages-config;
}
}
}
}
grouping messages-top {
description
"Top-level grouping for Syslog messages.";
container messages {
description
"Top-level container for Syslog messages.";
container config {
description
"Configuration data for Syslog messages.";
uses messages-config;
}
container state {
config false;
description
"Operational state data for a Syslog messages.";
uses messages-config;
uses messages-state;
}
uses debug-messages-top;
}
}
uses messages-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-messages}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.0.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}]=SimpleContainerNode{version=Version[1228d8d9], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-aaa-types {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/aaa/types";
prefix "oc-aaa-types";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines shared types for data related to AAA
(authentication, authorization, accounting).";
oc-ext:openconfig-version "0.4.1";
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2018-04-12" {
description
"Add when conditions, correct identities";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
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 AAA_SERVER_TYPE {
description
"Base identity for types of AAA servers";
}
identity SYSTEM_DEFINED_ROLES {
description
"Base identity for system_defined roles that can be assigned
to users.";
}
identity SYSTEM_ROLE_ADMIN {
base SYSTEM_DEFINED_ROLES;
description
"Built-in role that allows the equivalent of superuser
permission for all configuration and operational commands
on the device.";
}
identity AAA_ACCOUNTING_EVENT_TYPE {
description
"Base identity for specifying events types that should be
sent to AAA server for accounting";
}
identity AAA_ACCOUNTING_EVENT_COMMAND {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies interactive command events for AAA accounting";
}
identity AAA_ACCOUNTING_EVENT_LOGIN {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies login events for AAA accounting";
}
identity AAA_AUTHORIZATION_EVENT_TYPE {
description
"Base identity for specifying activities that should be
sent to AAA server for authorization";
}
identity AAA_AUTHORIZATION_EVENT_COMMAND {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies interactive command events for AAA authorization";
}
identity AAA_AUTHORIZATION_EVENT_CONFIG {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies configuration (e.g., EXEC) events for AAA
authorization";
}
identity AAA_METHOD_TYPE {
description
"Base identity to define well-known methods for AAA
operations";
}
identity TACACS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all TACACS+ servers.";
}
identity RADIUS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all RADIUS servers.";
}
identity LOCAL {
base AAA_METHOD_TYPE;
description
"Locally configured method for AAA operations.";
}
// typedef statements
typedef crypt-password-type {
type string;
description
"A password that is hashed based on the hash algorithm
indicated by the prefix in the string. The string
takes the following form, based on the Unix crypt function:
$[$=(,=)*][$[$]]
Common hash functions include:
id | hash function
---+---------------
1 | MD5
2a| Blowfish
2y| Blowfish (correct handling of 8-bit chars)
5 | SHA-256
6 | SHA-512
These may not all be supported by a target device.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.4.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}]=SimpleContainerNode{version=Version[65898ab3], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-yang-types {
yang-version "1";
namespace "http://openconfig.net/yang/types/yang";
prefix "oc-yang";
import openconfig-extensions { prefix "oc-ext"; }
organization
"OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module contains a set of extension types to the
YANG builtin types that are used across multiple
OpenConfig models.
Portions of this code were derived from IETF RFC 6021.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.0";
revision "2021-03-02" {
description
"Fix date-and-time and date's pattern statement, and remove the
regexp-posix extension, which makes pattern statements conform to the
YANG standard.";
reference "0.3.0";
}
revision "2020-06-30" {
description
"Add OpenConfig POSIX pattern extensions.";
reference "0.2.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.2.1";
}
revision 2018-04-24 {
description
"Add date typedef";
reference "0.2.0";
}
revision 2017-07-30 {
description
"Fixed unprintable character";
reference "0.1.2";
}
revision 2017-04-03 {
description
"Update copyright notice.";
reference "0.1.1";
}
revision 2017-01-26 {
description
"Initial module for inet types";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef dotted-quad {
type string {
pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])';
oc-ext:posix-pattern '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])$';
}
description
"An unsigned 32-bit integer expressed as a dotted quad. The
format is four octets written as decimal numbers separated
with a period character.";
}
typedef hex-string {
type string {
pattern '[0-9a-fA-F]*';
oc-ext:posix-pattern '[0-9a-fA-F]*';
}
description
"A string consisting of a hexadecimal characters.";
}
typedef counter32 {
type uint32;
description
"A 32-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When the counter
reaches its maximum value, in this case 2^32-1, it wraps to 0.
Discontinuities in the counter are generally triggered only when
the counter is reset to zero.";
}
typedef counter64 {
type uint64;
description
"A 64-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When a counter64
reaches its maximum value, 2^64-1, it loops to zero.
Discontinuities in a counter are generally triggered only when
the counter is reset to zero, through operator or system
intervention.";
}
typedef date-and-time {
type string {
pattern
'[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))$';
}
description
"A date and time, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DDTHH:MM:SSZ+-hh:mm
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value. T is the literal character 'T',
HH is the hour of the day expressed as a two digit number, using
the 24-hour clock, MM is the minute of the hour expressed as a
two digit number. Z is the literal character 'Z', followed by a
timezone offset expressed in hours (hh) and minutes (mm), both
expressed as two digit numbers. The time offset is specified as
a positive or negative offset to UTC using the '+' or '-'
character preceding the offset.
Optionally, fractional seconds can be expressed after the minute
of the hour as a decimal number of unspecified precision
reflecting fractions of a second.";
reference
"RFC3339 - Date and Time on the Internet: Timestamps";
}
typedef date {
type string {
pattern '[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])$';
}
description
"A full UTC date, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DD
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value.";
reference
"RFC3339 - Date and Time on the Internet: full-date";
}
typedef gauge64 {
type uint64;
description
"A gauge value may increase or decrease - and reflects a value
at a particular point in time. If the value of the variable
being modeled using the gauge exceeds its maximum - 2^64-1 in
this case - the gauge is set to its maximum value.";
}
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
oc-ext:posix-pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A physical layer address, expressed as a series of pairs of
hexadecimal digits.";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
oc-ext:posix-pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"An IEEE 802 MAC address";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}]=SimpleContainerNode{version=Version[7ca650c5], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-interfaces {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/interfaces";
prefix "oc-if";
// import some basic types
import ietf-interfaces { prefix ietf-if; }
import openconfig-yang-types { prefix oc-yang; }
import openconfig-types { prefix oc-types; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"Model for managing network interfaces and subinterfaces. This
module also defines convenience types / groupings for other
models to create references to interfaces:
base-interface-ref (type) - reference to a base interface
interface-ref (grouping) - container for reference to a
interface + subinterface
interface-ref-state (grouping) - container for read-only
(opstate) reference to interface + subinterface
This model reuses data items defined in the IETF YANG model for
interfaces described by RFC 7223 with an alternate structure
(particularly for operational state data) and with
additional configuration items.
Portions of this code were derived from IETF RFC 7223.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "2.5.0";
revision "2021-04-06" {
description
"Add leaves for management and cpu interfaces";
reference "2.5.0";
}
revision "2019-11-19" {
description
"Update description of interface name.";
reference "2.4.3";
}
revision "2019-07-10" {
description
"Remove redundant nanosecond units statements to reflect
universal definition of timeticks64 type.";
reference "2.4.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "2.4.1";
}
revision "2018-08-07" {
description
"Add leaf to indicate whether an interface is physical or
logical.";
reference "2.4.0";
}
revision "2018-07-02" {
description
"Add in-pkts and out-pkts in counters";
reference "2.3.2";
}
revision "2018-04-24" {
description
"Clarified behavior of last-change state leaf";
reference "2.3.1";
}
revision "2018-01-05" {
description
"Add logical loopback to interface.";
reference "2.3.0";
}
revision "2017-12-22" {
description
"Add IPv4 proxy ARP configuration.";
reference "2.2.0";
}
revision "2017-12-21" {
description
"Added IPv6 router advertisement configuration.";
reference "2.1.0";
}
revision "2017-07-14" {
description
"Added Ethernet/IP state data; Add dhcp-client;
migrate to OpenConfig types modules; Removed or
renamed opstate values";
reference "2.0.0";
}
revision "2017-04-03" {
description
"Update copyright notice.";
reference "1.1.1";
}
revision "2016-12-22" {
description
"Fixes to Ethernet interfaces model";
reference "1.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// typedef statements
typedef base-interface-ref {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reusable type for by-name reference to a base interface.
This type may be used in cases where ability to reference
a subinterface is not required.";
}
typedef interface-id {
type string;
description
"User-defined identifier for an interface, generally used to
name a interface reference. The id can be arbitrary but a
useful convention is to use a combination of base interface
name and subinterface index.";
}
// grouping statements
grouping interface-ref-common {
description
"Reference leafrefs to interface / subinterface";
leaf interface {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reference to a base interface. If a reference to a
subinterface is required, this leaf must be specified
to indicate the base interface.";
}
leaf subinterface {
type leafref {
path "/oc-if:interfaces/" +
"oc-if:interface[oc-if:name=current()/../interface]/" +
"oc-if:subinterfaces/oc-if:subinterface/oc-if:index";
}
description
"Reference to a subinterface -- this requires the base
interface to be specified using the interface leaf in
this container. If only a reference to a base interface
is requuired, this leaf should not be set.";
}
}
grouping interface-ref-state-container {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container state {
config false;
description
"Operational state for interface-ref";
uses interface-ref-common;
}
}
grouping interface-ref {
description
"Reusable definition for a reference to an interface or
subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
container config {
description
"Configured reference to interface / subinterface";
oc-ext:telemetry-on-change;
uses interface-ref-common;
}
uses interface-ref-state-container;
}
}
grouping interface-ref-state {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
uses interface-ref-state-container;
}
}
grouping base-interface-ref-state {
description
"Reusable opstate w/container for a reference to a
base interface (no subinterface).";
container state {
config false;
description
"Operational state for base interface reference";
leaf interface {
type base-interface-ref;
description
"Reference to a base interface.";
}
}
}
grouping interface-common-config {
description
"Configuration data data nodes common to physical interfaces
and subinterfaces";
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
datastore.
Specifically, if the device supports ':startup', when
ifAlias is read the device MUST return the value of
'description' in the 'startup' datastore, and when it is
written, it MUST be written to the 'running' and 'startup'
datastores. Note that it is up to the implementation to
decide whether to modify this single leaf in 'startup' or
perform an implicit copy-config from 'running' to
'startup'.
If the device does not support ':startup', ifAlias MUST
be mapped to the 'description' leaf in the 'running'
datastore.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the 'running' datastore to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the 'running' datastore are
reflected in ifAdminStatus, but if ifAdminStatus is
changed over SNMP, this leaf is not affected.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
}
grouping interface-phys-config {
description
"Configuration data for physical interfaces";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface. The 'config false'
list interfaces/interface[name]/state contains the currently
existing interfaces on the device.
If a client tries to create configuration for a
system-controlled interface that is not present in the
corresponding state list, the server MAY reject
the request if the implementation does not support
pre-provisioning of interfaces or if the name refers to
an interface that can never exist in the system. A
NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.
The IETF model in RFC 7223 provides YANG features for the
following (i.e., pre-provisioning and arbitrary-names),
however they are omitted here:
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
/interfaces/interface[name]/state list.";
}
leaf type {
type identityref {
base ietf-if:interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf mtu {
type uint16;
description
"Set the max transmission unit size in octets
for the physical interface. If this is not set, the mtu is
set to the operational default -- e.g., 1514 bytes on an
Ethernet interface.";
}
leaf loopback-mode {
type boolean;
default false;
description
"When set to true, the interface is logically looped back,
such that packets that are forwarded via the interface
are received on the same interface.";
}
uses interface-common-config;
}
grouping interface-phys-holdtime-config {
description
"Configuration data for interface hold-time settings --
applies to physical interfaces.";
leaf up {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface
transitions from down to up. A zero value means dampening
is turned off, i.e., immediate notification.";
}
leaf down {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface transitions from
up to down. A zero value means dampening is turned off,
i.e., immediate notification.";
}
}
grouping interface-phys-holdtime-state {
description
"Operational state data for interface hold-time.";
}
grouping interface-phys-holdtime-top {
description
"Top-level grouping for setting link transition
dampening on physical and other types of interfaces.";
container hold-time {
description
"Top-level container for hold-time settings to enable
dampening advertisements of interface transitions.";
container config {
description
"Configuration data for interface hold-time settings.";
oc-ext:telemetry-on-change;
uses interface-phys-holdtime-config;
}
container state {
config false;
description
"Operational state data for interface hold-time.";
uses interface-phys-holdtime-config;
uses interface-phys-holdtime-state;
}
}
}
grouping interface-common-state {
description
"Operational state data (in addition to intended configuration)
at the global level for this interface";
oc-ext:operational;
leaf ifindex {
type uint32;
description
"System assigned number for each interface. Corresponds to
ifIndex object in SNMP Interface MIB";
reference
"RFC 2863 - The Interfaces Group MIB";
oc-ext:telemetry-on-change;
}
leaf admin-status {
type enumeration {
enum UP {
description
"Ready to pass packets.";
}
enum DOWN {
description
"Not ready to pass packets and not in some test mode.";
}
enum TESTING {
//TODO: This is generally not supported as a configured
//admin state, though it's in the standard interfaces MIB.
//Consider removing it.
description
"In some test mode.";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The desired state of the interface. In RFC 7223 this leaf
has the same read semantics as ifAdminStatus. Here, it
reflects the administrative state as set by enabling or
disabling the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
oc-ext:telemetry-on-change;
}
leaf oper-status {
type enumeration {
enum UP {
value 1;
description
"Ready to pass packets.";
}
enum DOWN {
value 2;
description
"The interface does not pass any packets.";
}
enum TESTING {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum UNKNOWN {
value 4;
description
"Status cannot be determined for some reason.";
}
enum DORMANT {
value 5;
description
"Waiting for some external event.";
}
enum NOT_PRESENT {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum LOWER_LAYER_DOWN {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
oc-ext:telemetry-on-change;
}
leaf last-change {
type oc-types:timeticks64;
description
"This timestamp indicates the absolute time of the last
state change of the interface (e.g., up-to-down transition).
This is different than the SNMP ifLastChange object in the
standard interface MIB in that it is not relative to the
system boot time (i.e,. sysUpTime).
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
leaf logical {
type boolean;
description
"When set to true, the interface is a logical interface
which does not have an associated physical port or
channel on the system.";
oc-ext:telemetry-on-change;
}
leaf management {
type boolean;
description
"When set to true, the interface is a dedicated
management interface that is not connected to dataplane
interfaces. It may be used to connect the system to an
out-of-band management network, for example.";
oc-ext:telemetry-on-change;
}
leaf cpu {
type boolean;
description
"When set to true, the interface is for traffic
that is handled by the system CPU, sometimes also called the
control plane interface. On systems that represent the CPU
interface as an Ethernet interface, for example, this leaf
should be used to distinguish the CPU interface from dataplane
interfaces.";
oc-ext:telemetry-on-change;
}
}
grouping interface-counters-state {
description
"Operational state representing interface counters
and statistics.";
//TODO: we may need to break this list of counters into those
//that would appear for physical vs. subinterface or logical
//interfaces. For now, just replicating the full stats
//grouping to both interface and subinterface.
oc-ext:operational;
container counters {
description
"A collection of interface-related statistics objects.";
leaf in-octets {
type oc-yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-pkts {
type oc-yang:counter64;
description
"The total number of packets received on the interface,
including all unicast, multicast, broadcast and bad packets
etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf in-unicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type oc-yang:counter64;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf in-fcs-errors {
type oc-yang:counter64;
description
"Number of received packets which had errors in the
frame check sequence (FCS), i.e., framing errors.
Discontinuities in the value of this counter can occur
when the device is re-initialization as indicated by the
value of 'last-clear'.";
}
leaf out-octets {
type oc-yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-pkts {
type oc-yang:counter64;
description
"The total number of packets transmitted out of the
interface, including all unicast, multicast, broadcast,
and bad packets etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf out-unicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type oc-yang:counter64;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
leaf carrier-transitions {
type oc-yang:counter64;
description
"Number of times the interface state has transitioned
between up and down since the time the device restarted
or the last-clear time, whichever is most recent.";
oc-ext:telemetry-on-change;
}
leaf last-clear {
type oc-types:timeticks64;
description
"Timestamp of the last time the interface counters were
cleared.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
}
}
// data definition statements
grouping sub-unnumbered-config {
description
"Configuration data for unnumbered subinterfaces";
leaf enabled {
type boolean;
default false;
description
"Indicates that the subinterface is unnumbered. By default
the subinterface is numbered, i.e., expected to have an
IP address configuration.";
}
}
grouping sub-unnumbered-state {
description
"Operational state data unnumbered subinterfaces";
}
grouping sub-unnumbered-top {
description
"Top-level grouping unnumbered subinterfaces";
container unnumbered {
description
"Top-level container for setting unnumbered interfaces.
Includes reference the interface that provides the
address information";
container config {
description
"Configuration data for unnumbered interface";
oc-ext:telemetry-on-change;
uses sub-unnumbered-config;
}
container state {
config false;
description
"Operational state data for unnumbered interfaces";
uses sub-unnumbered-config;
uses sub-unnumbered-state;
}
uses oc-if:interface-ref;
}
}
grouping subinterfaces-config {
description
"Configuration data for subinterfaces";
leaf index {
type uint32;
default 0;
description
"The index of the subinterface, or logical interface number.
On systems with no support for subinterfaces, or not using
subinterfaces, this value should default to 0, i.e., the
default subinterface.";
}
uses interface-common-config;
}
grouping subinterfaces-state {
description
"Operational state data for subinterfaces";
oc-ext:operational;
leaf name {
type string;
description
"The system-assigned name for the sub-interface. This MAY
be a combination of the base interface name and the
subinterface index, or some other convention used by the
system.";
oc-ext:telemetry-on-change;
}
uses interface-common-state;
uses interface-counters-state;
}
grouping subinterfaces-top {
description
"Subinterface data for logical interfaces associated with a
given interface";
container subinterfaces {
description
"Enclosing container for the list of subinterfaces associated
with a physical interface";
list subinterface {
key "index";
description
"The list of subinterfaces (logical interfaces) associated
with a physical interface";
leaf index {
type leafref {
path "../config/index";
}
description
"The index number of the subinterface -- used to address
the logical interface";
}
container config {
description
"Configurable items at the subinterface level";
oc-ext:telemetry-on-change;
uses subinterfaces-config;
}
container state {
config false;
description
"Operational state data for logical interfaces";
uses subinterfaces-config;
uses subinterfaces-state;
}
}
}
}
grouping interfaces-top {
description
"Top-level grouping for interface configuration and
operational state data";
container interfaces {
description
"Top level container for interfaces, including configuration
and state data.";
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type leafref {
path "../config/name";
}
description
"References the name of the interface";
//TODO: need to consider whether this should actually
//reference the name in the state subtree, which
//presumably would be the system-assigned name, or the
//configured name. Points to the config/name now
//because of YANG 1.0 limitation that the list
//key must have the same "config" as the list, and
//also can't point to a non-config node.
}
container config {
description
"Configurable items at the global, physical interface
level";
oc-ext:telemetry-on-change;
uses interface-phys-config;
}
container state {
config false;
description
"Operational state data at the global interface level";
uses interface-phys-config;
uses interface-common-state;
uses interface-counters-state;
}
uses interface-phys-holdtime-top;
uses subinterfaces-top;
}
}
}
uses interfaces-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2.5.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}} to MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[18b1ae60], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[18b1ae60], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[18b1ae60], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}]=SimpleContainerNode{version=Version[5b94d35d], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-messages {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/messages";
prefix "oc-messages";
// import some basic types
import openconfig-extensions { prefix "oc-ext"; }
import openconfig-system-logging { prefix "oc-log"; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to Syslog messages that a device may generate.
These messages are historically obtained through the Syslog
transport, however this module allows for obtaining them through
an alternative transport, such as a Subscribe operation over an
RPC.
This module does not usurp traditional syslog servers, which may
still be configured through the
/yang/system/openconfig-system.yang model, rather it provies the
Operator with an alternative method of consuming messages.";
oc-ext:openconfig-version "0.0.1";
revision "2018-08-13" {
description
"Initial draft.";
reference "0.0.1";
}
// identity statements
identity DEBUG_SERVICE {
description
"Base identity for debug services. Identities within this base
identity are to be augmented in by vendors.";
}
// grouping statements
grouping messages-config {
description
"Configuration data for defining Syslog message severity.";
leaf severity {
type oc-log:syslog-severity;
description
"Specifies that only messages of the given severity (or
greater severity) are sent over the RPC.
This is analogous to differentiating which severity is to be
sent to legacy Syslog servers, as opposed to local buffer or
files.";
}
}
grouping messages-state {
description
"Operational state data for Syslog messages.";
container message {
oc-ext:telemetry-atomic;
config false;
description
"Syslog messages the client is Subscribing to. This is all
messages currently configured to be sent according to
syslog-severity.";
reference
"IETF RFC 5424 - The Syslog Protocol";
// Decide if it is OK to include ALL in this leaf.
leaf msg {
type string;
description
"Message payload. If other leafs within this container not
supported, this leaf MAY include the entire message,
inclding pri, procid, app-name etc..";
}
leaf priority {
type uint8;
description
"The Priority value (PRIVAL) represents both the
Facility and Severity.";
reference
"IETF RFC 5424, Section 6.2.1";
}
leaf app-name {
type string;
description
"The APP-NAME field SHOULD identify the device or
application that originated the message.";
reference
"IETF RFC 5424, Section 6.2.5.";
}
leaf procid {
type string;
description
"PROCID is a value that is included in the message, having
no interoperable meaning, except that a change in the value
indicates there has been a discontinuity in syslog
reporting.";
reference
"IETF RFC 5424, Section 6.2.6.";
}
leaf msgid {
type string;
description
"The MSGID SHOULD identify the type of message. For
example, a firewall might use the MSGID 'TCPIN' for
incoming TCP traffic and the MSGID 'TCPOUT' for outgoing
TCP traffic.";
reference
"IETF RFC 5424, Section 6.2.7.";
}
}
}
grouping debug-messages-config {
description
"Configuration data for enabling debug messages.";
leaf service {
type identityref {
base DEBUG_SERVICE;
}
description
"Enumeration of all services which can have debugging enabled.
Vendors are to augment this base identity with their platform
or OS specific debug options.";
}
leaf enabled {
type boolean;
default false;
description
"Enable and disable debugging.";
}
}
grouping debug-messages-top {
description
"Configuration data for enabling Syslog debug messages.";
container debug-entries {
description
"Enclosing container for list of debugs to enable.";
list debug-service {
key "service";
description
"List of debugging entries.";
leaf service {
type leafref {
path "../config/service";
}
description
"Reference to the debug-enable service key.";
}
container config {
description
"Configuration data for debug service entries.";
uses debug-messages-config;
}
container state {
config false;
description
"Operational state data for enabled debugs.";
uses debug-messages-config;
}
}
}
}
grouping messages-top {
description
"Top-level grouping for Syslog messages.";
container messages {
description
"Top-level container for Syslog messages.";
container config {
description
"Configuration data for Syslog messages.";
uses messages-config;
}
container state {
config false;
description
"Operational state data for a Syslog messages.";
uses messages-config;
uses messages-state;
}
uses debug-messages-top;
}
}
uses messages-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-messages}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.0.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}]=SimpleContainerNode{version=Version[1228d8d9], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-aaa-types {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/aaa/types";
prefix "oc-aaa-types";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines shared types for data related to AAA
(authentication, authorization, accounting).";
oc-ext:openconfig-version "0.4.1";
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2018-04-12" {
description
"Add when conditions, correct identities";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
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 AAA_SERVER_TYPE {
description
"Base identity for types of AAA servers";
}
identity SYSTEM_DEFINED_ROLES {
description
"Base identity for system_defined roles that can be assigned
to users.";
}
identity SYSTEM_ROLE_ADMIN {
base SYSTEM_DEFINED_ROLES;
description
"Built-in role that allows the equivalent of superuser
permission for all configuration and operational commands
on the device.";
}
identity AAA_ACCOUNTING_EVENT_TYPE {
description
"Base identity for specifying events types that should be
sent to AAA server for accounting";
}
identity AAA_ACCOUNTING_EVENT_COMMAND {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies interactive command events for AAA accounting";
}
identity AAA_ACCOUNTING_EVENT_LOGIN {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies login events for AAA accounting";
}
identity AAA_AUTHORIZATION_EVENT_TYPE {
description
"Base identity for specifying activities that should be
sent to AAA server for authorization";
}
identity AAA_AUTHORIZATION_EVENT_COMMAND {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies interactive command events for AAA authorization";
}
identity AAA_AUTHORIZATION_EVENT_CONFIG {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies configuration (e.g., EXEC) events for AAA
authorization";
}
identity AAA_METHOD_TYPE {
description
"Base identity to define well-known methods for AAA
operations";
}
identity TACACS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all TACACS+ servers.";
}
identity RADIUS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all RADIUS servers.";
}
identity LOCAL {
base AAA_METHOD_TYPE;
description
"Locally configured method for AAA operations.";
}
// typedef statements
typedef crypt-password-type {
type string;
description
"A password that is hashed based on the hash algorithm
indicated by the prefix in the string. The string
takes the following form, based on the Unix crypt function:
$[$=(,=)*][$[$]]
Common hash functions include:
id | hash function
---+---------------
1 | MD5
2a| Blowfish
2y| Blowfish (correct handling of 8-bit chars)
5 | SHA-256
6 | SHA-512
These may not all be supported by a target device.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.4.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}]=SimpleContainerNode{version=Version[65898ab3], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-yang-types {
yang-version "1";
namespace "http://openconfig.net/yang/types/yang";
prefix "oc-yang";
import openconfig-extensions { prefix "oc-ext"; }
organization
"OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module contains a set of extension types to the
YANG builtin types that are used across multiple
OpenConfig models.
Portions of this code were derived from IETF RFC 6021.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.0";
revision "2021-03-02" {
description
"Fix date-and-time and date's pattern statement, and remove the
regexp-posix extension, which makes pattern statements conform to the
YANG standard.";
reference "0.3.0";
}
revision "2020-06-30" {
description
"Add OpenConfig POSIX pattern extensions.";
reference "0.2.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.2.1";
}
revision 2018-04-24 {
description
"Add date typedef";
reference "0.2.0";
}
revision 2017-07-30 {
description
"Fixed unprintable character";
reference "0.1.2";
}
revision 2017-04-03 {
description
"Update copyright notice.";
reference "0.1.1";
}
revision 2017-01-26 {
description
"Initial module for inet types";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef dotted-quad {
type string {
pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])';
oc-ext:posix-pattern '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])$';
}
description
"An unsigned 32-bit integer expressed as a dotted quad. The
format is four octets written as decimal numbers separated
with a period character.";
}
typedef hex-string {
type string {
pattern '[0-9a-fA-F]*';
oc-ext:posix-pattern '[0-9a-fA-F]*';
}
description
"A string consisting of a hexadecimal characters.";
}
typedef counter32 {
type uint32;
description
"A 32-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When the counter
reaches its maximum value, in this case 2^32-1, it wraps to 0.
Discontinuities in the counter are generally triggered only when
the counter is reset to zero.";
}
typedef counter64 {
type uint64;
description
"A 64-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When a counter64
reaches its maximum value, 2^64-1, it loops to zero.
Discontinuities in a counter are generally triggered only when
the counter is reset to zero, through operator or system
intervention.";
}
typedef date-and-time {
type string {
pattern
'[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))$';
}
description
"A date and time, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DDTHH:MM:SSZ+-hh:mm
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value. T is the literal character 'T',
HH is the hour of the day expressed as a two digit number, using
the 24-hour clock, MM is the minute of the hour expressed as a
two digit number. Z is the literal character 'Z', followed by a
timezone offset expressed in hours (hh) and minutes (mm), both
expressed as two digit numbers. The time offset is specified as
a positive or negative offset to UTC using the '+' or '-'
character preceding the offset.
Optionally, fractional seconds can be expressed after the minute
of the hour as a decimal number of unspecified precision
reflecting fractions of a second.";
reference
"RFC3339 - Date and Time on the Internet: Timestamps";
}
typedef date {
type string {
pattern '[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])$';
}
description
"A full UTC date, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DD
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value.";
reference
"RFC3339 - Date and Time on the Internet: full-date";
}
typedef gauge64 {
type uint64;
description
"A gauge value may increase or decrease - and reflects a value
at a particular point in time. If the value of the variable
being modeled using the gauge exceeds its maximum - 2^64-1 in
this case - the gauge is set to its maximum value.";
}
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
oc-ext:posix-pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A physical layer address, expressed as a series of pairs of
hexadecimal digits.";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
oc-ext:posix-pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"An IEEE 802 MAC address";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.6.0}]=SimpleContainerNode{version=Version[18b1ae60], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.6.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-types {
yang-version "1";
namespace "http://openconfig.net/yang/openconfig-types";
prefix "oc-types";
// import statements
import openconfig-extensions { prefix oc-ext; }
// meta
organization
"OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module contains a set of general type definitions that
are used across OpenConfig models. It can be imported by modules
that make use of these types.";
oc-ext:openconfig-version "0.6.0";
revision "2019-04-16" {
description
"Clarify definition of timeticks64.";
reference "0.6.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.5.1";
}
revision "2018-05-05" {
description
"Add grouping of min-max-time and
included them to all stats with min/max/avg";
reference "0.5.0";
}
revision "2018-01-16" {
description
"Add interval to min/max/avg stats; add percentage stat";
reference "0.4.0";
}
revision "2017-08-16" {
description
"Apply fix for ieetfloat32 length parameter";
reference "0.3.3";
}
revision "2017-01-13" {
description
"Add ADDRESS_FAMILY identity";
reference "0.3.2";
}
revision "2016-11-14" {
description
"Correct length of ieeefloat32";
reference "0.3.1";
}
revision "2016-11-11" {
description
"Additional types - ieeefloat32 and routing-password";
reference "0.3.0";
}
revision "2016-05-31" {
description
"OpenConfig public release";
reference "0.2.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef percentage {
type uint8 {
range "0..100";
}
description
"Integer indicating a percentage value";
}
typedef std-regexp {
type string;
description
"This type definition is a placeholder for a standard
definition of a regular expression that can be utilised in
OpenConfig models. Further discussion is required to
consider the type of regular expressions that are to be
supported. An initial proposal is POSIX compatible.";
}
typedef timeticks64 {
type uint64;
units "nanoseconds";
description
"The timeticks64 represents the time, modulo 2^64 in
nanoseconds between two epochs. The leaf using this
type must define the epochs that tests are relative to.";
}
typedef ieeefloat32 {
type binary {
length "4";
}
description
"An IEEE 32-bit floating point number. The format of this number
is of the form:
1-bit sign
8-bit exponent
23-bit fraction
The floating point value is calculated using:
(-1)**S * 2**(Exponent-127) * (1+Fraction)";
}
typedef routing-password {
type string;
description
"This type is indicative of a password that is used within
a routing protocol which can be returned in plain text to the
NMS by the local system. Such passwords are typically stored
as encrypted strings. Since the encryption used is generally
well known, it is possible to extract the original value from
the string - and hence this format is not considered secure.
Leaves specified with this type should not be modified by
the system, and should be returned to the end-user in plain
text. This type exists to differentiate passwords, which
may be sensitive, from other string leaves. It could, for
example, be used by the NMS to censor this data when
viewed by particular users.";
}
typedef stat-interval {
type uint64;
units nanoseconds;
description
"A time interval over which a set of statistics is computed.
A common usage is to report the interval over which
avg/min/max stats are computed and reported.";
}
grouping stat-interval-state {
description
"Reusable leaf definition for stats computation interval";
leaf interval {
type oc-types:stat-interval;
description
"If supported by the system, this reports the time interval
over which the min/max/average statistics are computed by
the system.";
}
}
grouping min-max-time {
description
"Common grouping for recording the absolute time at which
the minimum and maximum values occurred in the statistics";
leaf min-time {
type oc-types:timeticks64;
description
"The absolute time at which the minimum value occurred.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
leaf max-time {
type oc-types:timeticks64;
description
"The absolute time at which the maximum value occurred.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
}
grouping avg-min-max-stats-precision1 {
description
"Common nodes for recording average, minimum, and
maximum values for a statistic. These values all have
fraction-digits set to 1. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed is also reported.";
leaf avg {
type decimal64 {
fraction-digits 1;
}
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 1;
}
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 1;
}
description
"The maximum value of the statitic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision1 {
description
"Common grouping for recording an instantaneous statistic value
in addition to avg-min-max stats";
leaf instant {
type decimal64 {
fraction-digits 1;
}
description
"The instantaneous value of the statistic.";
}
uses avg-min-max-stats-precision1;
}
grouping avg-min-max-instant-stats-precision2-dB {
description
"Common grouping for recording dB values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The minimum value of the statistic over the time interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The maximum value of the statistic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision2-dBm {
description
"Common grouping for recording dBm values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The maximum value of the statistic over the time interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision2-mA {
description
"Common grouping for recording mA values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The maximum value of the statistic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-pct {
description
"Common grouping for percentage statistics.
Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type oc-types:percentage;
description
"The instantaneous percentage value.";
}
leaf avg {
type oc-types:percentage;
description
"The arithmetic mean value of the percentage measure of the
statistic over the time interval.";
}
leaf min {
type oc-types:percentage;
description
"The minimum value of the percentage measure of the
statistic over the time interval.";
}
leaf max {
type oc-types:percentage;
description
"The maximum value of the percentage measure of the
statistic over the time interval.";
}
uses stat-interval-state;
uses min-max-time;
}
identity ADDRESS_FAMILY {
description
"A base identity for all address families";
}
identity IPV4 {
base ADDRESS_FAMILY;
description
"The IPv4 address family";
}
identity IPV6 {
base ADDRESS_FAMILY;
description
"The IPv6 address family";
}
identity MPLS {
base ADDRESS_FAMILY;
description
"The MPLS address family";
}
identity L2_ETHERNET {
base ADDRESS_FAMILY;
description
"The 802.3 Ethernet address family";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.6.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}]=SimpleContainerNode{version=Version[7ca650c5], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-interfaces {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/interfaces";
prefix "oc-if";
// import some basic types
import ietf-interfaces { prefix ietf-if; }
import openconfig-yang-types { prefix oc-yang; }
import openconfig-types { prefix oc-types; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"Model for managing network interfaces and subinterfaces. This
module also defines convenience types / groupings for other
models to create references to interfaces:
base-interface-ref (type) - reference to a base interface
interface-ref (grouping) - container for reference to a
interface + subinterface
interface-ref-state (grouping) - container for read-only
(opstate) reference to interface + subinterface
This model reuses data items defined in the IETF YANG model for
interfaces described by RFC 7223 with an alternate structure
(particularly for operational state data) and with
additional configuration items.
Portions of this code were derived from IETF RFC 7223.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "2.5.0";
revision "2021-04-06" {
description
"Add leaves for management and cpu interfaces";
reference "2.5.0";
}
revision "2019-11-19" {
description
"Update description of interface name.";
reference "2.4.3";
}
revision "2019-07-10" {
description
"Remove redundant nanosecond units statements to reflect
universal definition of timeticks64 type.";
reference "2.4.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "2.4.1";
}
revision "2018-08-07" {
description
"Add leaf to indicate whether an interface is physical or
logical.";
reference "2.4.0";
}
revision "2018-07-02" {
description
"Add in-pkts and out-pkts in counters";
reference "2.3.2";
}
revision "2018-04-24" {
description
"Clarified behavior of last-change state leaf";
reference "2.3.1";
}
revision "2018-01-05" {
description
"Add logical loopback to interface.";
reference "2.3.0";
}
revision "2017-12-22" {
description
"Add IPv4 proxy ARP configuration.";
reference "2.2.0";
}
revision "2017-12-21" {
description
"Added IPv6 router advertisement configuration.";
reference "2.1.0";
}
revision "2017-07-14" {
description
"Added Ethernet/IP state data; Add dhcp-client;
migrate to OpenConfig types modules; Removed or
renamed opstate values";
reference "2.0.0";
}
revision "2017-04-03" {
description
"Update copyright notice.";
reference "1.1.1";
}
revision "2016-12-22" {
description
"Fixes to Ethernet interfaces model";
reference "1.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// typedef statements
typedef base-interface-ref {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reusable type for by-name reference to a base interface.
This type may be used in cases where ability to reference
a subinterface is not required.";
}
typedef interface-id {
type string;
description
"User-defined identifier for an interface, generally used to
name a interface reference. The id can be arbitrary but a
useful convention is to use a combination of base interface
name and subinterface index.";
}
// grouping statements
grouping interface-ref-common {
description
"Reference leafrefs to interface / subinterface";
leaf interface {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reference to a base interface. If a reference to a
subinterface is required, this leaf must be specified
to indicate the base interface.";
}
leaf subinterface {
type leafref {
path "/oc-if:interfaces/" +
"oc-if:interface[oc-if:name=current()/../interface]/" +
"oc-if:subinterfaces/oc-if:subinterface/oc-if:index";
}
description
"Reference to a subinterface -- this requires the base
interface to be specified using the interface leaf in
this container. If only a reference to a base interface
is requuired, this leaf should not be set.";
}
}
grouping interface-ref-state-container {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container state {
config false;
description
"Operational state for interface-ref";
uses interface-ref-common;
}
}
grouping interface-ref {
description
"Reusable definition for a reference to an interface or
subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
container config {
description
"Configured reference to interface / subinterface";
oc-ext:telemetry-on-change;
uses interface-ref-common;
}
uses interface-ref-state-container;
}
}
grouping interface-ref-state {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
uses interface-ref-state-container;
}
}
grouping base-interface-ref-state {
description
"Reusable opstate w/container for a reference to a
base interface (no subinterface).";
container state {
config false;
description
"Operational state for base interface reference";
leaf interface {
type base-interface-ref;
description
"Reference to a base interface.";
}
}
}
grouping interface-common-config {
description
"Configuration data data nodes common to physical interfaces
and subinterfaces";
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
datastore.
Specifically, if the device supports ':startup', when
ifAlias is read the device MUST return the value of
'description' in the 'startup' datastore, and when it is
written, it MUST be written to the 'running' and 'startup'
datastores. Note that it is up to the implementation to
decide whether to modify this single leaf in 'startup' or
perform an implicit copy-config from 'running' to
'startup'.
If the device does not support ':startup', ifAlias MUST
be mapped to the 'description' leaf in the 'running'
datastore.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the 'running' datastore to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the 'running' datastore are
reflected in ifAdminStatus, but if ifAdminStatus is
changed over SNMP, this leaf is not affected.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
}
grouping interface-phys-config {
description
"Configuration data for physical interfaces";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface. The 'config false'
list interfaces/interface[name]/state contains the currently
existing interfaces on the device.
If a client tries to create configuration for a
system-controlled interface that is not present in the
corresponding state list, the server MAY reject
the request if the implementation does not support
pre-provisioning of interfaces or if the name refers to
an interface that can never exist in the system. A
NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.
The IETF model in RFC 7223 provides YANG features for the
following (i.e., pre-provisioning and arbitrary-names),
however they are omitted here:
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
/interfaces/interface[name]/state list.";
}
leaf type {
type identityref {
base ietf-if:interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf mtu {
type uint16;
description
"Set the max transmission unit size in octets
for the physical interface. If this is not set, the mtu is
set to the operational default -- e.g., 1514 bytes on an
Ethernet interface.";
}
leaf loopback-mode {
type boolean;
default false;
description
"When set to true, the interface is logically looped back,
such that packets that are forwarded via the interface
are received on the same interface.";
}
uses interface-common-config;
}
grouping interface-phys-holdtime-config {
description
"Configuration data for interface hold-time settings --
applies to physical interfaces.";
leaf up {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface
transitions from down to up. A zero value means dampening
is turned off, i.e., immediate notification.";
}
leaf down {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface transitions from
up to down. A zero value means dampening is turned off,
i.e., immediate notification.";
}
}
grouping interface-phys-holdtime-state {
description
"Operational state data for interface hold-time.";
}
grouping interface-phys-holdtime-top {
description
"Top-level grouping for setting link transition
dampening on physical and other types of interfaces.";
container hold-time {
description
"Top-level container for hold-time settings to enable
dampening advertisements of interface transitions.";
container config {
description
"Configuration data for interface hold-time settings.";
oc-ext:telemetry-on-change;
uses interface-phys-holdtime-config;
}
container state {
config false;
description
"Operational state data for interface hold-time.";
uses interface-phys-holdtime-config;
uses interface-phys-holdtime-state;
}
}
}
grouping interface-common-state {
description
"Operational state data (in addition to intended configuration)
at the global level for this interface";
oc-ext:operational;
leaf ifindex {
type uint32;
description
"System assigned number for each interface. Corresponds to
ifIndex object in SNMP Interface MIB";
reference
"RFC 2863 - The Interfaces Group MIB";
oc-ext:telemetry-on-change;
}
leaf admin-status {
type enumeration {
enum UP {
description
"Ready to pass packets.";
}
enum DOWN {
description
"Not ready to pass packets and not in some test mode.";
}
enum TESTING {
//TODO: This is generally not supported as a configured
//admin state, though it's in the standard interfaces MIB.
//Consider removing it.
description
"In some test mode.";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The desired state of the interface. In RFC 7223 this leaf
has the same read semantics as ifAdminStatus. Here, it
reflects the administrative state as set by enabling or
disabling the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
oc-ext:telemetry-on-change;
}
leaf oper-status {
type enumeration {
enum UP {
value 1;
description
"Ready to pass packets.";
}
enum DOWN {
value 2;
description
"The interface does not pass any packets.";
}
enum TESTING {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum UNKNOWN {
value 4;
description
"Status cannot be determined for some reason.";
}
enum DORMANT {
value 5;
description
"Waiting for some external event.";
}
enum NOT_PRESENT {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum LOWER_LAYER_DOWN {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
oc-ext:telemetry-on-change;
}
leaf last-change {
type oc-types:timeticks64;
description
"This timestamp indicates the absolute time of the last
state change of the interface (e.g., up-to-down transition).
This is different than the SNMP ifLastChange object in the
standard interface MIB in that it is not relative to the
system boot time (i.e,. sysUpTime).
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
leaf logical {
type boolean;
description
"When set to true, the interface is a logical interface
which does not have an associated physical port or
channel on the system.";
oc-ext:telemetry-on-change;
}
leaf management {
type boolean;
description
"When set to true, the interface is a dedicated
management interface that is not connected to dataplane
interfaces. It may be used to connect the system to an
out-of-band management network, for example.";
oc-ext:telemetry-on-change;
}
leaf cpu {
type boolean;
description
"When set to true, the interface is for traffic
that is handled by the system CPU, sometimes also called the
control plane interface. On systems that represent the CPU
interface as an Ethernet interface, for example, this leaf
should be used to distinguish the CPU interface from dataplane
interfaces.";
oc-ext:telemetry-on-change;
}
}
grouping interface-counters-state {
description
"Operational state representing interface counters
and statistics.";
//TODO: we may need to break this list of counters into those
//that would appear for physical vs. subinterface or logical
//interfaces. For now, just replicating the full stats
//grouping to both interface and subinterface.
oc-ext:operational;
container counters {
description
"A collection of interface-related statistics objects.";
leaf in-octets {
type oc-yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-pkts {
type oc-yang:counter64;
description
"The total number of packets received on the interface,
including all unicast, multicast, broadcast and bad packets
etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf in-unicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type oc-yang:counter64;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf in-fcs-errors {
type oc-yang:counter64;
description
"Number of received packets which had errors in the
frame check sequence (FCS), i.e., framing errors.
Discontinuities in the value of this counter can occur
when the device is re-initialization as indicated by the
value of 'last-clear'.";
}
leaf out-octets {
type oc-yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-pkts {
type oc-yang:counter64;
description
"The total number of packets transmitted out of the
interface, including all unicast, multicast, broadcast,
and bad packets etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf out-unicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type oc-yang:counter64;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
leaf carrier-transitions {
type oc-yang:counter64;
description
"Number of times the interface state has transitioned
between up and down since the time the device restarted
or the last-clear time, whichever is most recent.";
oc-ext:telemetry-on-change;
}
leaf last-clear {
type oc-types:timeticks64;
description
"Timestamp of the last time the interface counters were
cleared.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
}
}
// data definition statements
grouping sub-unnumbered-config {
description
"Configuration data for unnumbered subinterfaces";
leaf enabled {
type boolean;
default false;
description
"Indicates that the subinterface is unnumbered. By default
the subinterface is numbered, i.e., expected to have an
IP address configuration.";
}
}
grouping sub-unnumbered-state {
description
"Operational state data unnumbered subinterfaces";
}
grouping sub-unnumbered-top {
description
"Top-level grouping unnumbered subinterfaces";
container unnumbered {
description
"Top-level container for setting unnumbered interfaces.
Includes reference the interface that provides the
address information";
container config {
description
"Configuration data for unnumbered interface";
oc-ext:telemetry-on-change;
uses sub-unnumbered-config;
}
container state {
config false;
description
"Operational state data for unnumbered interfaces";
uses sub-unnumbered-config;
uses sub-unnumbered-state;
}
uses oc-if:interface-ref;
}
}
grouping subinterfaces-config {
description
"Configuration data for subinterfaces";
leaf index {
type uint32;
default 0;
description
"The index of the subinterface, or logical interface number.
On systems with no support for subinterfaces, or not using
subinterfaces, this value should default to 0, i.e., the
default subinterface.";
}
uses interface-common-config;
}
grouping subinterfaces-state {
description
"Operational state data for subinterfaces";
oc-ext:operational;
leaf name {
type string;
description
"The system-assigned name for the sub-interface. This MAY
be a combination of the base interface name and the
subinterface index, or some other convention used by the
system.";
oc-ext:telemetry-on-change;
}
uses interface-common-state;
uses interface-counters-state;
}
grouping subinterfaces-top {
description
"Subinterface data for logical interfaces associated with a
given interface";
container subinterfaces {
description
"Enclosing container for the list of subinterfaces associated
with a physical interface";
list subinterface {
key "index";
description
"The list of subinterfaces (logical interfaces) associated
with a physical interface";
leaf index {
type leafref {
path "../config/index";
}
description
"The index number of the subinterface -- used to address
the logical interface";
}
container config {
description
"Configurable items at the subinterface level";
oc-ext:telemetry-on-change;
uses subinterfaces-config;
}
container state {
config false;
description
"Operational state data for logical interfaces";
uses subinterfaces-config;
uses subinterfaces-state;
}
}
}
}
grouping interfaces-top {
description
"Top-level grouping for interface configuration and
operational state data";
container interfaces {
description
"Top level container for interfaces, including configuration
and state data.";
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type leafref {
path "../config/name";
}
description
"References the name of the interface";
//TODO: need to consider whether this should actually
//reference the name in the state subtree, which
//presumably would be the system-assigned name, or the
//configured name. Points to the config/name now
//because of YANG 1.0 limitation that the list
//key must have the same "config" as the list, and
//also can't point to a non-config node.
}
container config {
description
"Configurable items at the global, physical interface
level";
oc-ext:telemetry-on-change;
uses interface-phys-config;
}
container state {
config false;
description
"Operational state data at the global interface level";
uses interface-phys-config;
uses interface-common-state;
uses interface-counters-state;
}
uses interface-phys-holdtime-top;
uses subinterfaces-top;
}
}
}
uses interfaces-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2.5.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}}
12:58:20.385 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-16: doCommit completed
12:58:20.386 [main] INFO org.opendaylight.gnmi.southbound.schema.loader.impl.ByClassPathYangLoaderService -- Loaded yang model openconfig-types with version 0.6.0
12:58:20.408 [main] DEBUG org.opendaylight.gnmi.southbound.schema.yangstore.impl.YangDataStoreServiceImpl -- Adding yang model openconfig-system with version 0.10.0 to operational datastore
12:58:20.418 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: OPER-17 allocated with snapshot Version[18b1ae60]
12:58:20.418 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: OPER-17 Merge: /(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models/gnmi-yang-model/gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-system, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.10.0}]:ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-system, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.10.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-system {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/system";
prefix "oc-sys";
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-yang-types { prefix oc-yang; }
import openconfig-types { prefix oc-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa { prefix oc-aaa; }
import openconfig-system-logging { prefix oc-log; }
import openconfig-system-terminal { prefix oc-sys-term; }
import openconfig-procmon { prefix oc-proc; }
import openconfig-alarms { prefix oc-alarms; }
import openconfig-messages { prefix oc-messages; }
import openconfig-license { prefix oc-license; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"Model for managing system-wide services and functions on
network devices.
Portions of this code were derived from IETF RFC 7317.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.10.0";
revision "2020-04-13" {
description
"Remove the existing grpc-service, and add a new list
of the gRPC servers in a new module.";
reference "0.10.0";
}
revision "2020-03-25" {
description
"Fix typo in description statement for ipv4-address
list.";
reference "0.9.1";
}
revision "2020-01-07" {
description
"Add import of license management model.";
reference "0.9.0";
}
revision "2019-03-15" {
description
"Update boot time to be nanoseconds since epoch.";
reference "0.8.0";
}
revision "2019-01-29" {
description
"Add messages module to the system model";
reference "0.7.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.6.1";
}
revision "2018-07-17" {
description
"Add gRPC server data";
reference "0.6.0";
}
revision "2018-01-21" {
description
"Add cpu utilization data";
reference "0.5.0";
}
revision "2017-12-15" {
description
"Add alarms to the system model";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// extension statements
// feature statements
// identity statements
identity NTP_AUTH_TYPE {
description
"Base identity for encryption schemes supported for NTP
authentication keys";
}
identity NTP_AUTH_MD5 {
base NTP_AUTH_TYPE;
description
"MD5 encryption method";
}
// typedef statements
typedef timezone-name-type {
type string;
description
"A time zone name as used by the Time Zone Database,
sometimes referred to as the 'Olson Database'.
The exact set of valid values is an implementation-specific
matter. Client discovery of the exact set of time zone names
for a particular server is out of scope.";
reference
"BCP 175: Procedures for Maintaining the Time Zone Database";
}
// grouping statements
grouping system-clock-config {
description
"Configuration data for system-wide clock configuration";
leaf timezone-name {
type timezone-name-type;
description
"The TZ database name to use for the system, such
as 'Europe/Stockholm'.";
reference "IANA Time Zone Database
http://www.iana.org/time-zones";
}
}
grouping system-clock-state {
description
"Operational state data for system-wide clock configuration";
}
grouping system-clock-top {
description
"Top-level grouping for system-wide clock configuration";
container clock {
description
"Top-level container for clock configuration data";
container config {
description
"Configuration data for system clock";
uses system-clock-config;
}
container state {
config false;
description
"Operational state data for system clock";
uses system-clock-config;
uses system-clock-state;
}
}
}
grouping system-global-config {
description "system-wide configuration parameters";
leaf hostname {
type oc-inet:domain-name;
description
"The hostname of the device -- should be a single domain
label, without the domain.";
}
leaf domain-name {
type oc-inet:domain-name;
description
"Specifies the domain name used to form fully qualified name
for unqualified hostnames.";
}
leaf login-banner {
type string;
description
"The console login message displayed before the login prompt,
i.e., before a user logs into the system.";
}
leaf motd-banner {
type string;
description
"The console message displayed after a user logs into the
system. They system may append additional standard
information such as the current system date and time, uptime,
last login timestamp, etc.";
}
}
grouping system-global-state {
description
"Global operational state data for the system";
leaf current-datetime {
type oc-yang:date-and-time;
description
"The current system date and time.";
}
leaf boot-time {
type oc-types:timeticks64;
units "nanoseconds";
description
"This timestamp indicates the time that the system was last
restarted. The value is the timestamp in nanoseconds relative
to the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
}
grouping system-dns-config {
description "DNS / resolver related configuration data";
leaf-list search {
type oc-inet:domain-name;
ordered-by user;
description
"An ordered list of domains to search when resolving
a host name.";
}
}
grouping system-dns-state {
description
"Operational state data for system DNS resolver";
}
grouping system-dns-servers-config {
description
"Configuration data for DNS resolvers";
//RFC 7317 includes a single-value choice statement to for
//TCP and UDP transport. This has been removed since it the
//transport protocol is not generally available as an options
//on target devices. It may be added back if and when needed.
leaf address {
type oc-inet:ip-address;
description
"The address of the DNS server, can be either IPv4
or IPv6.";
}
leaf port {
type oc-inet:port-number;
default 53;
description
"The port number of the DNS server.";
}
//RFC 7317 includes resolver timeout and attempts options. These
//have been omitted as they are not available on many targets. If
//and when they are required, they may be added back in.
}
grouping system-dns-static-config {
description
"Configuration data for static host entries";
leaf hostname {
type string;
description
"Hostname for the static DNS entry";
}
leaf-list alias {
type string;
description
"Additional aliases for the hostname";
}
leaf-list ipv4-address {
type oc-inet:ipv4-address;
description
"List of IPv4 addresses for the host entry";
}
leaf-list ipv6-address {
type oc-inet:ipv6-address;
description
"List of IPv6 addresses for the host entry";
}
}
grouping system-dns-static-state {
description
"Operational state data for static host entries";
}
grouping system-dns-static-top {
description
"Top-level grouping for static DNS host entries";
container host-entries {
description
"Enclosing container for list of static host entries";
list host-entry {
key "hostname";
description
"List of static host entries";
leaf hostname {
type leafref {
path "../config/hostname";
}
description
"Reference to the hostname list key";
}
container config {
description
"Configuration data for static host entries";
uses system-dns-static-config;
}
container state {
config false;
description
"Operational state data for static host entries";
uses system-dns-static-config;
uses system-dns-static-state;
}
}
}
}
grouping system-dns-servers-state {
description
"Operational state data for DNS resolvers";
}
grouping system-dns-servers-top {
description
"Top-level grouping for the list of DNS resolvers.";
container servers {
description
"Enclosing container for DNS resolver list";
list server {
key "address";
ordered-by user;
description
"List of the DNS servers that the resolver should query.
When the resolver is invoked by a calling application, it
sends the query to the first name server in this list. If
no response has been received within 'timeout' seconds,
the resolver continues with the next server in the list.
If no response is received from any server, the resolver
continues with the first server again. When the resolver
has traversed the list 'attempts' times without receiving
any response, it gives up and returns an error to the
calling application.
Implementations MAY limit the number of entries in this
list.";
leaf address {
type leafref {
path "../config/address";
}
description
"References the configured address of the DNS server";
}
container config {
description
"Configuration data for each DNS resolver";
uses system-dns-servers-config;
}
container state {
config false;
description
"Operational state data for each DNS resolver";
uses system-dns-servers-config;
uses system-dns-servers-state;
}
}
}
}
grouping system-dns-top {
description
"Top-level grouping for DNS / resolver config and operational
state data";
container dns {
description
"Enclosing container for DNS resolver data";
container config {
description
"Configuration data for the DNS resolver";
uses system-dns-config;
}
container state {
config false;
description
"Operational state data for the DNS resolver";
uses system-dns-config;
uses system-dns-state;
}
uses system-dns-servers-top;
uses system-dns-static-top;
}
}
grouping system-ntp-server-config {
description
"Configuration data for NTP servers";
leaf address {
type oc-inet:host;
description
"The address or hostname of the NTP server.";
}
leaf port {
type oc-inet:port-number;
default 123;
description
"The port number of the NTP server.";
}
leaf version {
type uint8 {
range 1..4;
}
default 4;
description
"Version number to put in outgoing NTP packets";
}
leaf association-type {
type enumeration {
enum SERVER {
description
"Use client association mode. This device
will not provide synchronization to the
configured NTP server.";
}
enum PEER {
description
"Use symmetric active association mode.
This device may provide synchronization
to the configured NTP server.";
}
enum POOL {
description
"Use client association mode with one or
more of the NTP servers found by DNS
resolution of the domain name given by
the 'address' leaf. This device will not
provide synchronization to the servers.";
}
}
default SERVER;
description
"The desired association type for this NTP server.";
}
leaf iburst {
type boolean;
default false;
description
"Indicates whether this server should enable burst
synchronization or not.";
}
leaf prefer {
type boolean;
default false;
description
"Indicates whether this server should be preferred
or not.";
}
}
grouping system-ntp-server-state {
description
"Operational state data for NTP servers";
leaf stratum {
type uint8;
description
"Indicates the level of the server in the NTP hierarchy. As
stratum number increases, the accuracy is degraded. Primary
servers are stratum while a maximum value of 16 indicates
unsynchronized. The values have the following specific
semantics:
| 0 | unspecified or invalid
| 1 | primary server (e.g., equipped with a GPS receiver)
| 2-15 | secondary server (via NTP)
| 16 | unsynchronized
| 17-255 | reserved";
reference
"RFC 5905 - Network Time Protocol Version 4: Protocol and
Algorithms Specification";
}
leaf root-delay {
type uint32;
// TODO: reconsider units for these values -- the spec defines
// rootdelay and rootdisperson as 2 16-bit integers for seconds
// and fractional seconds, respectively. This gives a
// precision of ~15 us (2^-16). Using milliseconds here based
// on what implementations typically provide and likely lack
// of utility for less than millisecond precision with NTP
// time sync.
units "milliseconds";
description
"The round-trip delay to the server, in milliseconds.";
reference
"RFC 5905 - Network Time Protocol Version 4: Protocol and
Algorithms Specification";
}
leaf root-dispersion {
type uint64;
units "milliseconds";
description
"Dispersion (epsilon) represents the maximum error inherent
in the measurement";
reference
"RFC 5905 - Network Time Protocol Version 4: Protocol and
Algorithms Specification";
}
leaf offset {
type uint64;
units "milliseconds";
description
"Estimate of the current time offset from the peer. This is
the time difference between the local and reference clock.";
}
leaf poll-interval {
type uint32;
units "seconds";
description
"Polling interval of the peer";
}
}
grouping system-ntp-server-top {
description
"Top-level grouping for the list of NTP servers";
container servers {
description
"Enclosing container for the list of NTP servers";
list server {
key "address";
description
"List of NTP servers to use for system clock
synchronization. If '/system/ntp/enabled'
is 'true', then the system will attempt to
contact and utilize the specified NTP servers.";
leaf address {
type leafref {
path "../config/address";
}
description
"References the configured address or hostname of the
NTP server.";
}
container config {
description
"Configuration data for an NTP server.";
uses system-ntp-server-config;
}
container state {
config false;
description
"Operational state data for an NTP server.";
uses system-ntp-server-config;
uses system-ntp-server-state;
}
}
}
}
grouping system-ntp-auth-keys-config {
description
"Configuration data ";
leaf key-id {
type uint16;
description
"Integer identifier used by the client and server to
designate a secret key. The client and server must use
the same key id.";
}
leaf key-type {
type identityref {
base NTP_AUTH_TYPE;
}
description
"Encryption type used for the NTP authentication key";
}
leaf key-value {
type string;
description
"NTP authentication key value";
}
}
grouping system-ntp-auth-keys-state {
description
"Operational state data for NTP auth key data";
}
grouping system-ntp-auth-keys-top {
description
"Top-level grouping for NTP auth key data";
container ntp-keys {
description
"Enclosing container for list of NTP authentication keys";
list ntp-key {
key "key-id";
description
"List of NTP authentication keys";
leaf key-id {
type leafref {
path "../config/key-id";
}
description
"Reference to auth key-id list key";
}
container config {
description
"Configuration data for NTP auth keys";
uses system-ntp-auth-keys-config;
}
container state {
config false;
description
"Operational state data for NTP auth keys";
uses system-ntp-auth-keys-config;
uses system-ntp-auth-keys-state;
}
}
}
}
grouping system-ntp-config {
description
"Configuration data for system-wide NTP operation.";
leaf enabled {
type boolean;
default false;
description
"Enables the NTP protocol and indicates that the system should
attempt to synchronize the system clock with an NTP server
from the servers defined in the 'ntp/server' list.";
}
leaf ntp-source-address {
type oc-inet:ip-address;
description
"Source address to use on outgoing NTP packets";
}
leaf enable-ntp-auth {
type boolean;
default false;
description
"Enable or disable NTP authentication -- when enabled, the
system will only use packets containing a trusted
authentication key to synchronize the time.";
}
}
grouping system-ntp-state {
description
"Operational state data for system-wide NTP operation.";
leaf auth-mismatch {
type oc-yang:counter64;
description
"Count of the number of NTP packets received that were not
processed due to authentication mismatch.";
}
}
grouping system-ntp-top {
description
"Top-level grouping for configuration and state data for NTP";
container ntp {
description
"Top-level container for NTP configuration and state";
container config {
description
"Configuration data for NTP client.";
uses system-ntp-config;
}
container state {
config false;
description
"Operational state data for NTP services.";
uses system-ntp-config;
uses system-ntp-state;
}
uses system-ntp-auth-keys-top;
uses system-ntp-server-top;
}
}
grouping system-memory-config {
description
"Configuration data for system memory";
}
grouping system-memory-state {
description
"Operational state data for system memory";
leaf physical {
type uint64;
units bytes;
// TODO: consider making units in megabytes
description
"Reports the total physical memory available on the
system.";
}
leaf reserved {
type uint64;
units bytes;
description
"Memory reserved for system use";
}
}
grouping system-memory-top {
description
"Top-level grouping for system memory data definitions";
container memory {
description
"Top-level container for system memory data";
container config {
description
"Configuration data for system memory";
uses system-memory-config;
}
container state {
config false;
description
"Operational state data for system memory";
uses system-memory-config;
uses system-memory-state;
}
}
}
grouping system-cpu-state {
description
"Operational state data for the system CPU(s)";
leaf index {
type union {
type enumeration {
enum ALL {
description
"Index value indicating all CPUs in the system";
}
}
type uint32;
}
description
"The CPU index for each processor core on the system. On a
single-core system, the index should be zero. The ALL
index signifies an aggregation of the CPU utilization
statistics over all cores in the system.";
}
container total {
description
"Total CPU utilization.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container user {
description
"Percentage of CPU time spent running in user space.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container kernel {
description
"Percentage of CPU time spent running in kernel space.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container nice {
description
"Percentage of CPU time spent running low-priority (niced)
user processes.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container idle {
description
"Percentage of CPU time spent idle.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container wait {
description
"Percentage of CPU time spent waiting for I/O.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container hardware-interrupt {
description
"Percentage of CPU time spent servicing hardware interrupts.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container software-interrupt {
description
"Percentage of CPU time spent servicing software interrupts";
uses oc-types:avg-min-max-instant-stats-pct;
}
}
grouping system-cpu-top {
description
"Top-level grouping for system CPU data";
container cpus {
config false;
description
"Enclosing container for the list of CPU cores on the
system";
list cpu {
key "index";
description
"List of CPU cores on the system (including logical CPUs
on hyperthreaded systems), keyed by either a numerical
index, or the ALL value for an entry representing the
aggregation across all CPUs.";
leaf index {
type leafref {
path "../state/index";
}
description
"Reference to list key";
}
container state {
description
"Operational state data for the system CPU(s)";
uses system-cpu-state;
}
}
}
}
grouping system-top {
description
"Top level system data containers";
container system {
description
"Enclosing container for system-related configuration and
operational state data";
container config {
description "Global configuration data for the system";
uses system-global-config;
}
container state {
config false;
description "Global operational state data for the system";
uses system-global-config;
uses system-global-state;
}
uses system-clock-top;
uses system-dns-top;
uses system-ntp-top;
uses oc-sys-term:system-ssh-server-top;
uses oc-sys-term:system-telnet-server-top;
uses oc-log:logging-top;
uses oc-aaa:aaa-top;
uses system-memory-top;
uses system-cpu-top;
uses oc-proc:procmon-processes-top;
uses oc-alarms:alarms-top;
uses oc-messages:messages-top;
uses oc-license:license-top;
}
}
// data definition statements
uses system-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-system}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.10.0}]}
12:58:20.419 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-17 : Ready
12:58:20.419 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-17 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.419 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-17 is submitted for execution.
12:58:20.419 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-17: canCommit Started
12:58:20.419 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-17 can be committed
12:58:20.419 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-17: preCommit Started
12:58:20.419 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-17: doCommit Started
12:58:20.419 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[18b1ae60], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[18b1ae60], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[18b1ae60], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}]=SimpleContainerNode{version=Version[5b94d35d], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-messages {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/messages";
prefix "oc-messages";
// import some basic types
import openconfig-extensions { prefix "oc-ext"; }
import openconfig-system-logging { prefix "oc-log"; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to Syslog messages that a device may generate.
These messages are historically obtained through the Syslog
transport, however this module allows for obtaining them through
an alternative transport, such as a Subscribe operation over an
RPC.
This module does not usurp traditional syslog servers, which may
still be configured through the
/yang/system/openconfig-system.yang model, rather it provies the
Operator with an alternative method of consuming messages.";
oc-ext:openconfig-version "0.0.1";
revision "2018-08-13" {
description
"Initial draft.";
reference "0.0.1";
}
// identity statements
identity DEBUG_SERVICE {
description
"Base identity for debug services. Identities within this base
identity are to be augmented in by vendors.";
}
// grouping statements
grouping messages-config {
description
"Configuration data for defining Syslog message severity.";
leaf severity {
type oc-log:syslog-severity;
description
"Specifies that only messages of the given severity (or
greater severity) are sent over the RPC.
This is analogous to differentiating which severity is to be
sent to legacy Syslog servers, as opposed to local buffer or
files.";
}
}
grouping messages-state {
description
"Operational state data for Syslog messages.";
container message {
oc-ext:telemetry-atomic;
config false;
description
"Syslog messages the client is Subscribing to. This is all
messages currently configured to be sent according to
syslog-severity.";
reference
"IETF RFC 5424 - The Syslog Protocol";
// Decide if it is OK to include ALL in this leaf.
leaf msg {
type string;
description
"Message payload. If other leafs within this container not
supported, this leaf MAY include the entire message,
inclding pri, procid, app-name etc..";
}
leaf priority {
type uint8;
description
"The Priority value (PRIVAL) represents both the
Facility and Severity.";
reference
"IETF RFC 5424, Section 6.2.1";
}
leaf app-name {
type string;
description
"The APP-NAME field SHOULD identify the device or
application that originated the message.";
reference
"IETF RFC 5424, Section 6.2.5.";
}
leaf procid {
type string;
description
"PROCID is a value that is included in the message, having
no interoperable meaning, except that a change in the value
indicates there has been a discontinuity in syslog
reporting.";
reference
"IETF RFC 5424, Section 6.2.6.";
}
leaf msgid {
type string;
description
"The MSGID SHOULD identify the type of message. For
example, a firewall might use the MSGID 'TCPIN' for
incoming TCP traffic and the MSGID 'TCPOUT' for outgoing
TCP traffic.";
reference
"IETF RFC 5424, Section 6.2.7.";
}
}
}
grouping debug-messages-config {
description
"Configuration data for enabling debug messages.";
leaf service {
type identityref {
base DEBUG_SERVICE;
}
description
"Enumeration of all services which can have debugging enabled.
Vendors are to augment this base identity with their platform
or OS specific debug options.";
}
leaf enabled {
type boolean;
default false;
description
"Enable and disable debugging.";
}
}
grouping debug-messages-top {
description
"Configuration data for enabling Syslog debug messages.";
container debug-entries {
description
"Enclosing container for list of debugs to enable.";
list debug-service {
key "service";
description
"List of debugging entries.";
leaf service {
type leafref {
path "../config/service";
}
description
"Reference to the debug-enable service key.";
}
container config {
description
"Configuration data for debug service entries.";
uses debug-messages-config;
}
container state {
config false;
description
"Operational state data for enabled debugs.";
uses debug-messages-config;
}
}
}
}
grouping messages-top {
description
"Top-level grouping for Syslog messages.";
container messages {
description
"Top-level container for Syslog messages.";
container config {
description
"Configuration data for Syslog messages.";
uses messages-config;
}
container state {
config false;
description
"Operational state data for a Syslog messages.";
uses messages-config;
uses messages-state;
}
uses debug-messages-top;
}
}
uses messages-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-messages}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.0.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}]=SimpleContainerNode{version=Version[1228d8d9], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-aaa-types {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/aaa/types";
prefix "oc-aaa-types";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines shared types for data related to AAA
(authentication, authorization, accounting).";
oc-ext:openconfig-version "0.4.1";
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2018-04-12" {
description
"Add when conditions, correct identities";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
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 AAA_SERVER_TYPE {
description
"Base identity for types of AAA servers";
}
identity SYSTEM_DEFINED_ROLES {
description
"Base identity for system_defined roles that can be assigned
to users.";
}
identity SYSTEM_ROLE_ADMIN {
base SYSTEM_DEFINED_ROLES;
description
"Built-in role that allows the equivalent of superuser
permission for all configuration and operational commands
on the device.";
}
identity AAA_ACCOUNTING_EVENT_TYPE {
description
"Base identity for specifying events types that should be
sent to AAA server for accounting";
}
identity AAA_ACCOUNTING_EVENT_COMMAND {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies interactive command events for AAA accounting";
}
identity AAA_ACCOUNTING_EVENT_LOGIN {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies login events for AAA accounting";
}
identity AAA_AUTHORIZATION_EVENT_TYPE {
description
"Base identity for specifying activities that should be
sent to AAA server for authorization";
}
identity AAA_AUTHORIZATION_EVENT_COMMAND {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies interactive command events for AAA authorization";
}
identity AAA_AUTHORIZATION_EVENT_CONFIG {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies configuration (e.g., EXEC) events for AAA
authorization";
}
identity AAA_METHOD_TYPE {
description
"Base identity to define well-known methods for AAA
operations";
}
identity TACACS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all TACACS+ servers.";
}
identity RADIUS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all RADIUS servers.";
}
identity LOCAL {
base AAA_METHOD_TYPE;
description
"Locally configured method for AAA operations.";
}
// typedef statements
typedef crypt-password-type {
type string;
description
"A password that is hashed based on the hash algorithm
indicated by the prefix in the string. The string
takes the following form, based on the Unix crypt function:
$[$=(,=)*][$[$]]
Common hash functions include:
id | hash function
---+---------------
1 | MD5
2a| Blowfish
2y| Blowfish (correct handling of 8-bit chars)
5 | SHA-256
6 | SHA-512
These may not all be supported by a target device.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.4.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}]=SimpleContainerNode{version=Version[65898ab3], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-yang-types {
yang-version "1";
namespace "http://openconfig.net/yang/types/yang";
prefix "oc-yang";
import openconfig-extensions { prefix "oc-ext"; }
organization
"OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module contains a set of extension types to the
YANG builtin types that are used across multiple
OpenConfig models.
Portions of this code were derived from IETF RFC 6021.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.0";
revision "2021-03-02" {
description
"Fix date-and-time and date's pattern statement, and remove the
regexp-posix extension, which makes pattern statements conform to the
YANG standard.";
reference "0.3.0";
}
revision "2020-06-30" {
description
"Add OpenConfig POSIX pattern extensions.";
reference "0.2.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.2.1";
}
revision 2018-04-24 {
description
"Add date typedef";
reference "0.2.0";
}
revision 2017-07-30 {
description
"Fixed unprintable character";
reference "0.1.2";
}
revision 2017-04-03 {
description
"Update copyright notice.";
reference "0.1.1";
}
revision 2017-01-26 {
description
"Initial module for inet types";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef dotted-quad {
type string {
pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])';
oc-ext:posix-pattern '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])$';
}
description
"An unsigned 32-bit integer expressed as a dotted quad. The
format is four octets written as decimal numbers separated
with a period character.";
}
typedef hex-string {
type string {
pattern '[0-9a-fA-F]*';
oc-ext:posix-pattern '[0-9a-fA-F]*';
}
description
"A string consisting of a hexadecimal characters.";
}
typedef counter32 {
type uint32;
description
"A 32-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When the counter
reaches its maximum value, in this case 2^32-1, it wraps to 0.
Discontinuities in the counter are generally triggered only when
the counter is reset to zero.";
}
typedef counter64 {
type uint64;
description
"A 64-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When a counter64
reaches its maximum value, 2^64-1, it loops to zero.
Discontinuities in a counter are generally triggered only when
the counter is reset to zero, through operator or system
intervention.";
}
typedef date-and-time {
type string {
pattern
'[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))$';
}
description
"A date and time, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DDTHH:MM:SSZ+-hh:mm
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value. T is the literal character 'T',
HH is the hour of the day expressed as a two digit number, using
the 24-hour clock, MM is the minute of the hour expressed as a
two digit number. Z is the literal character 'Z', followed by a
timezone offset expressed in hours (hh) and minutes (mm), both
expressed as two digit numbers. The time offset is specified as
a positive or negative offset to UTC using the '+' or '-'
character preceding the offset.
Optionally, fractional seconds can be expressed after the minute
of the hour as a decimal number of unspecified precision
reflecting fractions of a second.";
reference
"RFC3339 - Date and Time on the Internet: Timestamps";
}
typedef date {
type string {
pattern '[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])$';
}
description
"A full UTC date, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DD
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value.";
reference
"RFC3339 - Date and Time on the Internet: full-date";
}
typedef gauge64 {
type uint64;
description
"A gauge value may increase or decrease - and reflects a value
at a particular point in time. If the value of the variable
being modeled using the gauge exceeds its maximum - 2^64-1 in
this case - the gauge is set to its maximum value.";
}
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
oc-ext:posix-pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A physical layer address, expressed as a series of pairs of
hexadecimal digits.";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
oc-ext:posix-pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"An IEEE 802 MAC address";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.6.0}]=SimpleContainerNode{version=Version[18b1ae60], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.6.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-types {
yang-version "1";
namespace "http://openconfig.net/yang/openconfig-types";
prefix "oc-types";
// import statements
import openconfig-extensions { prefix oc-ext; }
// meta
organization
"OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module contains a set of general type definitions that
are used across OpenConfig models. It can be imported by modules
that make use of these types.";
oc-ext:openconfig-version "0.6.0";
revision "2019-04-16" {
description
"Clarify definition of timeticks64.";
reference "0.6.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.5.1";
}
revision "2018-05-05" {
description
"Add grouping of min-max-time and
included them to all stats with min/max/avg";
reference "0.5.0";
}
revision "2018-01-16" {
description
"Add interval to min/max/avg stats; add percentage stat";
reference "0.4.0";
}
revision "2017-08-16" {
description
"Apply fix for ieetfloat32 length parameter";
reference "0.3.3";
}
revision "2017-01-13" {
description
"Add ADDRESS_FAMILY identity";
reference "0.3.2";
}
revision "2016-11-14" {
description
"Correct length of ieeefloat32";
reference "0.3.1";
}
revision "2016-11-11" {
description
"Additional types - ieeefloat32 and routing-password";
reference "0.3.0";
}
revision "2016-05-31" {
description
"OpenConfig public release";
reference "0.2.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef percentage {
type uint8 {
range "0..100";
}
description
"Integer indicating a percentage value";
}
typedef std-regexp {
type string;
description
"This type definition is a placeholder for a standard
definition of a regular expression that can be utilised in
OpenConfig models. Further discussion is required to
consider the type of regular expressions that are to be
supported. An initial proposal is POSIX compatible.";
}
typedef timeticks64 {
type uint64;
units "nanoseconds";
description
"The timeticks64 represents the time, modulo 2^64 in
nanoseconds between two epochs. The leaf using this
type must define the epochs that tests are relative to.";
}
typedef ieeefloat32 {
type binary {
length "4";
}
description
"An IEEE 32-bit floating point number. The format of this number
is of the form:
1-bit sign
8-bit exponent
23-bit fraction
The floating point value is calculated using:
(-1)**S * 2**(Exponent-127) * (1+Fraction)";
}
typedef routing-password {
type string;
description
"This type is indicative of a password that is used within
a routing protocol which can be returned in plain text to the
NMS by the local system. Such passwords are typically stored
as encrypted strings. Since the encryption used is generally
well known, it is possible to extract the original value from
the string - and hence this format is not considered secure.
Leaves specified with this type should not be modified by
the system, and should be returned to the end-user in plain
text. This type exists to differentiate passwords, which
may be sensitive, from other string leaves. It could, for
example, be used by the NMS to censor this data when
viewed by particular users.";
}
typedef stat-interval {
type uint64;
units nanoseconds;
description
"A time interval over which a set of statistics is computed.
A common usage is to report the interval over which
avg/min/max stats are computed and reported.";
}
grouping stat-interval-state {
description
"Reusable leaf definition for stats computation interval";
leaf interval {
type oc-types:stat-interval;
description
"If supported by the system, this reports the time interval
over which the min/max/average statistics are computed by
the system.";
}
}
grouping min-max-time {
description
"Common grouping for recording the absolute time at which
the minimum and maximum values occurred in the statistics";
leaf min-time {
type oc-types:timeticks64;
description
"The absolute time at which the minimum value occurred.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
leaf max-time {
type oc-types:timeticks64;
description
"The absolute time at which the maximum value occurred.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
}
grouping avg-min-max-stats-precision1 {
description
"Common nodes for recording average, minimum, and
maximum values for a statistic. These values all have
fraction-digits set to 1. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed is also reported.";
leaf avg {
type decimal64 {
fraction-digits 1;
}
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 1;
}
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 1;
}
description
"The maximum value of the statitic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision1 {
description
"Common grouping for recording an instantaneous statistic value
in addition to avg-min-max stats";
leaf instant {
type decimal64 {
fraction-digits 1;
}
description
"The instantaneous value of the statistic.";
}
uses avg-min-max-stats-precision1;
}
grouping avg-min-max-instant-stats-precision2-dB {
description
"Common grouping for recording dB values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The minimum value of the statistic over the time interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The maximum value of the statistic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision2-dBm {
description
"Common grouping for recording dBm values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The maximum value of the statistic over the time interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision2-mA {
description
"Common grouping for recording mA values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The maximum value of the statistic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-pct {
description
"Common grouping for percentage statistics.
Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type oc-types:percentage;
description
"The instantaneous percentage value.";
}
leaf avg {
type oc-types:percentage;
description
"The arithmetic mean value of the percentage measure of the
statistic over the time interval.";
}
leaf min {
type oc-types:percentage;
description
"The minimum value of the percentage measure of the
statistic over the time interval.";
}
leaf max {
type oc-types:percentage;
description
"The maximum value of the percentage measure of the
statistic over the time interval.";
}
uses stat-interval-state;
uses min-max-time;
}
identity ADDRESS_FAMILY {
description
"A base identity for all address families";
}
identity IPV4 {
base ADDRESS_FAMILY;
description
"The IPv4 address family";
}
identity IPV6 {
base ADDRESS_FAMILY;
description
"The IPv6 address family";
}
identity MPLS {
base ADDRESS_FAMILY;
description
"The MPLS address family";
}
identity L2_ETHERNET {
base ADDRESS_FAMILY;
description
"The 802.3 Ethernet address family";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.6.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}]=SimpleContainerNode{version=Version[7ca650c5], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-interfaces {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/interfaces";
prefix "oc-if";
// import some basic types
import ietf-interfaces { prefix ietf-if; }
import openconfig-yang-types { prefix oc-yang; }
import openconfig-types { prefix oc-types; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"Model for managing network interfaces and subinterfaces. This
module also defines convenience types / groupings for other
models to create references to interfaces:
base-interface-ref (type) - reference to a base interface
interface-ref (grouping) - container for reference to a
interface + subinterface
interface-ref-state (grouping) - container for read-only
(opstate) reference to interface + subinterface
This model reuses data items defined in the IETF YANG model for
interfaces described by RFC 7223 with an alternate structure
(particularly for operational state data) and with
additional configuration items.
Portions of this code were derived from IETF RFC 7223.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "2.5.0";
revision "2021-04-06" {
description
"Add leaves for management and cpu interfaces";
reference "2.5.0";
}
revision "2019-11-19" {
description
"Update description of interface name.";
reference "2.4.3";
}
revision "2019-07-10" {
description
"Remove redundant nanosecond units statements to reflect
universal definition of timeticks64 type.";
reference "2.4.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "2.4.1";
}
revision "2018-08-07" {
description
"Add leaf to indicate whether an interface is physical or
logical.";
reference "2.4.0";
}
revision "2018-07-02" {
description
"Add in-pkts and out-pkts in counters";
reference "2.3.2";
}
revision "2018-04-24" {
description
"Clarified behavior of last-change state leaf";
reference "2.3.1";
}
revision "2018-01-05" {
description
"Add logical loopback to interface.";
reference "2.3.0";
}
revision "2017-12-22" {
description
"Add IPv4 proxy ARP configuration.";
reference "2.2.0";
}
revision "2017-12-21" {
description
"Added IPv6 router advertisement configuration.";
reference "2.1.0";
}
revision "2017-07-14" {
description
"Added Ethernet/IP state data; Add dhcp-client;
migrate to OpenConfig types modules; Removed or
renamed opstate values";
reference "2.0.0";
}
revision "2017-04-03" {
description
"Update copyright notice.";
reference "1.1.1";
}
revision "2016-12-22" {
description
"Fixes to Ethernet interfaces model";
reference "1.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// typedef statements
typedef base-interface-ref {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reusable type for by-name reference to a base interface.
This type may be used in cases where ability to reference
a subinterface is not required.";
}
typedef interface-id {
type string;
description
"User-defined identifier for an interface, generally used to
name a interface reference. The id can be arbitrary but a
useful convention is to use a combination of base interface
name and subinterface index.";
}
// grouping statements
grouping interface-ref-common {
description
"Reference leafrefs to interface / subinterface";
leaf interface {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reference to a base interface. If a reference to a
subinterface is required, this leaf must be specified
to indicate the base interface.";
}
leaf subinterface {
type leafref {
path "/oc-if:interfaces/" +
"oc-if:interface[oc-if:name=current()/../interface]/" +
"oc-if:subinterfaces/oc-if:subinterface/oc-if:index";
}
description
"Reference to a subinterface -- this requires the base
interface to be specified using the interface leaf in
this container. If only a reference to a base interface
is requuired, this leaf should not be set.";
}
}
grouping interface-ref-state-container {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container state {
config false;
description
"Operational state for interface-ref";
uses interface-ref-common;
}
}
grouping interface-ref {
description
"Reusable definition for a reference to an interface or
subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
container config {
description
"Configured reference to interface / subinterface";
oc-ext:telemetry-on-change;
uses interface-ref-common;
}
uses interface-ref-state-container;
}
}
grouping interface-ref-state {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
uses interface-ref-state-container;
}
}
grouping base-interface-ref-state {
description
"Reusable opstate w/container for a reference to a
base interface (no subinterface).";
container state {
config false;
description
"Operational state for base interface reference";
leaf interface {
type base-interface-ref;
description
"Reference to a base interface.";
}
}
}
grouping interface-common-config {
description
"Configuration data data nodes common to physical interfaces
and subinterfaces";
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
datastore.
Specifically, if the device supports ':startup', when
ifAlias is read the device MUST return the value of
'description' in the 'startup' datastore, and when it is
written, it MUST be written to the 'running' and 'startup'
datastores. Note that it is up to the implementation to
decide whether to modify this single leaf in 'startup' or
perform an implicit copy-config from 'running' to
'startup'.
If the device does not support ':startup', ifAlias MUST
be mapped to the 'description' leaf in the 'running'
datastore.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the 'running' datastore to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the 'running' datastore are
reflected in ifAdminStatus, but if ifAdminStatus is
changed over SNMP, this leaf is not affected.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
}
grouping interface-phys-config {
description
"Configuration data for physical interfaces";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface. The 'config false'
list interfaces/interface[name]/state contains the currently
existing interfaces on the device.
If a client tries to create configuration for a
system-controlled interface that is not present in the
corresponding state list, the server MAY reject
the request if the implementation does not support
pre-provisioning of interfaces or if the name refers to
an interface that can never exist in the system. A
NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.
The IETF model in RFC 7223 provides YANG features for the
following (i.e., pre-provisioning and arbitrary-names),
however they are omitted here:
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
/interfaces/interface[name]/state list.";
}
leaf type {
type identityref {
base ietf-if:interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf mtu {
type uint16;
description
"Set the max transmission unit size in octets
for the physical interface. If this is not set, the mtu is
set to the operational default -- e.g., 1514 bytes on an
Ethernet interface.";
}
leaf loopback-mode {
type boolean;
default false;
description
"When set to true, the interface is logically looped back,
such that packets that are forwarded via the interface
are received on the same interface.";
}
uses interface-common-config;
}
grouping interface-phys-holdtime-config {
description
"Configuration data for interface hold-time settings --
applies to physical interfaces.";
leaf up {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface
transitions from down to up. A zero value means dampening
is turned off, i.e., immediate notification.";
}
leaf down {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface transitions from
up to down. A zero value means dampening is turned off,
i.e., immediate notification.";
}
}
grouping interface-phys-holdtime-state {
description
"Operational state data for interface hold-time.";
}
grouping interface-phys-holdtime-top {
description
"Top-level grouping for setting link transition
dampening on physical and other types of interfaces.";
container hold-time {
description
"Top-level container for hold-time settings to enable
dampening advertisements of interface transitions.";
container config {
description
"Configuration data for interface hold-time settings.";
oc-ext:telemetry-on-change;
uses interface-phys-holdtime-config;
}
container state {
config false;
description
"Operational state data for interface hold-time.";
uses interface-phys-holdtime-config;
uses interface-phys-holdtime-state;
}
}
}
grouping interface-common-state {
description
"Operational state data (in addition to intended configuration)
at the global level for this interface";
oc-ext:operational;
leaf ifindex {
type uint32;
description
"System assigned number for each interface. Corresponds to
ifIndex object in SNMP Interface MIB";
reference
"RFC 2863 - The Interfaces Group MIB";
oc-ext:telemetry-on-change;
}
leaf admin-status {
type enumeration {
enum UP {
description
"Ready to pass packets.";
}
enum DOWN {
description
"Not ready to pass packets and not in some test mode.";
}
enum TESTING {
//TODO: This is generally not supported as a configured
//admin state, though it's in the standard interfaces MIB.
//Consider removing it.
description
"In some test mode.";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The desired state of the interface. In RFC 7223 this leaf
has the same read semantics as ifAdminStatus. Here, it
reflects the administrative state as set by enabling or
disabling the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
oc-ext:telemetry-on-change;
}
leaf oper-status {
type enumeration {
enum UP {
value 1;
description
"Ready to pass packets.";
}
enum DOWN {
value 2;
description
"The interface does not pass any packets.";
}
enum TESTING {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum UNKNOWN {
value 4;
description
"Status cannot be determined for some reason.";
}
enum DORMANT {
value 5;
description
"Waiting for some external event.";
}
enum NOT_PRESENT {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum LOWER_LAYER_DOWN {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
oc-ext:telemetry-on-change;
}
leaf last-change {
type oc-types:timeticks64;
description
"This timestamp indicates the absolute time of the last
state change of the interface (e.g., up-to-down transition).
This is different than the SNMP ifLastChange object in the
standard interface MIB in that it is not relative to the
system boot time (i.e,. sysUpTime).
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
leaf logical {
type boolean;
description
"When set to true, the interface is a logical interface
which does not have an associated physical port or
channel on the system.";
oc-ext:telemetry-on-change;
}
leaf management {
type boolean;
description
"When set to true, the interface is a dedicated
management interface that is not connected to dataplane
interfaces. It may be used to connect the system to an
out-of-band management network, for example.";
oc-ext:telemetry-on-change;
}
leaf cpu {
type boolean;
description
"When set to true, the interface is for traffic
that is handled by the system CPU, sometimes also called the
control plane interface. On systems that represent the CPU
interface as an Ethernet interface, for example, this leaf
should be used to distinguish the CPU interface from dataplane
interfaces.";
oc-ext:telemetry-on-change;
}
}
grouping interface-counters-state {
description
"Operational state representing interface counters
and statistics.";
//TODO: we may need to break this list of counters into those
//that would appear for physical vs. subinterface or logical
//interfaces. For now, just replicating the full stats
//grouping to both interface and subinterface.
oc-ext:operational;
container counters {
description
"A collection of interface-related statistics objects.";
leaf in-octets {
type oc-yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-pkts {
type oc-yang:counter64;
description
"The total number of packets received on the interface,
including all unicast, multicast, broadcast and bad packets
etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf in-unicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type oc-yang:counter64;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf in-fcs-errors {
type oc-yang:counter64;
description
"Number of received packets which had errors in the
frame check sequence (FCS), i.e., framing errors.
Discontinuities in the value of this counter can occur
when the device is re-initialization as indicated by the
value of 'last-clear'.";
}
leaf out-octets {
type oc-yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-pkts {
type oc-yang:counter64;
description
"The total number of packets transmitted out of the
interface, including all unicast, multicast, broadcast,
and bad packets etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf out-unicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type oc-yang:counter64;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
leaf carrier-transitions {
type oc-yang:counter64;
description
"Number of times the interface state has transitioned
between up and down since the time the device restarted
or the last-clear time, whichever is most recent.";
oc-ext:telemetry-on-change;
}
leaf last-clear {
type oc-types:timeticks64;
description
"Timestamp of the last time the interface counters were
cleared.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
}
}
// data definition statements
grouping sub-unnumbered-config {
description
"Configuration data for unnumbered subinterfaces";
leaf enabled {
type boolean;
default false;
description
"Indicates that the subinterface is unnumbered. By default
the subinterface is numbered, i.e., expected to have an
IP address configuration.";
}
}
grouping sub-unnumbered-state {
description
"Operational state data unnumbered subinterfaces";
}
grouping sub-unnumbered-top {
description
"Top-level grouping unnumbered subinterfaces";
container unnumbered {
description
"Top-level container for setting unnumbered interfaces.
Includes reference the interface that provides the
address information";
container config {
description
"Configuration data for unnumbered interface";
oc-ext:telemetry-on-change;
uses sub-unnumbered-config;
}
container state {
config false;
description
"Operational state data for unnumbered interfaces";
uses sub-unnumbered-config;
uses sub-unnumbered-state;
}
uses oc-if:interface-ref;
}
}
grouping subinterfaces-config {
description
"Configuration data for subinterfaces";
leaf index {
type uint32;
default 0;
description
"The index of the subinterface, or logical interface number.
On systems with no support for subinterfaces, or not using
subinterfaces, this value should default to 0, i.e., the
default subinterface.";
}
uses interface-common-config;
}
grouping subinterfaces-state {
description
"Operational state data for subinterfaces";
oc-ext:operational;
leaf name {
type string;
description
"The system-assigned name for the sub-interface. This MAY
be a combination of the base interface name and the
subinterface index, or some other convention used by the
system.";
oc-ext:telemetry-on-change;
}
uses interface-common-state;
uses interface-counters-state;
}
grouping subinterfaces-top {
description
"Subinterface data for logical interfaces associated with a
given interface";
container subinterfaces {
description
"Enclosing container for the list of subinterfaces associated
with a physical interface";
list subinterface {
key "index";
description
"The list of subinterfaces (logical interfaces) associated
with a physical interface";
leaf index {
type leafref {
path "../config/index";
}
description
"The index number of the subinterface -- used to address
the logical interface";
}
container config {
description
"Configurable items at the subinterface level";
oc-ext:telemetry-on-change;
uses subinterfaces-config;
}
container state {
config false;
description
"Operational state data for logical interfaces";
uses subinterfaces-config;
uses subinterfaces-state;
}
}
}
}
grouping interfaces-top {
description
"Top-level grouping for interface configuration and
operational state data";
container interfaces {
description
"Top level container for interfaces, including configuration
and state data.";
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type leafref {
path "../config/name";
}
description
"References the name of the interface";
//TODO: need to consider whether this should actually
//reference the name in the state subtree, which
//presumably would be the system-assigned name, or the
//configured name. Points to the config/name now
//because of YANG 1.0 limitation that the list
//key must have the same "config" as the list, and
//also can't point to a non-config node.
}
container config {
description
"Configurable items at the global, physical interface
level";
oc-ext:telemetry-on-change;
uses interface-phys-config;
}
container state {
config false;
description
"Operational state data at the global interface level";
uses interface-phys-config;
uses interface-common-state;
uses interface-counters-state;
}
uses interface-phys-holdtime-top;
uses subinterfaces-top;
}
}
}
uses interfaces-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2.5.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}} to MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[5d5f5244], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[5d5f5244], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[5d5f5244], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}]=SimpleContainerNode{version=Version[5b94d35d], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-messages {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/messages";
prefix "oc-messages";
// import some basic types
import openconfig-extensions { prefix "oc-ext"; }
import openconfig-system-logging { prefix "oc-log"; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to Syslog messages that a device may generate.
These messages are historically obtained through the Syslog
transport, however this module allows for obtaining them through
an alternative transport, such as a Subscribe operation over an
RPC.
This module does not usurp traditional syslog servers, which may
still be configured through the
/yang/system/openconfig-system.yang model, rather it provies the
Operator with an alternative method of consuming messages.";
oc-ext:openconfig-version "0.0.1";
revision "2018-08-13" {
description
"Initial draft.";
reference "0.0.1";
}
// identity statements
identity DEBUG_SERVICE {
description
"Base identity for debug services. Identities within this base
identity are to be augmented in by vendors.";
}
// grouping statements
grouping messages-config {
description
"Configuration data for defining Syslog message severity.";
leaf severity {
type oc-log:syslog-severity;
description
"Specifies that only messages of the given severity (or
greater severity) are sent over the RPC.
This is analogous to differentiating which severity is to be
sent to legacy Syslog servers, as opposed to local buffer or
files.";
}
}
grouping messages-state {
description
"Operational state data for Syslog messages.";
container message {
oc-ext:telemetry-atomic;
config false;
description
"Syslog messages the client is Subscribing to. This is all
messages currently configured to be sent according to
syslog-severity.";
reference
"IETF RFC 5424 - The Syslog Protocol";
// Decide if it is OK to include ALL in this leaf.
leaf msg {
type string;
description
"Message payload. If other leafs within this container not
supported, this leaf MAY include the entire message,
inclding pri, procid, app-name etc..";
}
leaf priority {
type uint8;
description
"The Priority value (PRIVAL) represents both the
Facility and Severity.";
reference
"IETF RFC 5424, Section 6.2.1";
}
leaf app-name {
type string;
description
"The APP-NAME field SHOULD identify the device or
application that originated the message.";
reference
"IETF RFC 5424, Section 6.2.5.";
}
leaf procid {
type string;
description
"PROCID is a value that is included in the message, having
no interoperable meaning, except that a change in the value
indicates there has been a discontinuity in syslog
reporting.";
reference
"IETF RFC 5424, Section 6.2.6.";
}
leaf msgid {
type string;
description
"The MSGID SHOULD identify the type of message. For
example, a firewall might use the MSGID 'TCPIN' for
incoming TCP traffic and the MSGID 'TCPOUT' for outgoing
TCP traffic.";
reference
"IETF RFC 5424, Section 6.2.7.";
}
}
}
grouping debug-messages-config {
description
"Configuration data for enabling debug messages.";
leaf service {
type identityref {
base DEBUG_SERVICE;
}
description
"Enumeration of all services which can have debugging enabled.
Vendors are to augment this base identity with their platform
or OS specific debug options.";
}
leaf enabled {
type boolean;
default false;
description
"Enable and disable debugging.";
}
}
grouping debug-messages-top {
description
"Configuration data for enabling Syslog debug messages.";
container debug-entries {
description
"Enclosing container for list of debugs to enable.";
list debug-service {
key "service";
description
"List of debugging entries.";
leaf service {
type leafref {
path "../config/service";
}
description
"Reference to the debug-enable service key.";
}
container config {
description
"Configuration data for debug service entries.";
uses debug-messages-config;
}
container state {
config false;
description
"Operational state data for enabled debugs.";
uses debug-messages-config;
}
}
}
}
grouping messages-top {
description
"Top-level grouping for Syslog messages.";
container messages {
description
"Top-level container for Syslog messages.";
container config {
description
"Configuration data for Syslog messages.";
uses messages-config;
}
container state {
config false;
description
"Operational state data for a Syslog messages.";
uses messages-config;
uses messages-state;
}
uses debug-messages-top;
}
}
uses messages-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-messages}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.0.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}]=SimpleContainerNode{version=Version[1228d8d9], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-aaa-types {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/aaa/types";
prefix "oc-aaa-types";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines shared types for data related to AAA
(authentication, authorization, accounting).";
oc-ext:openconfig-version "0.4.1";
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2018-04-12" {
description
"Add when conditions, correct identities";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
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 AAA_SERVER_TYPE {
description
"Base identity for types of AAA servers";
}
identity SYSTEM_DEFINED_ROLES {
description
"Base identity for system_defined roles that can be assigned
to users.";
}
identity SYSTEM_ROLE_ADMIN {
base SYSTEM_DEFINED_ROLES;
description
"Built-in role that allows the equivalent of superuser
permission for all configuration and operational commands
on the device.";
}
identity AAA_ACCOUNTING_EVENT_TYPE {
description
"Base identity for specifying events types that should be
sent to AAA server for accounting";
}
identity AAA_ACCOUNTING_EVENT_COMMAND {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies interactive command events for AAA accounting";
}
identity AAA_ACCOUNTING_EVENT_LOGIN {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies login events for AAA accounting";
}
identity AAA_AUTHORIZATION_EVENT_TYPE {
description
"Base identity for specifying activities that should be
sent to AAA server for authorization";
}
identity AAA_AUTHORIZATION_EVENT_COMMAND {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies interactive command events for AAA authorization";
}
identity AAA_AUTHORIZATION_EVENT_CONFIG {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies configuration (e.g., EXEC) events for AAA
authorization";
}
identity AAA_METHOD_TYPE {
description
"Base identity to define well-known methods for AAA
operations";
}
identity TACACS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all TACACS+ servers.";
}
identity RADIUS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all RADIUS servers.";
}
identity LOCAL {
base AAA_METHOD_TYPE;
description
"Locally configured method for AAA operations.";
}
// typedef statements
typedef crypt-password-type {
type string;
description
"A password that is hashed based on the hash algorithm
indicated by the prefix in the string. The string
takes the following form, based on the Unix crypt function:
$[$=(,=)*][$[$]]
Common hash functions include:
id | hash function
---+---------------
1 | MD5
2a| Blowfish
2y| Blowfish (correct handling of 8-bit chars)
5 | SHA-256
6 | SHA-512
These may not all be supported by a target device.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.4.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}]=SimpleContainerNode{version=Version[65898ab3], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-yang-types {
yang-version "1";
namespace "http://openconfig.net/yang/types/yang";
prefix "oc-yang";
import openconfig-extensions { prefix "oc-ext"; }
organization
"OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module contains a set of extension types to the
YANG builtin types that are used across multiple
OpenConfig models.
Portions of this code were derived from IETF RFC 6021.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.0";
revision "2021-03-02" {
description
"Fix date-and-time and date's pattern statement, and remove the
regexp-posix extension, which makes pattern statements conform to the
YANG standard.";
reference "0.3.0";
}
revision "2020-06-30" {
description
"Add OpenConfig POSIX pattern extensions.";
reference "0.2.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.2.1";
}
revision 2018-04-24 {
description
"Add date typedef";
reference "0.2.0";
}
revision 2017-07-30 {
description
"Fixed unprintable character";
reference "0.1.2";
}
revision 2017-04-03 {
description
"Update copyright notice.";
reference "0.1.1";
}
revision 2017-01-26 {
description
"Initial module for inet types";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef dotted-quad {
type string {
pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])';
oc-ext:posix-pattern '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])$';
}
description
"An unsigned 32-bit integer expressed as a dotted quad. The
format is four octets written as decimal numbers separated
with a period character.";
}
typedef hex-string {
type string {
pattern '[0-9a-fA-F]*';
oc-ext:posix-pattern '[0-9a-fA-F]*';
}
description
"A string consisting of a hexadecimal characters.";
}
typedef counter32 {
type uint32;
description
"A 32-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When the counter
reaches its maximum value, in this case 2^32-1, it wraps to 0.
Discontinuities in the counter are generally triggered only when
the counter is reset to zero.";
}
typedef counter64 {
type uint64;
description
"A 64-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When a counter64
reaches its maximum value, 2^64-1, it loops to zero.
Discontinuities in a counter are generally triggered only when
the counter is reset to zero, through operator or system
intervention.";
}
typedef date-and-time {
type string {
pattern
'[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))$';
}
description
"A date and time, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DDTHH:MM:SSZ+-hh:mm
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value. T is the literal character 'T',
HH is the hour of the day expressed as a two digit number, using
the 24-hour clock, MM is the minute of the hour expressed as a
two digit number. Z is the literal character 'Z', followed by a
timezone offset expressed in hours (hh) and minutes (mm), both
expressed as two digit numbers. The time offset is specified as
a positive or negative offset to UTC using the '+' or '-'
character preceding the offset.
Optionally, fractional seconds can be expressed after the minute
of the hour as a decimal number of unspecified precision
reflecting fractions of a second.";
reference
"RFC3339 - Date and Time on the Internet: Timestamps";
}
typedef date {
type string {
pattern '[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])$';
}
description
"A full UTC date, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DD
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value.";
reference
"RFC3339 - Date and Time on the Internet: full-date";
}
typedef gauge64 {
type uint64;
description
"A gauge value may increase or decrease - and reflects a value
at a particular point in time. If the value of the variable
being modeled using the gauge exceeds its maximum - 2^64-1 in
this case - the gauge is set to its maximum value.";
}
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
oc-ext:posix-pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A physical layer address, expressed as a series of pairs of
hexadecimal digits.";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
oc-ext:posix-pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"An IEEE 802 MAC address";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-system, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.10.0}]=SimpleContainerNode{version=Version[5d5f5244], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-system, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.10.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-system {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/system";
prefix "oc-sys";
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-yang-types { prefix oc-yang; }
import openconfig-types { prefix oc-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa { prefix oc-aaa; }
import openconfig-system-logging { prefix oc-log; }
import openconfig-system-terminal { prefix oc-sys-term; }
import openconfig-procmon { prefix oc-proc; }
import openconfig-alarms { prefix oc-alarms; }
import openconfig-messages { prefix oc-messages; }
import openconfig-license { prefix oc-license; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"Model for managing system-wide services and functions on
network devices.
Portions of this code were derived from IETF RFC 7317.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.10.0";
revision "2020-04-13" {
description
"Remove the existing grpc-service, and add a new list
of the gRPC servers in a new module.";
reference "0.10.0";
}
revision "2020-03-25" {
description
"Fix typo in description statement for ipv4-address
list.";
reference "0.9.1";
}
revision "2020-01-07" {
description
"Add import of license management model.";
reference "0.9.0";
}
revision "2019-03-15" {
description
"Update boot time to be nanoseconds since epoch.";
reference "0.8.0";
}
revision "2019-01-29" {
description
"Add messages module to the system model";
reference "0.7.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.6.1";
}
revision "2018-07-17" {
description
"Add gRPC server data";
reference "0.6.0";
}
revision "2018-01-21" {
description
"Add cpu utilization data";
reference "0.5.0";
}
revision "2017-12-15" {
description
"Add alarms to the system model";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// extension statements
// feature statements
// identity statements
identity NTP_AUTH_TYPE {
description
"Base identity for encryption schemes supported for NTP
authentication keys";
}
identity NTP_AUTH_MD5 {
base NTP_AUTH_TYPE;
description
"MD5 encryption method";
}
// typedef statements
typedef timezone-name-type {
type string;
description
"A time zone name as used by the Time Zone Database,
sometimes referred to as the 'Olson Database'.
The exact set of valid values is an implementation-specific
matter. Client discovery of the exact set of time zone names
for a particular server is out of scope.";
reference
"BCP 175: Procedures for Maintaining the Time Zone Database";
}
// grouping statements
grouping system-clock-config {
description
"Configuration data for system-wide clock configuration";
leaf timezone-name {
type timezone-name-type;
description
"The TZ database name to use for the system, such
as 'Europe/Stockholm'.";
reference "IANA Time Zone Database
http://www.iana.org/time-zones";
}
}
grouping system-clock-state {
description
"Operational state data for system-wide clock configuration";
}
grouping system-clock-top {
description
"Top-level grouping for system-wide clock configuration";
container clock {
description
"Top-level container for clock configuration data";
container config {
description
"Configuration data for system clock";
uses system-clock-config;
}
container state {
config false;
description
"Operational state data for system clock";
uses system-clock-config;
uses system-clock-state;
}
}
}
grouping system-global-config {
description "system-wide configuration parameters";
leaf hostname {
type oc-inet:domain-name;
description
"The hostname of the device -- should be a single domain
label, without the domain.";
}
leaf domain-name {
type oc-inet:domain-name;
description
"Specifies the domain name used to form fully qualified name
for unqualified hostnames.";
}
leaf login-banner {
type string;
description
"The console login message displayed before the login prompt,
i.e., before a user logs into the system.";
}
leaf motd-banner {
type string;
description
"The console message displayed after a user logs into the
system. They system may append additional standard
information such as the current system date and time, uptime,
last login timestamp, etc.";
}
}
grouping system-global-state {
description
"Global operational state data for the system";
leaf current-datetime {
type oc-yang:date-and-time;
description
"The current system date and time.";
}
leaf boot-time {
type oc-types:timeticks64;
units "nanoseconds";
description
"This timestamp indicates the time that the system was last
restarted. The value is the timestamp in nanoseconds relative
to the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
}
grouping system-dns-config {
description "DNS / resolver related configuration data";
leaf-list search {
type oc-inet:domain-name;
ordered-by user;
description
"An ordered list of domains to search when resolving
a host name.";
}
}
grouping system-dns-state {
description
"Operational state data for system DNS resolver";
}
grouping system-dns-servers-config {
description
"Configuration data for DNS resolvers";
//RFC 7317 includes a single-value choice statement to for
//TCP and UDP transport. This has been removed since it the
//transport protocol is not generally available as an options
//on target devices. It may be added back if and when needed.
leaf address {
type oc-inet:ip-address;
description
"The address of the DNS server, can be either IPv4
or IPv6.";
}
leaf port {
type oc-inet:port-number;
default 53;
description
"The port number of the DNS server.";
}
//RFC 7317 includes resolver timeout and attempts options. These
//have been omitted as they are not available on many targets. If
//and when they are required, they may be added back in.
}
grouping system-dns-static-config {
description
"Configuration data for static host entries";
leaf hostname {
type string;
description
"Hostname for the static DNS entry";
}
leaf-list alias {
type string;
description
"Additional aliases for the hostname";
}
leaf-list ipv4-address {
type oc-inet:ipv4-address;
description
"List of IPv4 addresses for the host entry";
}
leaf-list ipv6-address {
type oc-inet:ipv6-address;
description
"List of IPv6 addresses for the host entry";
}
}
grouping system-dns-static-state {
description
"Operational state data for static host entries";
}
grouping system-dns-static-top {
description
"Top-level grouping for static DNS host entries";
container host-entries {
description
"Enclosing container for list of static host entries";
list host-entry {
key "hostname";
description
"List of static host entries";
leaf hostname {
type leafref {
path "../config/hostname";
}
description
"Reference to the hostname list key";
}
container config {
description
"Configuration data for static host entries";
uses system-dns-static-config;
}
container state {
config false;
description
"Operational state data for static host entries";
uses system-dns-static-config;
uses system-dns-static-state;
}
}
}
}
grouping system-dns-servers-state {
description
"Operational state data for DNS resolvers";
}
grouping system-dns-servers-top {
description
"Top-level grouping for the list of DNS resolvers.";
container servers {
description
"Enclosing container for DNS resolver list";
list server {
key "address";
ordered-by user;
description
"List of the DNS servers that the resolver should query.
When the resolver is invoked by a calling application, it
sends the query to the first name server in this list. If
no response has been received within 'timeout' seconds,
the resolver continues with the next server in the list.
If no response is received from any server, the resolver
continues with the first server again. When the resolver
has traversed the list 'attempts' times without receiving
any response, it gives up and returns an error to the
calling application.
Implementations MAY limit the number of entries in this
list.";
leaf address {
type leafref {
path "../config/address";
}
description
"References the configured address of the DNS server";
}
container config {
description
"Configuration data for each DNS resolver";
uses system-dns-servers-config;
}
container state {
config false;
description
"Operational state data for each DNS resolver";
uses system-dns-servers-config;
uses system-dns-servers-state;
}
}
}
}
grouping system-dns-top {
description
"Top-level grouping for DNS / resolver config and operational
state data";
container dns {
description
"Enclosing container for DNS resolver data";
container config {
description
"Configuration data for the DNS resolver";
uses system-dns-config;
}
container state {
config false;
description
"Operational state data for the DNS resolver";
uses system-dns-config;
uses system-dns-state;
}
uses system-dns-servers-top;
uses system-dns-static-top;
}
}
grouping system-ntp-server-config {
description
"Configuration data for NTP servers";
leaf address {
type oc-inet:host;
description
"The address or hostname of the NTP server.";
}
leaf port {
type oc-inet:port-number;
default 123;
description
"The port number of the NTP server.";
}
leaf version {
type uint8 {
range 1..4;
}
default 4;
description
"Version number to put in outgoing NTP packets";
}
leaf association-type {
type enumeration {
enum SERVER {
description
"Use client association mode. This device
will not provide synchronization to the
configured NTP server.";
}
enum PEER {
description
"Use symmetric active association mode.
This device may provide synchronization
to the configured NTP server.";
}
enum POOL {
description
"Use client association mode with one or
more of the NTP servers found by DNS
resolution of the domain name given by
the 'address' leaf. This device will not
provide synchronization to the servers.";
}
}
default SERVER;
description
"The desired association type for this NTP server.";
}
leaf iburst {
type boolean;
default false;
description
"Indicates whether this server should enable burst
synchronization or not.";
}
leaf prefer {
type boolean;
default false;
description
"Indicates whether this server should be preferred
or not.";
}
}
grouping system-ntp-server-state {
description
"Operational state data for NTP servers";
leaf stratum {
type uint8;
description
"Indicates the level of the server in the NTP hierarchy. As
stratum number increases, the accuracy is degraded. Primary
servers are stratum while a maximum value of 16 indicates
unsynchronized. The values have the following specific
semantics:
| 0 | unspecified or invalid
| 1 | primary server (e.g., equipped with a GPS receiver)
| 2-15 | secondary server (via NTP)
| 16 | unsynchronized
| 17-255 | reserved";
reference
"RFC 5905 - Network Time Protocol Version 4: Protocol and
Algorithms Specification";
}
leaf root-delay {
type uint32;
// TODO: reconsider units for these values -- the spec defines
// rootdelay and rootdisperson as 2 16-bit integers for seconds
// and fractional seconds, respectively. This gives a
// precision of ~15 us (2^-16). Using milliseconds here based
// on what implementations typically provide and likely lack
// of utility for less than millisecond precision with NTP
// time sync.
units "milliseconds";
description
"The round-trip delay to the server, in milliseconds.";
reference
"RFC 5905 - Network Time Protocol Version 4: Protocol and
Algorithms Specification";
}
leaf root-dispersion {
type uint64;
units "milliseconds";
description
"Dispersion (epsilon) represents the maximum error inherent
in the measurement";
reference
"RFC 5905 - Network Time Protocol Version 4: Protocol and
Algorithms Specification";
}
leaf offset {
type uint64;
units "milliseconds";
description
"Estimate of the current time offset from the peer. This is
the time difference between the local and reference clock.";
}
leaf poll-interval {
type uint32;
units "seconds";
description
"Polling interval of the peer";
}
}
grouping system-ntp-server-top {
description
"Top-level grouping for the list of NTP servers";
container servers {
description
"Enclosing container for the list of NTP servers";
list server {
key "address";
description
"List of NTP servers to use for system clock
synchronization. If '/system/ntp/enabled'
is 'true', then the system will attempt to
contact and utilize the specified NTP servers.";
leaf address {
type leafref {
path "../config/address";
}
description
"References the configured address or hostname of the
NTP server.";
}
container config {
description
"Configuration data for an NTP server.";
uses system-ntp-server-config;
}
container state {
config false;
description
"Operational state data for an NTP server.";
uses system-ntp-server-config;
uses system-ntp-server-state;
}
}
}
}
grouping system-ntp-auth-keys-config {
description
"Configuration data ";
leaf key-id {
type uint16;
description
"Integer identifier used by the client and server to
designate a secret key. The client and server must use
the same key id.";
}
leaf key-type {
type identityref {
base NTP_AUTH_TYPE;
}
description
"Encryption type used for the NTP authentication key";
}
leaf key-value {
type string;
description
"NTP authentication key value";
}
}
grouping system-ntp-auth-keys-state {
description
"Operational state data for NTP auth key data";
}
grouping system-ntp-auth-keys-top {
description
"Top-level grouping for NTP auth key data";
container ntp-keys {
description
"Enclosing container for list of NTP authentication keys";
list ntp-key {
key "key-id";
description
"List of NTP authentication keys";
leaf key-id {
type leafref {
path "../config/key-id";
}
description
"Reference to auth key-id list key";
}
container config {
description
"Configuration data for NTP auth keys";
uses system-ntp-auth-keys-config;
}
container state {
config false;
description
"Operational state data for NTP auth keys";
uses system-ntp-auth-keys-config;
uses system-ntp-auth-keys-state;
}
}
}
}
grouping system-ntp-config {
description
"Configuration data for system-wide NTP operation.";
leaf enabled {
type boolean;
default false;
description
"Enables the NTP protocol and indicates that the system should
attempt to synchronize the system clock with an NTP server
from the servers defined in the 'ntp/server' list.";
}
leaf ntp-source-address {
type oc-inet:ip-address;
description
"Source address to use on outgoing NTP packets";
}
leaf enable-ntp-auth {
type boolean;
default false;
description
"Enable or disable NTP authentication -- when enabled, the
system will only use packets containing a trusted
authentication key to synchronize the time.";
}
}
grouping system-ntp-state {
description
"Operational state data for system-wide NTP operation.";
leaf auth-mismatch {
type oc-yang:counter64;
description
"Count of the number of NTP packets received that were not
processed due to authentication mismatch.";
}
}
grouping system-ntp-top {
description
"Top-level grouping for configuration and state data for NTP";
container ntp {
description
"Top-level container for NTP configuration and state";
container config {
description
"Configuration data for NTP client.";
uses system-ntp-config;
}
container state {
config false;
description
"Operational state data for NTP services.";
uses system-ntp-config;
uses system-ntp-state;
}
uses system-ntp-auth-keys-top;
uses system-ntp-server-top;
}
}
grouping system-memory-config {
description
"Configuration data for system memory";
}
grouping system-memory-state {
description
"Operational state data for system memory";
leaf physical {
type uint64;
units bytes;
// TODO: consider making units in megabytes
description
"Reports the total physical memory available on the
system.";
}
leaf reserved {
type uint64;
units bytes;
description
"Memory reserved for system use";
}
}
grouping system-memory-top {
description
"Top-level grouping for system memory data definitions";
container memory {
description
"Top-level container for system memory data";
container config {
description
"Configuration data for system memory";
uses system-memory-config;
}
container state {
config false;
description
"Operational state data for system memory";
uses system-memory-config;
uses system-memory-state;
}
}
}
grouping system-cpu-state {
description
"Operational state data for the system CPU(s)";
leaf index {
type union {
type enumeration {
enum ALL {
description
"Index value indicating all CPUs in the system";
}
}
type uint32;
}
description
"The CPU index for each processor core on the system. On a
single-core system, the index should be zero. The ALL
index signifies an aggregation of the CPU utilization
statistics over all cores in the system.";
}
container total {
description
"Total CPU utilization.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container user {
description
"Percentage of CPU time spent running in user space.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container kernel {
description
"Percentage of CPU time spent running in kernel space.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container nice {
description
"Percentage of CPU time spent running low-priority (niced)
user processes.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container idle {
description
"Percentage of CPU time spent idle.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container wait {
description
"Percentage of CPU time spent waiting for I/O.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container hardware-interrupt {
description
"Percentage of CPU time spent servicing hardware interrupts.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container software-interrupt {
description
"Percentage of CPU time spent servicing software interrupts";
uses oc-types:avg-min-max-instant-stats-pct;
}
}
grouping system-cpu-top {
description
"Top-level grouping for system CPU data";
container cpus {
config false;
description
"Enclosing container for the list of CPU cores on the
system";
list cpu {
key "index";
description
"List of CPU cores on the system (including logical CPUs
on hyperthreaded systems), keyed by either a numerical
index, or the ALL value for an entry representing the
aggregation across all CPUs.";
leaf index {
type leafref {
path "../state/index";
}
description
"Reference to list key";
}
container state {
description
"Operational state data for the system CPU(s)";
uses system-cpu-state;
}
}
}
}
grouping system-top {
description
"Top level system data containers";
container system {
description
"Enclosing container for system-related configuration and
operational state data";
container config {
description "Global configuration data for the system";
uses system-global-config;
}
container state {
config false;
description "Global operational state data for the system";
uses system-global-config;
uses system-global-state;
}
uses system-clock-top;
uses system-dns-top;
uses system-ntp-top;
uses oc-sys-term:system-ssh-server-top;
uses oc-sys-term:system-telnet-server-top;
uses oc-log:logging-top;
uses oc-aaa:aaa-top;
uses system-memory-top;
uses system-cpu-top;
uses oc-proc:procmon-processes-top;
uses oc-alarms:alarms-top;
uses oc-messages:messages-top;
uses oc-license:license-top;
}
}
// data definition statements
uses system-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-system}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.10.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder
";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2013-07-15}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}]=SimpleContainerNode{version=Version[415a2a7], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-vlan, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=3.2.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-vlan {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/vlan";
prefix "oc-vlan";
// import some basic types
import openconfig-vlan-types { prefix oc-vlan-types; }
import openconfig-interfaces { prefix oc-if; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-if-aggregate { prefix oc-lag; }
import iana-if-type { prefix ianaift; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module defines configuration and state variables for VLANs,
in addition to VLAN parameters associated with interfaces";
oc-ext:openconfig-version "3.2.0";
revision "2019-04-16" {
description
"Update import prefix for iana-if-type module";
reference "3.2.0";
}
revision "2019-01-31" {
description
"Revise QinQ matching and add input/output VLAN stack operations.";
reference "3.1.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "3.0.2";
}
revision "2018-06-05" {
description
"Fix bugs in when statements.";
reference "3.0.1";
}
revision "2018-02-14" {
description
"Fix bug with name of 802.1ad identity.";
reference "3.0.0";
}
revision "2017-07-14" {
description
"Move top-level vlan data to network-instance; Update
identities to comply to style guide; fixed pattern
quoting; corrected trunk vlan types; added TPID config to
base interface.";
reference "2.0.0";
}
revision "2016-05-26" {
description
"OpenConfig public release";
reference "1.0.2";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping vlan-config {
description "VLAN configuration container.";
leaf vlan-id {
type oc-vlan-types:vlan-id;
description "Interface VLAN id.";
}
leaf name {
type string;
description "Interface VLAN name.";
}
leaf status {
type enumeration {
enum ACTIVE {
description "VLAN is active";
}
enum SUSPENDED {
description "VLAN is inactive / suspended";
}
}
default ACTIVE;
description "Admin state of the VLAN";
}
}
grouping vlan-state {
description "State variables for VLANs";
// placeholder
}
grouping vlan-tpid-config {
description
"TPID configuration for dot1q-enabled interfaces";
leaf tpid {
type identityref {
base oc-vlan-types:TPID_TYPES;
}
default oc-vlan-types:TPID_0X8100;
description
"Optionally set the tag protocol identifier field (TPID) that
is accepted on the VLAN";
}
}
grouping vlan-tpid-state {
description
"TPID opstate for dot1q-enabled interfaces";
// placeholder
}
grouping vlan-members-state {
description
"List of interfaces / subinterfaces belonging to the VLAN.";
container members {
description
"Enclosing container for list of member interfaces";
list member {
config false;
description
"List of references to interfaces / subinterfaces
associated with the VLAN.";
uses oc-if:base-interface-ref-state;
}
}
}
grouping vlan-switched-config {
description
"VLAN related configuration that is part of the physical
Ethernet interface.";
leaf interface-mode {
type oc-vlan-types:vlan-mode-type;
description
"Set the interface to access or trunk mode for
VLANs";
}
leaf native-vlan {
when "../interface-mode = 'TRUNK'" {
description
"Native VLAN is valid for trunk mode interfaces";
}
type oc-vlan-types:vlan-id;
description
"Set the native VLAN id for untagged frames arriving on
a trunk interface. Tagged frames sent on an interface
configured with a native VLAN should have their tags
stripped prior to transmission. This configuration is only
valid on a trunk interface.";
}
leaf access-vlan {
when "../interface-mode = 'ACCESS'" {
description
"Access VLAN assigned to the interfaces";
}
type oc-vlan-types:vlan-id;
description
"Assign the access vlan to the access port.";
}
leaf-list trunk-vlans {
when "../interface-mode = 'TRUNK'" {
description
"Allowed VLANs may be specified for trunk mode
interfaces.";
}
type union {
type oc-vlan-types:vlan-id;
type oc-vlan-types:vlan-range;
}
description
"Specify VLANs, or ranges thereof, that the interface may
carry when in trunk mode. If not specified, all VLANs are
allowed on the interface. Ranges are specified in the form
x..y, where x
WG List:
Editor: Martin Bjorklund
";
description
"This module contains a collection of YANG definitions for
managing network interfaces.
Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8343; see
the RFC itself for full legal notices.";
revision 2018-02-20 {
description
"Updated to support NMDA.";
reference
"RFC 8343: A YANG Data Model for Interface Management";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7223: A YANG Data Model for Interface Management";
}
/*
* Typedefs
*/
typedef interface-ref {
type leafref {
path "/if:interfaces/if:interface/if:name";
}
description
"This type is used by data models that need to reference
interfaces.";
}
/*
* Identities
*/
identity interface-type {
description
"Base identity from which specific interface types are
derived.";
}
/*
* Features
*/
feature arbitrary-names {
description
"This feature indicates that the device allows user-controlled
interfaces to be named arbitrarily.";
}
feature pre-provisioning {
description
"This feature indicates that the device supports
pre-provisioning of interface configuration, i.e., it is
possible to configure an interface whose physical interface
hardware is not present on the device.";
}
feature if-mib {
description
"This feature indicates that the device implements
the IF-MIB.";
reference
"RFC 2863: The Interfaces Group MIB";
}
/*
* Data nodes
*/
container interfaces {
description
"Interface parameters.";
list interface {
key "name";
description
"The list of interfaces on the device.
The status of an interface is available in this list in the
operational state. If the configuration of a
system-controlled interface cannot be used by the system
(e.g., the interface hardware present does not match the
interface type), then the configuration is not applied to
the system-controlled interface shown in the operational
state. If the configuration of a user-controlled interface
cannot be used by the system, the configured interface is
not instantiated in the operational state.
System-controlled interfaces created by the system are
always present in this list in the operational state,
whether or not they are configured.";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface.
If a client tries to create configuration for a
system-controlled interface that is not present in the
operational state, the server MAY reject the request if
the implementation does not support pre-provisioning of
interfaces or if the name refers to an interface that can
never exist in the system. A Network Configuration
Protocol (NETCONF) server MUST reply with an rpc-error
with the error-tag 'invalid-value' in this case.
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
operational state.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
configuration.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the intended configuration to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the intended configuration are
reflected in ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf link-up-down-trap-enable {
if-feature if-mib;
type enumeration {
enum enabled {
value 1;
description
"The device will generate linkUp/linkDown SNMP
notifications for this interface.";
}
enum disabled {
value 2;
description
"The device will not generate linkUp/linkDown SNMP
notifications for this interface.";
}
}
description
"Controls whether linkUp/linkDown SNMP notifications
should be generated for this interface.
If this node is not configured, the value 'enabled' is
operationally used by the server for interfaces that do
not operate on top of any other interface (i.e., there are
no 'lower-layer-if' entries), and 'disabled' otherwise.";
reference
"RFC 2863: The Interfaces Group MIB -
ifLinkUpDownTrapEnable";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
config false;
mandatory true;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
config false;
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
config false;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
config false;
mandatory true;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
config false;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-ref;
config false;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
config false;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
config false;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
/*
* Legacy typedefs
*/
typedef interface-state-ref {
type leafref {
path "/if:interfaces-state/if:interface/if:name";
}
status deprecated;
description
"This type is used by data models that need to reference
the operationally present interfaces.";
}
/*
* Legacy operational state data nodes
*/
container interfaces-state {
config false;
status deprecated;
description
"Data nodes for the operational state of interfaces.";
list interface {
key "name";
status deprecated;
description
"The list of interfaces on the device.
System-controlled interfaces created by the system are
always present in this list, whether or not they are
configured.";
leaf name {
type string;
status deprecated;
description
"The name of the interface.
A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference
"RFC 2863: The Interfaces Group MIB - ifName";
}
leaf type {
type identityref {
base interface-type;
}
mandatory true;
status deprecated;
description
"The type of the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf admin-status {
if-feature if-mib;
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"Not ready to pass packets and not in some test mode.";
}
enum testing {
value 3;
description
"In some test mode.";
}
}
mandatory true;
status deprecated;
description
"The desired state of the interface.
This leaf has the same read semantics as ifAdminStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Ready to pass packets.";
}
enum down {
value 2;
description
"The interface does not pass any packets.";
}
enum testing {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
enum dormant {
value 5;
description
"Waiting for some external event.";
}
enum not-present {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum lower-layer-down {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
mandatory true;
status deprecated;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
}
leaf last-change {
type yang:date-and-time;
status deprecated;
description
"The time the interface entered its current operational
state. If the current state was entered prior to the
last re-initialization of the local network management
subsystem, then this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifLastChange";
}
leaf if-index {
if-feature if-mib;
type int32 {
range "1..2147483647";
}
mandatory true;
status deprecated;
description
"The ifIndex value for the ifEntry represented by this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifIndex";
}
leaf phys-address {
type yang:phys-address;
status deprecated;
description
"The interface's address at its protocol sub-layer. For
example, for an 802.x interface, this object normally
contains a Media Access Control (MAC) address. The
interface's media-specific modules must define the bit
and byte ordering and the format of the value of this
object. For interfaces that do not have such an address
(e.g., a serial line), this node is not present.";
reference
"RFC 2863: The Interfaces Group MIB - ifPhysAddress";
}
leaf-list higher-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered on top of this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf-list lower-layer-if {
type interface-state-ref;
status deprecated;
description
"A list of references to interfaces layered underneath this
interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifStackTable";
}
leaf speed {
type yang:gauge64;
units "bits/second";
status deprecated;
description
"An estimate of the interface's current bandwidth in bits
per second. For interfaces that do not vary in
bandwidth or for those where no accurate estimation can
be made, this node should contain the nominal bandwidth.
For interfaces that have no concept of bandwidth, this
node is not present.";
reference
"RFC 2863: The Interfaces Group MIB -
ifSpeed, ifHighSpeed";
}
container statistics {
status deprecated;
description
"A collection of interface-related statistics objects.";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
status deprecated;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
leaf in-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type yang:counter32;
status deprecated;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf out-octets {
type yang:counter64;
status deprecated;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-unicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type yang:counter64;
status deprecated;
description
"The total number of packets that higher-level protocols
requested be transmitted and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type yang:counter32;
status deprecated;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type yang:counter32;
status deprecated;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system and at
other times as indicated by the value of
'discontinuity-time'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=ietf-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2018-02-20}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}]=SimpleContainerNode{version=Version[31cfd3ea], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-alarms, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.2}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-alarms {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/alarms";
prefix "oc-alarms";
// import some basic types
import openconfig-alarm-types { prefix oc-alarm-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-platform { prefix oc-platform; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines operational state data related to alarms
that the device is reporting.
This model reuses some data items defined in the draft IETF
YANG Alarm Module:
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02
Portions of this code were derived from the draft IETF YANG Alarm
Module. Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.2";
revision "2019-07-09" {
description
"Clarify relative base for leaves using timeticks64.";
reference "0.3.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2018-01-16" {
description
"Moved alarm identities into separate types module";
reference "0.3.0";
}
revision "2018-01-10" {
description
"Make alarms list read only";
reference "0.2.0";
}
revision "2017-08-24" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping alarm-state {
description
"Operational state data for device alarms";
leaf id {
type string;
description
"Unique ID for the alarm -- this will not be a
configurable parameter on many implementations";
}
leaf resource {
type string;
description
"The item that is under alarm within the device. The
resource may be a reference to an item which is
defined elsewhere in the model. For example, it
may be a platform/component, interfaces/interface,
terminal-device/logical-channels/channel, etc. In this
case the system should match the name of the referenced
item exactly. The referenced item could alternatively be
the path of the item within the model.";
reference
"IETF YANG Alarm Module: Draft - typedef resource
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf text {
type string;
description
"The string used to inform operators about the alarm. This
MUST contain enough information for an operator to be able
to understand the problem. If this string contains structure,
this format should be clearly documented for programs to be
able to parse that information";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-text
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf time-created {
type oc-types:timeticks64;
description
"The time at which the alarm was raised by the system.
This value is expressed relative to the Unix Epoch.";
}
leaf severity {
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY;
}
description
"The severity level indicating the criticality and impact
of the alarm";
reference
"IETF YANG Alarm Module: Draft - typedef severity
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
leaf type-id {
type union {
type string;
type identityref {
base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID;
}
}
description
"The abbreviated name of the alarm, for example LOS,
EQPT, or OTS. Also referred to in different systems as
condition type, alarm identifier, or alarm mnemonic. It
is recommended to use the OPENCONFIG_ALARM_TYPE_ID
identities where possible and only use the string type
when the desired identityref is not yet defined";
reference
"IETF YANG Alarm Module: Draft - typedef alarm-type-id
https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02";
}
}
grouping alarm-config {
description
"Configuration data for device alarms";
}
grouping alarms-top {
description
"Top-level grouping for device alarms";
container alarms {
description
"Top-level container for device alarms";
config false;
list alarm {
key "id";
description
"List of alarms, keyed by a unique id";
leaf id {
type leafref {
path "../state/id";
}
description
"References the unique alarm id";
}
container config {
description
"Configuration data for each alarm";
uses alarm-config;
}
container state {
config false;
description
"Operational state data for a device alarm";
uses alarm-config;
uses alarm-state;
}
}
}
}
// augments
augment "/oc-platform:components/oc-platform:component/oc-platform:state" {
description
"Adds specific alarms related to a component.";
leaf equipment-failure {
type boolean;
default "false";
description
"If true, the hardware indicates that the component's physical equipment
has failed";
}
leaf equipment-mismatch {
type boolean;
default "false";
description
"If true, the hardware indicates that the component inserted into the
affected component's physical location is of a different type than what
is configured";
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-alarms}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.2}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}]=SimpleContainerNode{version=Version[1e1c2b11], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-tacacs, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=submodule openconfig-aaa-tacacs {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa-types { prefix oc-aaa-types; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to the TACACS+ protocol for authentication,
authorization, and accounting.";
oc-ext:openconfig-version "0.5.0";
revision "2020-07-30" {
description
"Add secret-key-hashed.";
reference "0.5.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity TACACS {
base oc-aaa-types:AAA_SERVER_TYPE;
description
"Terminal Access Controller Access Control System (TACACS+)
AAA server";
reference
"The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05)
RFC 1492 - An Access Control Protocol, Sometimes Called
TACACS";
}
// typedef statements
// grouping statements
grouping aaa-tacacs-server-config {
description
"Configuration data for a TACACS+ server";
leaf port {
type oc-inet:port-number;
default 49;
description
"The port number on which to contact the TACACS server";
}
leaf secret-key {
type oc-types:routing-password;
description
"The unencrypted shared key used between the authentication
server and the device.";
}
leaf secret-key-hashed {
type oc-aaa-types:crypt-password-type;
description
"The hashed shared key used between the authentication
server and the device.";
}
leaf source-address {
type oc-inet:ip-address;
description
"Source IP address to use in messages to the TACACS server";
}
}
grouping aaa-tacacs-server-state {
description
"Operational state data for a TACACS+ server";
}
grouping aaa-tacacs-server-top {
description
"Top-level grouping for TACACS+ sever data";
container tacacs {
description
"Top-level container for TACACS+ server data";
container config {
description
"Configuration data for TACACS+ server";
uses aaa-tacacs-server-config;
}
container state {
config false;
description
"Operational state data for TACACS+ server";
uses aaa-tacacs-server-config;
uses aaa-tacacs-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-tacacs}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.5.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.6.0}]=SimpleContainerNode{version=Version[18b1ae60], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.6.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-types {
yang-version "1";
namespace "http://openconfig.net/yang/openconfig-types";
prefix "oc-types";
// import statements
import openconfig-extensions { prefix oc-ext; }
// meta
organization
"OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module contains a set of general type definitions that
are used across OpenConfig models. It can be imported by modules
that make use of these types.";
oc-ext:openconfig-version "0.6.0";
revision "2019-04-16" {
description
"Clarify definition of timeticks64.";
reference "0.6.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.5.1";
}
revision "2018-05-05" {
description
"Add grouping of min-max-time and
included them to all stats with min/max/avg";
reference "0.5.0";
}
revision "2018-01-16" {
description
"Add interval to min/max/avg stats; add percentage stat";
reference "0.4.0";
}
revision "2017-08-16" {
description
"Apply fix for ieetfloat32 length parameter";
reference "0.3.3";
}
revision "2017-01-13" {
description
"Add ADDRESS_FAMILY identity";
reference "0.3.2";
}
revision "2016-11-14" {
description
"Correct length of ieeefloat32";
reference "0.3.1";
}
revision "2016-11-11" {
description
"Additional types - ieeefloat32 and routing-password";
reference "0.3.0";
}
revision "2016-05-31" {
description
"OpenConfig public release";
reference "0.2.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef percentage {
type uint8 {
range "0..100";
}
description
"Integer indicating a percentage value";
}
typedef std-regexp {
type string;
description
"This type definition is a placeholder for a standard
definition of a regular expression that can be utilised in
OpenConfig models. Further discussion is required to
consider the type of regular expressions that are to be
supported. An initial proposal is POSIX compatible.";
}
typedef timeticks64 {
type uint64;
units "nanoseconds";
description
"The timeticks64 represents the time, modulo 2^64 in
nanoseconds between two epochs. The leaf using this
type must define the epochs that tests are relative to.";
}
typedef ieeefloat32 {
type binary {
length "4";
}
description
"An IEEE 32-bit floating point number. The format of this number
is of the form:
1-bit sign
8-bit exponent
23-bit fraction
The floating point value is calculated using:
(-1)**S * 2**(Exponent-127) * (1+Fraction)";
}
typedef routing-password {
type string;
description
"This type is indicative of a password that is used within
a routing protocol which can be returned in plain text to the
NMS by the local system. Such passwords are typically stored
as encrypted strings. Since the encryption used is generally
well known, it is possible to extract the original value from
the string - and hence this format is not considered secure.
Leaves specified with this type should not be modified by
the system, and should be returned to the end-user in plain
text. This type exists to differentiate passwords, which
may be sensitive, from other string leaves. It could, for
example, be used by the NMS to censor this data when
viewed by particular users.";
}
typedef stat-interval {
type uint64;
units nanoseconds;
description
"A time interval over which a set of statistics is computed.
A common usage is to report the interval over which
avg/min/max stats are computed and reported.";
}
grouping stat-interval-state {
description
"Reusable leaf definition for stats computation interval";
leaf interval {
type oc-types:stat-interval;
description
"If supported by the system, this reports the time interval
over which the min/max/average statistics are computed by
the system.";
}
}
grouping min-max-time {
description
"Common grouping for recording the absolute time at which
the minimum and maximum values occurred in the statistics";
leaf min-time {
type oc-types:timeticks64;
description
"The absolute time at which the minimum value occurred.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
leaf max-time {
type oc-types:timeticks64;
description
"The absolute time at which the maximum value occurred.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
}
grouping avg-min-max-stats-precision1 {
description
"Common nodes for recording average, minimum, and
maximum values for a statistic. These values all have
fraction-digits set to 1. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed is also reported.";
leaf avg {
type decimal64 {
fraction-digits 1;
}
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 1;
}
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 1;
}
description
"The maximum value of the statitic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision1 {
description
"Common grouping for recording an instantaneous statistic value
in addition to avg-min-max stats";
leaf instant {
type decimal64 {
fraction-digits 1;
}
description
"The instantaneous value of the statistic.";
}
uses avg-min-max-stats-precision1;
}
grouping avg-min-max-instant-stats-precision2-dB {
description
"Common grouping for recording dB values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The minimum value of the statistic over the time interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The maximum value of the statistic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision2-dBm {
description
"Common grouping for recording dBm values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"The maximum value of the statistic over the time interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-precision2-mA {
description
"Common grouping for recording mA values with 2 decimal
precision. Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The arithmetic mean value of the statistic over the
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units mA;
description
"The maximum value of the statistic over the time
interval.";
}
uses stat-interval-state;
uses min-max-time;
}
grouping avg-min-max-instant-stats-pct {
description
"Common grouping for percentage statistics.
Values include the instantaneous, average,
minimum, and maximum statistics. Statistics are computed
and reported based on a moving time interval (e.g., the last
30s). If supported by the device, the time interval over which
the statistics are computed, and the times at which the minimum
and maximum values occurred, are also reported.";
leaf instant {
type oc-types:percentage;
description
"The instantaneous percentage value.";
}
leaf avg {
type oc-types:percentage;
description
"The arithmetic mean value of the percentage measure of the
statistic over the time interval.";
}
leaf min {
type oc-types:percentage;
description
"The minimum value of the percentage measure of the
statistic over the time interval.";
}
leaf max {
type oc-types:percentage;
description
"The maximum value of the percentage measure of the
statistic over the time interval.";
}
uses stat-interval-state;
uses min-max-time;
}
identity ADDRESS_FAMILY {
description
"A base identity for all address families";
}
identity IPV4 {
base ADDRESS_FAMILY;
description
"The IPv4 address family";
}
identity IPV6 {
base ADDRESS_FAMILY;
description
"The IPv6 address family";
}
identity MPLS {
base ADDRESS_FAMILY;
description
"The MPLS address family";
}
identity L2_ETHERNET {
base ADDRESS_FAMILY;
description
"The 802.3 Ethernet address family";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.6.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}]=SimpleContainerNode{version=Version[7ca650c5], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-interfaces, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2.5.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-interfaces {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/interfaces";
prefix "oc-if";
// import some basic types
import ietf-interfaces { prefix ietf-if; }
import openconfig-yang-types { prefix oc-yang; }
import openconfig-types { prefix oc-types; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"Model for managing network interfaces and subinterfaces. This
module also defines convenience types / groupings for other
models to create references to interfaces:
base-interface-ref (type) - reference to a base interface
interface-ref (grouping) - container for reference to a
interface + subinterface
interface-ref-state (grouping) - container for read-only
(opstate) reference to interface + subinterface
This model reuses data items defined in the IETF YANG model for
interfaces described by RFC 7223 with an alternate structure
(particularly for operational state data) and with
additional configuration items.
Portions of this code were derived from IETF RFC 7223.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "2.5.0";
revision "2021-04-06" {
description
"Add leaves for management and cpu interfaces";
reference "2.5.0";
}
revision "2019-11-19" {
description
"Update description of interface name.";
reference "2.4.3";
}
revision "2019-07-10" {
description
"Remove redundant nanosecond units statements to reflect
universal definition of timeticks64 type.";
reference "2.4.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "2.4.1";
}
revision "2018-08-07" {
description
"Add leaf to indicate whether an interface is physical or
logical.";
reference "2.4.0";
}
revision "2018-07-02" {
description
"Add in-pkts and out-pkts in counters";
reference "2.3.2";
}
revision "2018-04-24" {
description
"Clarified behavior of last-change state leaf";
reference "2.3.1";
}
revision "2018-01-05" {
description
"Add logical loopback to interface.";
reference "2.3.0";
}
revision "2017-12-22" {
description
"Add IPv4 proxy ARP configuration.";
reference "2.2.0";
}
revision "2017-12-21" {
description
"Added IPv6 router advertisement configuration.";
reference "2.1.0";
}
revision "2017-07-14" {
description
"Added Ethernet/IP state data; Add dhcp-client;
migrate to OpenConfig types modules; Removed or
renamed opstate values";
reference "2.0.0";
}
revision "2017-04-03" {
description
"Update copyright notice.";
reference "1.1.1";
}
revision "2016-12-22" {
description
"Fixes to Ethernet interfaces model";
reference "1.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// typedef statements
typedef base-interface-ref {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reusable type for by-name reference to a base interface.
This type may be used in cases where ability to reference
a subinterface is not required.";
}
typedef interface-id {
type string;
description
"User-defined identifier for an interface, generally used to
name a interface reference. The id can be arbitrary but a
useful convention is to use a combination of base interface
name and subinterface index.";
}
// grouping statements
grouping interface-ref-common {
description
"Reference leafrefs to interface / subinterface";
leaf interface {
type leafref {
path "/oc-if:interfaces/oc-if:interface/oc-if:name";
}
description
"Reference to a base interface. If a reference to a
subinterface is required, this leaf must be specified
to indicate the base interface.";
}
leaf subinterface {
type leafref {
path "/oc-if:interfaces/" +
"oc-if:interface[oc-if:name=current()/../interface]/" +
"oc-if:subinterfaces/oc-if:subinterface/oc-if:index";
}
description
"Reference to a subinterface -- this requires the base
interface to be specified using the interface leaf in
this container. If only a reference to a base interface
is requuired, this leaf should not be set.";
}
}
grouping interface-ref-state-container {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container state {
config false;
description
"Operational state for interface-ref";
uses interface-ref-common;
}
}
grouping interface-ref {
description
"Reusable definition for a reference to an interface or
subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
container config {
description
"Configured reference to interface / subinterface";
oc-ext:telemetry-on-change;
uses interface-ref-common;
}
uses interface-ref-state-container;
}
}
grouping interface-ref-state {
description
"Reusable opstate w/container for a reference to an
interface or subinterface";
container interface-ref {
description
"Reference to an interface or subinterface";
uses interface-ref-state-container;
}
}
grouping base-interface-ref-state {
description
"Reusable opstate w/container for a reference to a
base interface (no subinterface).";
container state {
config false;
description
"Operational state for base interface reference";
leaf interface {
type base-interface-ref;
description
"Reference to a base interface.";
}
}
}
grouping interface-common-config {
description
"Configuration data data nodes common to physical interfaces
and subinterfaces";
leaf description {
type string;
description
"A textual description of the interface.
A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifAlias. The definition of
such a mechanism is outside the scope of this document.
Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored
datastore.
Specifically, if the device supports ':startup', when
ifAlias is read the device MUST return the value of
'description' in the 'startup' datastore, and when it is
written, it MUST be written to the 'running' and 'startup'
datastores. Note that it is up to the implementation to
decide whether to modify this single leaf in 'startup' or
perform an implicit copy-config from 'running' to
'startup'.
If the device does not support ':startup', ifAlias MUST
be mapped to the 'description' leaf in the 'running'
datastore.";
reference
"RFC 2863: The Interfaces Group MIB - ifAlias";
}
leaf enabled {
type boolean;
default "true";
description
"This leaf contains the configured, desired state of the
interface.
Systems that implement the IF-MIB use the value of this
leaf in the 'running' datastore to set
IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
has been initialized, as described in RFC 2863.
Changes in this leaf in the 'running' datastore are
reflected in ifAdminStatus, but if ifAdminStatus is
changed over SNMP, this leaf is not affected.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
}
}
grouping interface-phys-config {
description
"Configuration data for physical interfaces";
leaf name {
type string;
description
"The name of the interface.
A device MAY restrict the allowed values for this leaf,
possibly depending on the type of the interface.
For system-controlled interfaces, this leaf is the
device-specific name of the interface. The 'config false'
list interfaces/interface[name]/state contains the currently
existing interfaces on the device.
If a client tries to create configuration for a
system-controlled interface that is not present in the
corresponding state list, the server MAY reject
the request if the implementation does not support
pre-provisioning of interfaces or if the name refers to
an interface that can never exist in the system. A
NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.
The IETF model in RFC 7223 provides YANG features for the
following (i.e., pre-provisioning and arbitrary-names),
however they are omitted here:
If the device supports pre-provisioning of interface
configuration, the 'pre-provisioning' feature is
advertised.
If the device allows arbitrarily named user-controlled
interfaces, the 'arbitrary-names' feature is advertised.
When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the
/interfaces/interface[name]/state list.";
}
leaf type {
type identityref {
base ietf-if:interface-type;
}
mandatory true;
description
"The type of the interface.
When an interface entry is created, a server MAY
initialize the type leaf with a valid value, e.g., if it
is possible to derive the type from the name of the
interface.
If a client tries to set the type of an interface to a
value that can never be used by the system, e.g., if the
type is not supported or if the type does not match the
name of the interface, the server MUST reject the request.
A NETCONF server MUST reply with an rpc-error with the
error-tag 'invalid-value' in this case.";
reference
"RFC 2863: The Interfaces Group MIB - ifType";
}
leaf mtu {
type uint16;
description
"Set the max transmission unit size in octets
for the physical interface. If this is not set, the mtu is
set to the operational default -- e.g., 1514 bytes on an
Ethernet interface.";
}
leaf loopback-mode {
type boolean;
default false;
description
"When set to true, the interface is logically looped back,
such that packets that are forwarded via the interface
are received on the same interface.";
}
uses interface-common-config;
}
grouping interface-phys-holdtime-config {
description
"Configuration data for interface hold-time settings --
applies to physical interfaces.";
leaf up {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface
transitions from down to up. A zero value means dampening
is turned off, i.e., immediate notification.";
}
leaf down {
type uint32;
units milliseconds;
default 0;
description
"Dampens advertisement when the interface transitions from
up to down. A zero value means dampening is turned off,
i.e., immediate notification.";
}
}
grouping interface-phys-holdtime-state {
description
"Operational state data for interface hold-time.";
}
grouping interface-phys-holdtime-top {
description
"Top-level grouping for setting link transition
dampening on physical and other types of interfaces.";
container hold-time {
description
"Top-level container for hold-time settings to enable
dampening advertisements of interface transitions.";
container config {
description
"Configuration data for interface hold-time settings.";
oc-ext:telemetry-on-change;
uses interface-phys-holdtime-config;
}
container state {
config false;
description
"Operational state data for interface hold-time.";
uses interface-phys-holdtime-config;
uses interface-phys-holdtime-state;
}
}
}
grouping interface-common-state {
description
"Operational state data (in addition to intended configuration)
at the global level for this interface";
oc-ext:operational;
leaf ifindex {
type uint32;
description
"System assigned number for each interface. Corresponds to
ifIndex object in SNMP Interface MIB";
reference
"RFC 2863 - The Interfaces Group MIB";
oc-ext:telemetry-on-change;
}
leaf admin-status {
type enumeration {
enum UP {
description
"Ready to pass packets.";
}
enum DOWN {
description
"Not ready to pass packets and not in some test mode.";
}
enum TESTING {
//TODO: This is generally not supported as a configured
//admin state, though it's in the standard interfaces MIB.
//Consider removing it.
description
"In some test mode.";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The desired state of the interface. In RFC 7223 this leaf
has the same read semantics as ifAdminStatus. Here, it
reflects the administrative state as set by enabling or
disabling the interface.";
reference
"RFC 2863: The Interfaces Group MIB - ifAdminStatus";
oc-ext:telemetry-on-change;
}
leaf oper-status {
type enumeration {
enum UP {
value 1;
description
"Ready to pass packets.";
}
enum DOWN {
value 2;
description
"The interface does not pass any packets.";
}
enum TESTING {
value 3;
description
"In some test mode. No operational packets can
be passed.";
}
enum UNKNOWN {
value 4;
description
"Status cannot be determined for some reason.";
}
enum DORMANT {
value 5;
description
"Waiting for some external event.";
}
enum NOT_PRESENT {
value 6;
description
"Some component (typically hardware) is missing.";
}
enum LOWER_LAYER_DOWN {
value 7;
description
"Down due to state of lower-layer interface(s).";
}
}
//TODO:consider converting to an identity to have the
//flexibility to remove some values defined by RFC 7223 that
//are not used or not implemented consistently.
mandatory true;
description
"The current operational state of the interface.
This leaf has the same semantics as ifOperStatus.";
reference
"RFC 2863: The Interfaces Group MIB - ifOperStatus";
oc-ext:telemetry-on-change;
}
leaf last-change {
type oc-types:timeticks64;
description
"This timestamp indicates the absolute time of the last
state change of the interface (e.g., up-to-down transition).
This is different than the SNMP ifLastChange object in the
standard interface MIB in that it is not relative to the
system boot time (i.e,. sysUpTime).
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
leaf logical {
type boolean;
description
"When set to true, the interface is a logical interface
which does not have an associated physical port or
channel on the system.";
oc-ext:telemetry-on-change;
}
leaf management {
type boolean;
description
"When set to true, the interface is a dedicated
management interface that is not connected to dataplane
interfaces. It may be used to connect the system to an
out-of-band management network, for example.";
oc-ext:telemetry-on-change;
}
leaf cpu {
type boolean;
description
"When set to true, the interface is for traffic
that is handled by the system CPU, sometimes also called the
control plane interface. On systems that represent the CPU
interface as an Ethernet interface, for example, this leaf
should be used to distinguish the CPU interface from dataplane
interfaces.";
oc-ext:telemetry-on-change;
}
}
grouping interface-counters-state {
description
"Operational state representing interface counters
and statistics.";
//TODO: we may need to break this list of counters into those
//that would appear for physical vs. subinterface or logical
//interfaces. For now, just replicating the full stats
//grouping to both interface and subinterface.
oc-ext:operational;
container counters {
description
"A collection of interface-related statistics objects.";
leaf in-octets {
type oc-yang:counter64;
description
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInOctets";
}
leaf in-pkts {
type oc-yang:counter64;
description
"The total number of packets received on the interface,
including all unicast, multicast, broadcast and bad packets
etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf in-unicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were not addressed to a
multicast or broadcast address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
}
leaf in-broadcast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a broadcast
address at this sub-layer.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInBroadcastPkts";
}
leaf in-multicast-pkts {
type oc-yang:counter64;
description
"The number of packets, delivered by this sub-layer to a
higher (sub-)layer, that were addressed to a multicast
address at this sub-layer. For a MAC-layer protocol,
this includes both Group and Functional addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCInMulticastPkts";
}
leaf in-discards {
type oc-yang:counter64;
description
"The number of inbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being deliverable to a higher-layer
protocol. One possible reason for discarding such a
packet could be to free up buffer space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInDiscards";
}
leaf in-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of inbound
packets that contained errors preventing them from being
deliverable to a higher-layer protocol. For character-
oriented or fixed-length interfaces, the number of
inbound transmission units that contained errors
preventing them from being deliverable to a higher-layer
protocol.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInErrors";
}
leaf in-unknown-protos {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of packets
received via the interface that were discarded because
of an unknown or unsupported protocol. For
character-oriented or fixed-length interfaces that
support protocol multiplexing, the number of
transmission units received via the interface that were
discarded because of an unknown or unsupported protocol.
For any interface that does not support protocol
multiplexing, this counter is not present.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
}
leaf in-fcs-errors {
type oc-yang:counter64;
description
"Number of received packets which had errors in the
frame check sequence (FCS), i.e., framing errors.
Discontinuities in the value of this counter can occur
when the device is re-initialization as indicated by the
value of 'last-clear'.";
}
leaf out-octets {
type oc-yang:counter64;
description
"The total number of octets transmitted out of the
interface, including framing characters.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
}
leaf out-pkts {
type oc-yang:counter64;
description
"The total number of packets transmitted out of the
interface, including all unicast, multicast, broadcast,
and bad packets etc.";
reference
"RFC 2819: Remote Network Monitoring Management Information
Base";
}
leaf out-unicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were not addressed
to a multicast or broadcast address at this sub-layer,
including those that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
}
leaf out-broadcast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
broadcast address at this sub-layer, including those
that were discarded or not sent.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutBroadcastPkts";
}
leaf out-multicast-pkts {
type oc-yang:counter64;
description
"The total number of packets that higher-level protocols
requested be transmitted, and that were addressed to a
multicast address at this sub-layer, including those
that were discarded or not sent. For a MAC-layer
protocol, this includes both Group and Functional
addresses.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB -
ifHCOutMulticastPkts";
}
leaf out-discards {
type oc-yang:counter64;
description
"The number of outbound packets that were chosen to be
discarded even though no errors had been detected to
prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer
space.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutDiscards";
}
leaf out-errors {
type oc-yang:counter64;
description
"For packet-oriented interfaces, the number of outbound
packets that could not be transmitted because of errors.
For character-oriented or fixed-length interfaces, the
number of outbound transmission units that could not be
transmitted because of errors.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
'last-clear'.";
reference
"RFC 2863: The Interfaces Group MIB - ifOutErrors";
}
leaf carrier-transitions {
type oc-yang:counter64;
description
"Number of times the interface state has transitioned
between up and down since the time the device restarted
or the last-clear time, whichever is most recent.";
oc-ext:telemetry-on-change;
}
leaf last-clear {
type oc-types:timeticks64;
description
"Timestamp of the last time the interface counters were
cleared.
The value is the timestamp in nanoseconds relative to
the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
oc-ext:telemetry-on-change;
}
}
}
// data definition statements
grouping sub-unnumbered-config {
description
"Configuration data for unnumbered subinterfaces";
leaf enabled {
type boolean;
default false;
description
"Indicates that the subinterface is unnumbered. By default
the subinterface is numbered, i.e., expected to have an
IP address configuration.";
}
}
grouping sub-unnumbered-state {
description
"Operational state data unnumbered subinterfaces";
}
grouping sub-unnumbered-top {
description
"Top-level grouping unnumbered subinterfaces";
container unnumbered {
description
"Top-level container for setting unnumbered interfaces.
Includes reference the interface that provides the
address information";
container config {
description
"Configuration data for unnumbered interface";
oc-ext:telemetry-on-change;
uses sub-unnumbered-config;
}
container state {
config false;
description
"Operational state data for unnumbered interfaces";
uses sub-unnumbered-config;
uses sub-unnumbered-state;
}
uses oc-if:interface-ref;
}
}
grouping subinterfaces-config {
description
"Configuration data for subinterfaces";
leaf index {
type uint32;
default 0;
description
"The index of the subinterface, or logical interface number.
On systems with no support for subinterfaces, or not using
subinterfaces, this value should default to 0, i.e., the
default subinterface.";
}
uses interface-common-config;
}
grouping subinterfaces-state {
description
"Operational state data for subinterfaces";
oc-ext:operational;
leaf name {
type string;
description
"The system-assigned name for the sub-interface. This MAY
be a combination of the base interface name and the
subinterface index, or some other convention used by the
system.";
oc-ext:telemetry-on-change;
}
uses interface-common-state;
uses interface-counters-state;
}
grouping subinterfaces-top {
description
"Subinterface data for logical interfaces associated with a
given interface";
container subinterfaces {
description
"Enclosing container for the list of subinterfaces associated
with a physical interface";
list subinterface {
key "index";
description
"The list of subinterfaces (logical interfaces) associated
with a physical interface";
leaf index {
type leafref {
path "../config/index";
}
description
"The index number of the subinterface -- used to address
the logical interface";
}
container config {
description
"Configurable items at the subinterface level";
oc-ext:telemetry-on-change;
uses subinterfaces-config;
}
container state {
config false;
description
"Operational state data for logical interfaces";
uses subinterfaces-config;
uses subinterfaces-state;
}
}
}
}
grouping interfaces-top {
description
"Top-level grouping for interface configuration and
operational state data";
container interfaces {
description
"Top level container for interfaces, including configuration
and state data.";
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type leafref {
path "../config/name";
}
description
"References the name of the interface";
//TODO: need to consider whether this should actually
//reference the name in the state subtree, which
//presumably would be the system-assigned name, or the
//configured name. Points to the config/name now
//because of YANG 1.0 limitation that the list
//key must have the same "config" as the list, and
//also can't point to a non-config node.
}
container config {
description
"Configurable items at the global, physical interface
level";
oc-ext:telemetry-on-change;
uses interface-phys-config;
}
container state {
config false;
description
"Operational state data at the global interface level";
uses interface-phys-config;
uses interface-common-state;
uses interface-counters-state;
}
uses interface-phys-holdtime-top;
uses subinterfaces-top;
}
}
}
uses interfaces-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-interfaces}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2.5.0}]}}}, untouched=[ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-aug, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-aug {
yang-version "1";
namespace "test:aug";
prefix "gta";
import openconfig-extensions { prefix oc-ext; }
import gnmi-test-model {prefix gtm;}
oc-ext:openconfig-version "1.0.0";
augment /gtm:test-data {
leaf interface {
type string;
}
}
augment "/gtm:test-data/gtm:nested-container" {
list interface {
key "name";
description
"The list of named interfaces on the device.";
leaf name {
type string;
}
container config {
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type uint16;
}
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-aug}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}]}}}}}
12:58:20.422 [mdsal-subscription-counters8] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@5e06d6e4} unlocked
12:58:20.426 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-17: doCommit completed
12:58:20.426 [mdsal-subscription-counters8] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@5e06d6e4} readied
12:58:20.426 [mdsal-subscription-counters8] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Submitting transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@5e06d6e4}
12:58:20.426 [main] INFO org.opendaylight.gnmi.southbound.schema.loader.impl.ByClassPathYangLoaderService -- Loaded yang model openconfig-system with version 0.10.0
12:58:20.426 [mdsal-subscription-counters8] DEBUG org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain -- Transaction PingPongTransaction{delegate=org.opendaylight.mdsal.dom.spi.DOMForwardedReadWriteTransaction@5e06d6e4} completed successfully
12:58:20.426 [mdsal-subscription-counters8] DEBUG org.opendaylight.restconf.server.mdsal.MdsalRestconfStreamRegistry -- Subscription receivers updated successfully
12:58:20.430 [main] DEBUG org.opendaylight.gnmi.southbound.schema.yangstore.impl.YangDataStoreServiceImpl -- Adding yang model openconfig-procmon with version 0.4.0 to operational datastore
12:58:20.432 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Write Tx: OPER-18 allocated with snapshot Version[5d5f5244]
12:58:20.432 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Tx: OPER-18 Merge: /(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models/gnmi-yang-model/gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-procmon, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.0}]:ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-procmon, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-procmon {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/system/procmon";
prefix "oc-proc";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
import openconfig-yang-types { prefix oc-yang; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides data definitions for process health
monitoring of one or more processes running on the system.";
oc-ext:openconfig-version "0.4.0";
revision "2019-03-15" {
description
"Update process start time to be an absolute timestamp,
ensure that the units for CPU time are expressed correctly.
Update cpu-usage leaves to commonly use counter64 for consumed
CPU time.";
reference "0.4.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.3.1";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// grouping statements
grouping procmon-processes-top {
description
"Top level grouping for attributes for processes.";
container processes {
description
"Parameters related to all monitored processes";
list process {
key "pid";
config false;
description
"List of monitored processes";
leaf pid {
type leafref {
path "../state/pid";
}
description
"Reference to the process pid key";
}
container state {
config false;
description
"State parameters related to monitored processes";
uses procmon-process-attributes-state;
}
}
}
}
grouping procmon-process-attributes-state {
description
"Attributes state definitions for a process";
leaf pid {
type uint64;
description
"The process pid";
}
leaf name {
type string;
description
"The process name";
}
leaf-list args {
type string;
description
"Current process command line arguments. Arguments with
a parameter (e.g., --option 10 or -option=10) should be
represented as a single element of the list with the
argument name and parameter together. Flag arguments, i.e.,
those without a parameter should also be in their own list
element.";
}
leaf start-time {
type oc-types:timeticks64;
description
"The time at which this process started,
relative to the UNIX epoch. The system must be
synchronized such that the start-time can be
reported accurately, otherwise it should not be reported.";
}
leaf cpu-usage-user {
type oc-yang:counter64;
units "nanoseconds";
description
"CPU time consumed by this process in user mode in
nanoseconds.";
}
leaf cpu-usage-system {
type oc-yang:counter64;
units "nanoseconds";
description
"CPU time consumed by this process in kernel mode.";
}
leaf cpu-utilization {
type oc-types:percentage;
description
"The percentage of CPU that is being used by the process.";
}
leaf memory-usage {
type uint64;
units "bytes";
description
"Bytes allocated and still in use by the process";
}
leaf memory-utilization {
type oc-types:percentage;
description
"The percentage of RAM that is being used by the process.";
}
}
// augment statements
// rpc statements
// notification statements
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-procmon}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.4.0}]}
12:58:20.432 [main] DEBUG org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction -- Store transaction: OPER-18 : Ready
12:58:20.432 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore -- Tx: OPER-18 is submitted. Modifications: InMemoryDataTreeModification{state=Ready}
12:58:20.432 [main] DEBUG org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker -- Tx: DOM-18 is submitted for execution.
12:58:20.432 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-18: canCommit Started
12:58:20.432 [main] DEBUG org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMStoreThreePhaseCommitCohort -- Store Transaction: OPER-18 can be committed
12:58:20.432 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-18: preCommit Started
12:58:20.433 [main] DEBUG org.opendaylight.mdsal.dom.broker.CommitCoordinationTask -- Transaction DOM-18: doCommit Started
12:58:20.433 [main] DEBUG org.opendaylight.yangtools.yang.data.tree.impl.InMemoryDataTree -- Updating datastore from MaterializedContainerNode{version=Version[624fea8], subtreeVersion=Version[5d5f5244], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-models=MaterializedContainerNode{version=Version[5bdfeade], subtreeVersion=Version[5d5f5244], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model=LazyContainerNode{version=Version[5bdfeade], subtreeVersion=Version[5d5f5244], children={(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}]=SimpleContainerNode{version=Version[5b94d35d], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-messages, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.0.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-messages {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/messages";
prefix "oc-messages";
// import some basic types
import openconfig-extensions { prefix "oc-ext"; }
import openconfig-system-logging { prefix "oc-log"; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to Syslog messages that a device may generate.
These messages are historically obtained through the Syslog
transport, however this module allows for obtaining them through
an alternative transport, such as a Subscribe operation over an
RPC.
This module does not usurp traditional syslog servers, which may
still be configured through the
/yang/system/openconfig-system.yang model, rather it provies the
Operator with an alternative method of consuming messages.";
oc-ext:openconfig-version "0.0.1";
revision "2018-08-13" {
description
"Initial draft.";
reference "0.0.1";
}
// identity statements
identity DEBUG_SERVICE {
description
"Base identity for debug services. Identities within this base
identity are to be augmented in by vendors.";
}
// grouping statements
grouping messages-config {
description
"Configuration data for defining Syslog message severity.";
leaf severity {
type oc-log:syslog-severity;
description
"Specifies that only messages of the given severity (or
greater severity) are sent over the RPC.
This is analogous to differentiating which severity is to be
sent to legacy Syslog servers, as opposed to local buffer or
files.";
}
}
grouping messages-state {
description
"Operational state data for Syslog messages.";
container message {
oc-ext:telemetry-atomic;
config false;
description
"Syslog messages the client is Subscribing to. This is all
messages currently configured to be sent according to
syslog-severity.";
reference
"IETF RFC 5424 - The Syslog Protocol";
// Decide if it is OK to include ALL in this leaf.
leaf msg {
type string;
description
"Message payload. If other leafs within this container not
supported, this leaf MAY include the entire message,
inclding pri, procid, app-name etc..";
}
leaf priority {
type uint8;
description
"The Priority value (PRIVAL) represents both the
Facility and Severity.";
reference
"IETF RFC 5424, Section 6.2.1";
}
leaf app-name {
type string;
description
"The APP-NAME field SHOULD identify the device or
application that originated the message.";
reference
"IETF RFC 5424, Section 6.2.5.";
}
leaf procid {
type string;
description
"PROCID is a value that is included in the message, having
no interoperable meaning, except that a change in the value
indicates there has been a discontinuity in syslog
reporting.";
reference
"IETF RFC 5424, Section 6.2.6.";
}
leaf msgid {
type string;
description
"The MSGID SHOULD identify the type of message. For
example, a firewall might use the MSGID 'TCPIN' for
incoming TCP traffic and the MSGID 'TCPOUT' for outgoing
TCP traffic.";
reference
"IETF RFC 5424, Section 6.2.7.";
}
}
}
grouping debug-messages-config {
description
"Configuration data for enabling debug messages.";
leaf service {
type identityref {
base DEBUG_SERVICE;
}
description
"Enumeration of all services which can have debugging enabled.
Vendors are to augment this base identity with their platform
or OS specific debug options.";
}
leaf enabled {
type boolean;
default false;
description
"Enable and disable debugging.";
}
}
grouping debug-messages-top {
description
"Configuration data for enabling Syslog debug messages.";
container debug-entries {
description
"Enclosing container for list of debugs to enable.";
list debug-service {
key "service";
description
"List of debugging entries.";
leaf service {
type leafref {
path "../config/service";
}
description
"Reference to the debug-enable service key.";
}
container config {
description
"Configuration data for debug service entries.";
uses debug-messages-config;
}
container state {
config false;
description
"Operational state data for enabled debugs.";
uses debug-messages-config;
}
}
}
}
grouping messages-top {
description
"Top-level grouping for Syslog messages.";
container messages {
description
"Top-level container for Syslog messages.";
container config {
description
"Configuration data for Syslog messages.";
uses messages-config;
}
container state {
config false;
description
"Operational state data for a Syslog messages.";
uses messages-config;
uses messages-state;
}
uses debug-messages-top;
}
}
uses messages-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-messages}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.0.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}]=SimpleContainerNode{version=Version[1228d8d9], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-aaa-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.4.1}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-aaa-types {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/aaa/types";
prefix "oc-aaa-types";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines shared types for data related to AAA
(authentication, authorization, accounting).";
oc-ext:openconfig-version "0.4.1";
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.4.1";
}
revision "2018-04-12" {
description
"Add when conditions, correct identities";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
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 AAA_SERVER_TYPE {
description
"Base identity for types of AAA servers";
}
identity SYSTEM_DEFINED_ROLES {
description
"Base identity for system_defined roles that can be assigned
to users.";
}
identity SYSTEM_ROLE_ADMIN {
base SYSTEM_DEFINED_ROLES;
description
"Built-in role that allows the equivalent of superuser
permission for all configuration and operational commands
on the device.";
}
identity AAA_ACCOUNTING_EVENT_TYPE {
description
"Base identity for specifying events types that should be
sent to AAA server for accounting";
}
identity AAA_ACCOUNTING_EVENT_COMMAND {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies interactive command events for AAA accounting";
}
identity AAA_ACCOUNTING_EVENT_LOGIN {
base AAA_ACCOUNTING_EVENT_TYPE;
description
"Specifies login events for AAA accounting";
}
identity AAA_AUTHORIZATION_EVENT_TYPE {
description
"Base identity for specifying activities that should be
sent to AAA server for authorization";
}
identity AAA_AUTHORIZATION_EVENT_COMMAND {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies interactive command events for AAA authorization";
}
identity AAA_AUTHORIZATION_EVENT_CONFIG {
base AAA_AUTHORIZATION_EVENT_TYPE;
description
"Specifies configuration (e.g., EXEC) events for AAA
authorization";
}
identity AAA_METHOD_TYPE {
description
"Base identity to define well-known methods for AAA
operations";
}
identity TACACS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all TACACS+ servers.";
}
identity RADIUS_ALL {
base AAA_METHOD_TYPE;
description
"The group of all RADIUS servers.";
}
identity LOCAL {
base AAA_METHOD_TYPE;
description
"Locally configured method for AAA operations.";
}
// typedef statements
typedef crypt-password-type {
type string;
description
"A password that is hashed based on the hash algorithm
indicated by the prefix in the string. The string
takes the following form, based on the Unix crypt function:
$[$=(,=)*][$[$]]
Common hash functions include:
id | hash function
---+---------------
1 | MD5
2a| Blowfish
2y| Blowfish (correct handling of 8-bit chars)
5 | SHA-256
6 | SHA-512
These may not all be supported by a target device.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-aaa-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.4.1}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}]=SimpleContainerNode{version=Version[65898ab3], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.3.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-yang-types {
yang-version "1";
namespace "http://openconfig.net/yang/types/yang";
prefix "oc-yang";
import openconfig-extensions { prefix "oc-ext"; }
organization
"OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module contains a set of extension types to the
YANG builtin types that are used across multiple
OpenConfig models.
Portions of this code were derived from IETF RFC 6021.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.3.0";
revision "2021-03-02" {
description
"Fix date-and-time and date's pattern statement, and remove the
regexp-posix extension, which makes pattern statements conform to the
YANG standard.";
reference "0.3.0";
}
revision "2020-06-30" {
description
"Add OpenConfig POSIX pattern extensions.";
reference "0.2.2";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.2.1";
}
revision 2018-04-24 {
description
"Add date typedef";
reference "0.2.0";
}
revision 2017-07-30 {
description
"Fixed unprintable character";
reference "0.1.2";
}
revision 2017-04-03 {
description
"Update copyright notice.";
reference "0.1.1";
}
revision 2017-01-26 {
description
"Initial module for inet types";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
typedef dotted-quad {
type string {
pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])';
oc-ext:posix-pattern '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
'25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
'[0-9]|25[0-5])$';
}
description
"An unsigned 32-bit integer expressed as a dotted quad. The
format is four octets written as decimal numbers separated
with a period character.";
}
typedef hex-string {
type string {
pattern '[0-9a-fA-F]*';
oc-ext:posix-pattern '[0-9a-fA-F]*';
}
description
"A string consisting of a hexadecimal characters.";
}
typedef counter32 {
type uint32;
description
"A 32-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When the counter
reaches its maximum value, in this case 2^32-1, it wraps to 0.
Discontinuities in the counter are generally triggered only when
the counter is reset to zero.";
}
typedef counter64 {
type uint64;
description
"A 64-bit counter. A counter value is a monotonically increasing
value which is used to express a count of a number of
occurrences of a particular event or entity. When a counter64
reaches its maximum value, 2^64-1, it loops to zero.
Discontinuities in a counter are generally triggered only when
the counter is reset to zero, through operator or system
intervention.";
}
typedef date-and-time {
type string {
pattern
'[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T' +
'([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' +
'(\.[0-9]+)?(Z|([+-]([0-1][0-9]|2[0-3]):[0-5][0-9]))$';
}
description
"A date and time, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DDTHH:MM:SSZ+-hh:mm
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value. T is the literal character 'T',
HH is the hour of the day expressed as a two digit number, using
the 24-hour clock, MM is the minute of the hour expressed as a
two digit number. Z is the literal character 'Z', followed by a
timezone offset expressed in hours (hh) and minutes (mm), both
expressed as two digit numbers. The time offset is specified as
a positive or negative offset to UTC using the '+' or '-'
character preceding the offset.
Optionally, fractional seconds can be expressed after the minute
of the hour as a decimal number of unspecified precision
reflecting fractions of a second.";
reference
"RFC3339 - Date and Time on the Internet: Timestamps";
}
typedef date {
type string {
pattern '[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])';
oc-ext:posix-pattern
'^[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])$';
}
description
"A full UTC date, expressed in the format described in RFC3339.
That is to say:
YYYY-MM-DD
where YYYY is the year, MM is the month expressed as a two-digit
month (zero padding if required), DD is the day of the month,
expressed as a two digit value.";
reference
"RFC3339 - Date and Time on the Internet: full-date";
}
typedef gauge64 {
type uint64;
description
"A gauge value may increase or decrease - and reflects a value
at a particular point in time. If the value of the variable
being modeled using the gauge exceeds its maximum - 2^64-1 in
this case - the gauge is set to its maximum value.";
}
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
oc-ext:posix-pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A physical layer address, expressed as a series of pairs of
hexadecimal digits.";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
oc-ext:posix-pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"An IEEE 802 MAC address";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-yang-types}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.3.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-system, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.10.0}]=SimpleContainerNode{version=Version[5d5f5244], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-system, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=0.10.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-system {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/system";
prefix "oc-sys";
// import some basic types
import openconfig-inet-types { prefix oc-inet; }
import openconfig-yang-types { prefix oc-yang; }
import openconfig-types { prefix oc-types; }
import openconfig-extensions { prefix oc-ext; }
import openconfig-aaa { prefix oc-aaa; }
import openconfig-system-logging { prefix oc-log; }
import openconfig-system-terminal { prefix oc-sys-term; }
import openconfig-procmon { prefix oc-proc; }
import openconfig-alarms { prefix oc-alarms; }
import openconfig-messages { prefix oc-messages; }
import openconfig-license { prefix oc-license; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"Model for managing system-wide services and functions on
network devices.
Portions of this code were derived from IETF RFC 7317.
Please reproduce this note if possible.
IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";
oc-ext:openconfig-version "0.10.0";
revision "2020-04-13" {
description
"Remove the existing grpc-service, and add a new list
of the gRPC servers in a new module.";
reference "0.10.0";
}
revision "2020-03-25" {
description
"Fix typo in description statement for ipv4-address
list.";
reference "0.9.1";
}
revision "2020-01-07" {
description
"Add import of license management model.";
reference "0.9.0";
}
revision "2019-03-15" {
description
"Update boot time to be nanoseconds since epoch.";
reference "0.8.0";
}
revision "2019-01-29" {
description
"Add messages module to the system model";
reference "0.7.0";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.6.1";
}
revision "2018-07-17" {
description
"Add gRPC server data";
reference "0.6.0";
}
revision "2018-01-21" {
description
"Add cpu utilization data";
reference "0.5.0";
}
revision "2017-12-15" {
description
"Add alarms to the system model";
reference "0.4.0";
}
revision "2017-09-18" {
description
"Updated to use OpenConfig types modules";
reference "0.3.0";
}
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// OpenConfig specific extensions for module metadata.
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
// extension statements
// feature statements
// identity statements
identity NTP_AUTH_TYPE {
description
"Base identity for encryption schemes supported for NTP
authentication keys";
}
identity NTP_AUTH_MD5 {
base NTP_AUTH_TYPE;
description
"MD5 encryption method";
}
// typedef statements
typedef timezone-name-type {
type string;
description
"A time zone name as used by the Time Zone Database,
sometimes referred to as the 'Olson Database'.
The exact set of valid values is an implementation-specific
matter. Client discovery of the exact set of time zone names
for a particular server is out of scope.";
reference
"BCP 175: Procedures for Maintaining the Time Zone Database";
}
// grouping statements
grouping system-clock-config {
description
"Configuration data for system-wide clock configuration";
leaf timezone-name {
type timezone-name-type;
description
"The TZ database name to use for the system, such
as 'Europe/Stockholm'.";
reference "IANA Time Zone Database
http://www.iana.org/time-zones";
}
}
grouping system-clock-state {
description
"Operational state data for system-wide clock configuration";
}
grouping system-clock-top {
description
"Top-level grouping for system-wide clock configuration";
container clock {
description
"Top-level container for clock configuration data";
container config {
description
"Configuration data for system clock";
uses system-clock-config;
}
container state {
config false;
description
"Operational state data for system clock";
uses system-clock-config;
uses system-clock-state;
}
}
}
grouping system-global-config {
description "system-wide configuration parameters";
leaf hostname {
type oc-inet:domain-name;
description
"The hostname of the device -- should be a single domain
label, without the domain.";
}
leaf domain-name {
type oc-inet:domain-name;
description
"Specifies the domain name used to form fully qualified name
for unqualified hostnames.";
}
leaf login-banner {
type string;
description
"The console login message displayed before the login prompt,
i.e., before a user logs into the system.";
}
leaf motd-banner {
type string;
description
"The console message displayed after a user logs into the
system. They system may append additional standard
information such as the current system date and time, uptime,
last login timestamp, etc.";
}
}
grouping system-global-state {
description
"Global operational state data for the system";
leaf current-datetime {
type oc-yang:date-and-time;
description
"The current system date and time.";
}
leaf boot-time {
type oc-types:timeticks64;
units "nanoseconds";
description
"This timestamp indicates the time that the system was last
restarted. The value is the timestamp in nanoseconds relative
to the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
}
}
grouping system-dns-config {
description "DNS / resolver related configuration data";
leaf-list search {
type oc-inet:domain-name;
ordered-by user;
description
"An ordered list of domains to search when resolving
a host name.";
}
}
grouping system-dns-state {
description
"Operational state data for system DNS resolver";
}
grouping system-dns-servers-config {
description
"Configuration data for DNS resolvers";
//RFC 7317 includes a single-value choice statement to for
//TCP and UDP transport. This has been removed since it the
//transport protocol is not generally available as an options
//on target devices. It may be added back if and when needed.
leaf address {
type oc-inet:ip-address;
description
"The address of the DNS server, can be either IPv4
or IPv6.";
}
leaf port {
type oc-inet:port-number;
default 53;
description
"The port number of the DNS server.";
}
//RFC 7317 includes resolver timeout and attempts options. These
//have been omitted as they are not available on many targets. If
//and when they are required, they may be added back in.
}
grouping system-dns-static-config {
description
"Configuration data for static host entries";
leaf hostname {
type string;
description
"Hostname for the static DNS entry";
}
leaf-list alias {
type string;
description
"Additional aliases for the hostname";
}
leaf-list ipv4-address {
type oc-inet:ipv4-address;
description
"List of IPv4 addresses for the host entry";
}
leaf-list ipv6-address {
type oc-inet:ipv6-address;
description
"List of IPv6 addresses for the host entry";
}
}
grouping system-dns-static-state {
description
"Operational state data for static host entries";
}
grouping system-dns-static-top {
description
"Top-level grouping for static DNS host entries";
container host-entries {
description
"Enclosing container for list of static host entries";
list host-entry {
key "hostname";
description
"List of static host entries";
leaf hostname {
type leafref {
path "../config/hostname";
}
description
"Reference to the hostname list key";
}
container config {
description
"Configuration data for static host entries";
uses system-dns-static-config;
}
container state {
config false;
description
"Operational state data for static host entries";
uses system-dns-static-config;
uses system-dns-static-state;
}
}
}
}
grouping system-dns-servers-state {
description
"Operational state data for DNS resolvers";
}
grouping system-dns-servers-top {
description
"Top-level grouping for the list of DNS resolvers.";
container servers {
description
"Enclosing container for DNS resolver list";
list server {
key "address";
ordered-by user;
description
"List of the DNS servers that the resolver should query.
When the resolver is invoked by a calling application, it
sends the query to the first name server in this list. If
no response has been received within 'timeout' seconds,
the resolver continues with the next server in the list.
If no response is received from any server, the resolver
continues with the first server again. When the resolver
has traversed the list 'attempts' times without receiving
any response, it gives up and returns an error to the
calling application.
Implementations MAY limit the number of entries in this
list.";
leaf address {
type leafref {
path "../config/address";
}
description
"References the configured address of the DNS server";
}
container config {
description
"Configuration data for each DNS resolver";
uses system-dns-servers-config;
}
container state {
config false;
description
"Operational state data for each DNS resolver";
uses system-dns-servers-config;
uses system-dns-servers-state;
}
}
}
}
grouping system-dns-top {
description
"Top-level grouping for DNS / resolver config and operational
state data";
container dns {
description
"Enclosing container for DNS resolver data";
container config {
description
"Configuration data for the DNS resolver";
uses system-dns-config;
}
container state {
config false;
description
"Operational state data for the DNS resolver";
uses system-dns-config;
uses system-dns-state;
}
uses system-dns-servers-top;
uses system-dns-static-top;
}
}
grouping system-ntp-server-config {
description
"Configuration data for NTP servers";
leaf address {
type oc-inet:host;
description
"The address or hostname of the NTP server.";
}
leaf port {
type oc-inet:port-number;
default 123;
description
"The port number of the NTP server.";
}
leaf version {
type uint8 {
range 1..4;
}
default 4;
description
"Version number to put in outgoing NTP packets";
}
leaf association-type {
type enumeration {
enum SERVER {
description
"Use client association mode. This device
will not provide synchronization to the
configured NTP server.";
}
enum PEER {
description
"Use symmetric active association mode.
This device may provide synchronization
to the configured NTP server.";
}
enum POOL {
description
"Use client association mode with one or
more of the NTP servers found by DNS
resolution of the domain name given by
the 'address' leaf. This device will not
provide synchronization to the servers.";
}
}
default SERVER;
description
"The desired association type for this NTP server.";
}
leaf iburst {
type boolean;
default false;
description
"Indicates whether this server should enable burst
synchronization or not.";
}
leaf prefer {
type boolean;
default false;
description
"Indicates whether this server should be preferred
or not.";
}
}
grouping system-ntp-server-state {
description
"Operational state data for NTP servers";
leaf stratum {
type uint8;
description
"Indicates the level of the server in the NTP hierarchy. As
stratum number increases, the accuracy is degraded. Primary
servers are stratum while a maximum value of 16 indicates
unsynchronized. The values have the following specific
semantics:
| 0 | unspecified or invalid
| 1 | primary server (e.g., equipped with a GPS receiver)
| 2-15 | secondary server (via NTP)
| 16 | unsynchronized
| 17-255 | reserved";
reference
"RFC 5905 - Network Time Protocol Version 4: Protocol and
Algorithms Specification";
}
leaf root-delay {
type uint32;
// TODO: reconsider units for these values -- the spec defines
// rootdelay and rootdisperson as 2 16-bit integers for seconds
// and fractional seconds, respectively. This gives a
// precision of ~15 us (2^-16). Using milliseconds here based
// on what implementations typically provide and likely lack
// of utility for less than millisecond precision with NTP
// time sync.
units "milliseconds";
description
"The round-trip delay to the server, in milliseconds.";
reference
"RFC 5905 - Network Time Protocol Version 4: Protocol and
Algorithms Specification";
}
leaf root-dispersion {
type uint64;
units "milliseconds";
description
"Dispersion (epsilon) represents the maximum error inherent
in the measurement";
reference
"RFC 5905 - Network Time Protocol Version 4: Protocol and
Algorithms Specification";
}
leaf offset {
type uint64;
units "milliseconds";
description
"Estimate of the current time offset from the peer. This is
the time difference between the local and reference clock.";
}
leaf poll-interval {
type uint32;
units "seconds";
description
"Polling interval of the peer";
}
}
grouping system-ntp-server-top {
description
"Top-level grouping for the list of NTP servers";
container servers {
description
"Enclosing container for the list of NTP servers";
list server {
key "address";
description
"List of NTP servers to use for system clock
synchronization. If '/system/ntp/enabled'
is 'true', then the system will attempt to
contact and utilize the specified NTP servers.";
leaf address {
type leafref {
path "../config/address";
}
description
"References the configured address or hostname of the
NTP server.";
}
container config {
description
"Configuration data for an NTP server.";
uses system-ntp-server-config;
}
container state {
config false;
description
"Operational state data for an NTP server.";
uses system-ntp-server-config;
uses system-ntp-server-state;
}
}
}
}
grouping system-ntp-auth-keys-config {
description
"Configuration data ";
leaf key-id {
type uint16;
description
"Integer identifier used by the client and server to
designate a secret key. The client and server must use
the same key id.";
}
leaf key-type {
type identityref {
base NTP_AUTH_TYPE;
}
description
"Encryption type used for the NTP authentication key";
}
leaf key-value {
type string;
description
"NTP authentication key value";
}
}
grouping system-ntp-auth-keys-state {
description
"Operational state data for NTP auth key data";
}
grouping system-ntp-auth-keys-top {
description
"Top-level grouping for NTP auth key data";
container ntp-keys {
description
"Enclosing container for list of NTP authentication keys";
list ntp-key {
key "key-id";
description
"List of NTP authentication keys";
leaf key-id {
type leafref {
path "../config/key-id";
}
description
"Reference to auth key-id list key";
}
container config {
description
"Configuration data for NTP auth keys";
uses system-ntp-auth-keys-config;
}
container state {
config false;
description
"Operational state data for NTP auth keys";
uses system-ntp-auth-keys-config;
uses system-ntp-auth-keys-state;
}
}
}
}
grouping system-ntp-config {
description
"Configuration data for system-wide NTP operation.";
leaf enabled {
type boolean;
default false;
description
"Enables the NTP protocol and indicates that the system should
attempt to synchronize the system clock with an NTP server
from the servers defined in the 'ntp/server' list.";
}
leaf ntp-source-address {
type oc-inet:ip-address;
description
"Source address to use on outgoing NTP packets";
}
leaf enable-ntp-auth {
type boolean;
default false;
description
"Enable or disable NTP authentication -- when enabled, the
system will only use packets containing a trusted
authentication key to synchronize the time.";
}
}
grouping system-ntp-state {
description
"Operational state data for system-wide NTP operation.";
leaf auth-mismatch {
type oc-yang:counter64;
description
"Count of the number of NTP packets received that were not
processed due to authentication mismatch.";
}
}
grouping system-ntp-top {
description
"Top-level grouping for configuration and state data for NTP";
container ntp {
description
"Top-level container for NTP configuration and state";
container config {
description
"Configuration data for NTP client.";
uses system-ntp-config;
}
container state {
config false;
description
"Operational state data for NTP services.";
uses system-ntp-config;
uses system-ntp-state;
}
uses system-ntp-auth-keys-top;
uses system-ntp-server-top;
}
}
grouping system-memory-config {
description
"Configuration data for system memory";
}
grouping system-memory-state {
description
"Operational state data for system memory";
leaf physical {
type uint64;
units bytes;
// TODO: consider making units in megabytes
description
"Reports the total physical memory available on the
system.";
}
leaf reserved {
type uint64;
units bytes;
description
"Memory reserved for system use";
}
}
grouping system-memory-top {
description
"Top-level grouping for system memory data definitions";
container memory {
description
"Top-level container for system memory data";
container config {
description
"Configuration data for system memory";
uses system-memory-config;
}
container state {
config false;
description
"Operational state data for system memory";
uses system-memory-config;
uses system-memory-state;
}
}
}
grouping system-cpu-state {
description
"Operational state data for the system CPU(s)";
leaf index {
type union {
type enumeration {
enum ALL {
description
"Index value indicating all CPUs in the system";
}
}
type uint32;
}
description
"The CPU index for each processor core on the system. On a
single-core system, the index should be zero. The ALL
index signifies an aggregation of the CPU utilization
statistics over all cores in the system.";
}
container total {
description
"Total CPU utilization.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container user {
description
"Percentage of CPU time spent running in user space.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container kernel {
description
"Percentage of CPU time spent running in kernel space.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container nice {
description
"Percentage of CPU time spent running low-priority (niced)
user processes.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container idle {
description
"Percentage of CPU time spent idle.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container wait {
description
"Percentage of CPU time spent waiting for I/O.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container hardware-interrupt {
description
"Percentage of CPU time spent servicing hardware interrupts.";
uses oc-types:avg-min-max-instant-stats-pct;
}
container software-interrupt {
description
"Percentage of CPU time spent servicing software interrupts";
uses oc-types:avg-min-max-instant-stats-pct;
}
}
grouping system-cpu-top {
description
"Top-level grouping for system CPU data";
container cpus {
config false;
description
"Enclosing container for the list of CPU cores on the
system";
list cpu {
key "index";
description
"List of CPU cores on the system (including logical CPUs
on hyperthreaded systems), keyed by either a numerical
index, or the ALL value for an entry representing the
aggregation across all CPUs.";
leaf index {
type leafref {
path "../state/index";
}
description
"Reference to list key";
}
container state {
description
"Operational state data for the system CPU(s)";
uses system-cpu-state;
}
}
}
}
grouping system-top {
description
"Top level system data containers";
container system {
description
"Enclosing container for system-related configuration and
operational state data";
container config {
description "Global configuration data for the system";
uses system-global-config;
}
container state {
config false;
description "Global operational state data for the system";
uses system-global-config;
uses system-global-state;
}
uses system-clock-top;
uses system-dns-top;
uses system-ntp-top;
uses oc-sys-term:system-ssh-server-top;
uses oc-sys-term:system-telnet-server-top;
uses oc-log:logging-top;
uses oc-aaa:aaa-top;
uses system-memory-top;
uses system-cpu-top;
uses oc-proc:procmon-processes-top;
uses oc-alarms:alarms-top;
uses oc-messages:messages-top;
uses oc-license:license-top;
}
}
// data definition statements
uses system-top;
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-system}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=0.10.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}]=SimpleContainerNode{version=Version[350a5a3f], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=gnmi-test-model, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=1.0.0}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module gnmi-test-model {
yang-version "1";
namespace "test:model";
prefix "gtm";
import openconfig-extensions { prefix oc-ext; }
import openconfig-inet-types { prefix inet; }
import openconfig-aaa-types { prefix types; }
oc-ext:openconfig-version "1.0.0";
container test-data {
leaf-list test-leaf-list {
type string;
}
list test-list {
key key;
leaf key {
type string;
}
}
container nested-container {
leaf nc-leaf {
type string;
}
}
list multiple-key-list {
key "number leafref-key identityref-key union-key";
leaf number {
type inet:as-number;
}
leaf leafref-key {
type leafref {
path "../number";
}
}
leaf identityref-key {
type identityref {
base "types:SYSTEM_DEFINED_ROLES";
}
}
leaf union-key {
type union {
type int32;
type enumeration {
enum "unbounded";
}
}
}
container inner-container {
leaf inner-data {
type string;
}
}
}
}
list base-list {
key list-key;
leaf list-key {
type string;
}
list nested-list {
key nested-list-key;
leaf nested-list-key {
type string;
}
}
}
augment /test-data {
container augmented-container {
leaf augmented-data {
type string;
}
}
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=gnmi-test-model}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=1.0.0}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}]=SimpleContainerNode{version=Version[304b129c], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=iana-if-type, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2023-01-26}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module iana-if-type {
namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
prefix ianaift;
import ietf-interfaces {
prefix if;
}
organization "IANA";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
";
description
"This YANG module defines YANG identities for IANA-registered
interface types.
This YANG module is maintained by IANA and reflects the
'ifType definitions' registry.
The latest revision of this YANG module can be obtained from
the IANA web site.
Requests for new values should be made to IANA via
email (iana@iana.org).
Copyright (c) 2014 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this YANG module is part of RFC 7224;
see the RFC itself for full legal notices.";
reference
"IANA 'ifType definitions' registry.
";
revision 2023-01-26 {
description
"Fix incorrect quotation for previous 3 revision statements.";
}
revision 2022-08-24 {
description
"Updated reference for ifType 303.";
}
revision 2022-08-17 {
description
"Changed gpon description to refer to G.984.";
}
revision 2022-03-07 {
description
"Coalesced revision history entries for 2018-06-28.";
}
revision 2021-06-21 {
description
"Corrected reference for ifType 303.";
}
revision 2021-05-17 {
description
"Registered ifType 303.";
}
revision 2021-04-22 {
description
"Registered ifType 302.";
}
revision 2021-04-01 {
description
"Updated reference for 301.";
}
revision 2021-02-18 {
description
"Registered ifType 301.";
}
revision 2020-08-27 {
description
"Added missing references.";
}
revision 2020-07-13 {
description
"Added identity cpri.";
}
revision 2020-07-10 {
description
"Registered ifType 300.";
}
revision 2020-01-10 {
description
"Registered ifType 299.";
}
revision 2019-10-16 {
description
"Registered ifType 298.";
}
revision 2019-07-16 {
description
"Registered ifType 297.";
}
revision 2019-06-21 {
description
"Updated reference associated with ifTypes 295-296.";
}
revision 2019-02-08 {
description
"Corrected formatting issue.";
}
revision 2019-01-31 {
description
"Registered ifTypes 295-296.";
}
revision 2018-07-03 {
description
"Corrected revision date.";
}
revision 2018-06-29 {
description
"Corrected formatting issue.";
}
revision 2018-06-28 {
description
"Registered ifTypes 293 and 294.";
}
revision 2018-06-22 {
description
"Registered ifType 292.";
}
revision 2018-06-21 {
description
"Registered ifType 291.";
}
revision 2017-03-30 {
description
"Registered ifType 290.";
}
revision 2017-01-19 {
description
"Registered ifType 289.";
}
revision 2016-11-23 {
description
"Registered ifTypes 283-288.";
}
revision 2016-06-09 {
description
"Registered ifType 282.";
}
revision 2016-05-03 {
description
"Registered ifType 281.";
}
revision 2015-06-12 {
description
"Corrected formatting issue.";
}
revision 2014-09-24 {
description
"Registered ifType 280.";
}
revision 2014-09-19 {
description
"Registered ifType 279.";
}
revision 2014-07-03 {
description
"Registered ifTypes 277-278.";
}
revision 2014-05-19 {
description
"Updated the contact address.";
}
revision 2014-05-08 {
description
"Initial revision.";
reference
"RFC 7224: IANA Interface Type YANG Module";
}
identity iana-interface-type {
base if:interface-type;
description
"This identity is used as a base for all interface types
defined in the 'ifType definitions' registry.";
}
identity other {
base iana-interface-type;
}
identity regular1822 {
base iana-interface-type;
}
identity hdh1822 {
base iana-interface-type;
}
identity ddnX25 {
base iana-interface-type;
}
identity rfc877x25 {
base iana-interface-type;
reference
"RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
}
identity ethernetCsmacd {
base iana-interface-type;
description
"For all Ethernet-like interfaces, regardless of speed,
as per RFC 3635.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88023Csmacd {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity iso88024TokenBus {
base iana-interface-type;
}
identity iso88025TokenRing {
base iana-interface-type;
}
identity iso88026Man {
base iana-interface-type;
}
identity starLan {
base iana-interface-type;
status deprecated;
description
"Deprecated via RFC 3635.
Use ethernetCsmacd(6) instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity proteon10Mbit {
base iana-interface-type;
}
identity proteon80Mbit {
base iana-interface-type;
}
identity hyperchannel {
base iana-interface-type;
}
identity fddi {
base iana-interface-type;
reference
"RFC 1512 - FDDI Management Information Base";
}
identity lapb {
base iana-interface-type;
reference
"RFC 1381 - SNMP MIB Extension for X.25 LAPB";
}
identity sdlc {
base iana-interface-type;
}
identity ds1 {
base iana-interface-type;
description
"DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity e1 {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
reference
"RFC 4805 - Definitions of Managed Objects for the
DS1, J1, E1, DS2, and E2 Interface Types";
}
identity basicISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity primaryISDN {
base iana-interface-type;
description
"No longer used. See also RFC 2127.";
}
identity propPointToPointSerial {
base iana-interface-type;
description
"Proprietary serial.";
}
identity ppp {
base iana-interface-type;
}
identity softwareLoopback {
base iana-interface-type;
}
identity eon {
base iana-interface-type;
description
"CLNP over IP.";
}
identity ethernet3Mbit {
base iana-interface-type;
}
identity nsip {
base iana-interface-type;
description
"XNS over IP.";
}
identity slip {
base iana-interface-type;
description
"Generic SLIP.";
}
identity ultra {
base iana-interface-type;
description
"Ultra Technologies.";
}
identity ds3 {
base iana-interface-type;
description
"DS3-MIB.";
reference
"RFC 3896 - Definitions of Managed Objects for the
DS3/E3 Interface Type";
}
identity sip {
base iana-interface-type;
description
"SMDS, coffee.";
reference
"RFC 1694 - Definitions of Managed Objects for SMDS
Interfaces using SMIv2";
}
identity frameRelay {
base iana-interface-type;
description
"DTE only.";
reference
"RFC 2115 - Management Information Base for Frame Relay
DTEs Using SMIv2";
}
identity rs232 {
base iana-interface-type;
reference
"RFC 1659 - Definitions of Managed Objects for RS-232-like
Hardware Devices using SMIv2";
}
identity para {
base iana-interface-type;
description
"Parallel-port.";
reference
"RFC 1660 - Definitions of Managed Objects for
Parallel-printer-like Hardware Devices using
SMIv2";
}
identity arcnet {
base iana-interface-type;
description
"ARCnet.";
}
identity arcnetPlus {
base iana-interface-type;
description
"ARCnet Plus.";
}
identity atm {
base iana-interface-type;
description
"ATM cells.";
}
identity miox25 {
base iana-interface-type;
reference
"RFC 1461 - SNMP MIB extension for Multiprotocol
Interconnect over X.25";
}
identity sonet {
base iana-interface-type;
description
"SONET or SDH.";
}
identity x25ple {
base iana-interface-type;
reference
"RFC 2127 - ISDN Management Information Base using SMIv2";
}
identity iso88022llc {
base iana-interface-type;
}
identity localTalk {
base iana-interface-type;
}
identity smdsDxi {
base iana-interface-type;
}
identity frameRelayService {
base iana-interface-type;
description
"FRNETSERV-MIB.";
reference
"RFC 2954 - Definitions of Managed Objects for Frame
Relay Service";
}
identity v35 {
base iana-interface-type;
}
identity hssi {
base iana-interface-type;
}
identity hippi {
base iana-interface-type;
}
identity modem {
base iana-interface-type;
description
"Generic modem.";
}
identity aal5 {
base iana-interface-type;
description
"AAL5 over ATM.";
}
identity sonetPath {
base iana-interface-type;
}
identity sonetVT {
base iana-interface-type;
}
identity smdsIcip {
base iana-interface-type;
description
"SMDS InterCarrier Interface.";
}
identity propVirtual {
base iana-interface-type;
description
"Proprietary virtual/internal.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity propMultiplexor {
base iana-interface-type;
description
"Proprietary multiplexing.";
reference
"RFC 2863 - The Interfaces Group MIB";
}
identity ieee80212 {
base iana-interface-type;
description
"100BaseVG.";
}
identity fibreChannel {
base iana-interface-type;
description
"Fibre Channel.";
}
identity hippiInterface {
base iana-interface-type;
description
"HIPPI interfaces.";
}
identity frameRelayInterconnect {
base iana-interface-type;
status obsolete;
description
"Obsolete; use either
frameRelay(32) or frameRelayService(44).";
}
identity aflane8023 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.3.";
}
identity aflane8025 {
base iana-interface-type;
description
"ATM Emulated LAN for 802.5.";
}
identity cctEmul {
base iana-interface-type;
description
"ATM Emulated circuit.";
}
identity fastEther {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity isdn {
base iana-interface-type;
description
"ISDN and X.25.";
reference
"RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
in the Packet Mode";
}
identity v11 {
base iana-interface-type;
description
"CCITT V.11/X.21.";
}
identity v36 {
base iana-interface-type;
description
"CCITT V.36.";
}
identity g703at64k {
base iana-interface-type;
description
"CCITT G703 at 64Kbps.";
}
identity g703at2mb {
base iana-interface-type;
status obsolete;
description
"Obsolete; see DS1-MIB.";
}
identity qllc {
base iana-interface-type;
description
"SNA QLLC.";
}
identity fastEtherFX {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity channel {
base iana-interface-type;
description
"Channel.";
}
identity ieee80211 {
base iana-interface-type;
description
"Radio spread spectrum.";
}
identity ibm370parChan {
base iana-interface-type;
description
"IBM System 360/370 OEMI Channel.";
}
identity escon {
base iana-interface-type;
description
"IBM Enterprise Systems Connection.";
}
identity dlsw {
base iana-interface-type;
description
"Data Link Switching.";
}
identity isdns {
base iana-interface-type;
description
"ISDN S/T interface.";
}
identity isdnu {
base iana-interface-type;
description
"ISDN U interface.";
}
identity lapd {
base iana-interface-type;
description
"Link Access Protocol D.";
}
identity ipSwitch {
base iana-interface-type;
description
"IP Switching Objects.";
}
identity rsrb {
base iana-interface-type;
description
"Remote Source Route Bridging.";
}
identity atmLogical {
base iana-interface-type;
description
"ATM Logical Port.";
reference
"RFC 3606 - Definitions of Supplemental Managed Objects
for ATM Interface";
}
identity ds0 {
base iana-interface-type;
description
"Digital Signal Level 0.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity ds0Bundle {
base iana-interface-type;
description
"Group of ds0s on the same ds1.";
reference
"RFC 2494 - Definitions of Managed Objects for the DS0
and DS0 Bundle Interface Type";
}
identity bsc {
base iana-interface-type;
description
"Bisynchronous Protocol.";
}
identity async {
base iana-interface-type;
description
"Asynchronous Protocol.";
}
identity cnr {
base iana-interface-type;
description
"Combat Net Radio.";
}
identity iso88025Dtr {
base iana-interface-type;
description
"ISO 802.5r DTR.";
}
identity eplrs {
base iana-interface-type;
description
"Ext Pos Loc Report Sys.";
}
identity arap {
base iana-interface-type;
description
"Appletalk Remote Access Protocol.";
}
identity propCnls {
base iana-interface-type;
description
"Proprietary Connectionless Protocol.";
}
identity hostPad {
base iana-interface-type;
description
"CCITT-ITU X.29 PAD Protocol.";
}
identity termPad {
base iana-interface-type;
description
"CCITT-ITU X.3 PAD Facility.";
}
identity frameRelayMPI {
base iana-interface-type;
description
"Multiproto Interconnect over FR.";
}
identity x213 {
base iana-interface-type;
description
"CCITT-ITU X213.";
}
identity adsl {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop.";
}
identity radsl {
base iana-interface-type;
description
"Rate-Adapt. Digital Subscriber Loop.";
}
identity sdsl {
base iana-interface-type;
description
"Symmetric Digital Subscriber Loop.";
}
identity vdsl {
base iana-interface-type;
description
"Very H-Speed Digital Subscrib. Loop.";
}
identity iso88025CRFPInt {
base iana-interface-type;
description
"ISO 802.5 CRFP.";
}
identity myrinet {
base iana-interface-type;
description
"Myricom Myrinet.";
}
identity voiceEM {
base iana-interface-type;
description
"Voice recEive and transMit.";
}
identity voiceFXO {
base iana-interface-type;
description
"Voice Foreign Exchange Office.";
}
identity voiceFXS {
base iana-interface-type;
description
"Voice Foreign Exchange Station.";
}
identity voiceEncap {
base iana-interface-type;
description
"Voice encapsulation.";
}
identity voiceOverIp {
base iana-interface-type;
description
"Voice over IP encapsulation.";
}
identity atmDxi {
base iana-interface-type;
description
"ATM DXI.";
}
identity atmFuni {
base iana-interface-type;
description
"ATM FUNI.";
}
identity atmIma {
base iana-interface-type;
description
"ATM IMA.";
}
identity pppMultilinkBundle {
base iana-interface-type;
description
"PPP Multilink Bundle.";
}
identity ipOverCdlc {
base iana-interface-type;
description
"IBM ipOverCdlc.";
}
identity ipOverClaw {
base iana-interface-type;
description
"IBM Common Link Access to Workstn.";
}
identity stackToStack {
base iana-interface-type;
description
"IBM stackToStack.";
}
identity virtualIpAddress {
base iana-interface-type;
description
"IBM VIPA.";
}
identity mpc {
base iana-interface-type;
description
"IBM multi-protocol channel support.";
}
identity ipOverAtm {
base iana-interface-type;
description
"IBM ipOverAtm.";
reference
"RFC 2320 - Definitions of Managed Objects for Classical IP
and ARP Over ATM Using SMIv2 (IPOA-MIB)";
}
identity iso88025Fiber {
base iana-interface-type;
description
"ISO 802.5j Fiber Token Ring.";
}
identity tdlc {
base iana-interface-type;
description
"IBM twinaxial data link control.";
}
identity gigabitEthernet {
base iana-interface-type;
status deprecated;
description
"Obsoleted via RFC 3635.
ethernetCsmacd(6) should be used instead.";
reference
"RFC 3635 - Definitions of Managed Objects for the
Ethernet-like Interface Types";
}
identity hdlc {
base iana-interface-type;
description
"HDLC.";
}
identity lapf {
base iana-interface-type;
description
"LAP F.";
}
identity v37 {
base iana-interface-type;
description
"V.37.";
}
identity x25mlp {
base iana-interface-type;
description
"Multi-Link Protocol.";
}
identity x25huntGroup {
base iana-interface-type;
description
"X25 Hunt Group.";
}
identity transpHdlc {
base iana-interface-type;
description
"Transp HDLC.";
}
identity interleave {
base iana-interface-type;
description
"Interleave channel.";
}
identity fast {
base iana-interface-type;
description
"Fast channel.";
}
identity ip {
base iana-interface-type;
description
"IP (for APPN HPR in IP networks).";
}
identity docsCableMaclayer {
base iana-interface-type;
description
"CATV Mac Layer.";
}
identity docsCableDownstream {
base iana-interface-type;
description
"CATV Downstream interface.";
}
identity docsCableUpstream {
base iana-interface-type;
description
"CATV Upstream interface.";
}
identity a12MppSwitch {
base iana-interface-type;
description
"Avalon Parallel Processor.";
}
identity tunnel {
base iana-interface-type;
description
"Encapsulation interface.";
}
identity coffee {
base iana-interface-type;
description
"Coffee pot.";
reference
"RFC 2325 - Coffee MIB";
}
identity ces {
base iana-interface-type;
description
"Circuit Emulation Service.";
}
identity atmSubInterface {
base iana-interface-type;
description
"ATM Sub Interface.";
}
identity l2vlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using 802.1Q.";
}
identity l3ipvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IP.";
}
identity l3ipxvlan {
base iana-interface-type;
description
"Layer 3 Virtual LAN using IPX.";
}
identity digitalPowerline {
base iana-interface-type;
description
"IP over Power Lines.";
}
identity mediaMailOverIp {
base iana-interface-type;
description
"Multimedia Mail over IP.";
}
identity dtm {
base iana-interface-type;
description
"Dynamic synchronous Transfer Mode.";
}
identity dcn {
base iana-interface-type;
description
"Data Communications Network.";
}
identity ipForward {
base iana-interface-type;
description
"IP Forwarding Interface.";
}
identity msdsl {
base iana-interface-type;
description
"Multi-rate Symmetric DSL.";
}
identity ieee1394 {
base iana-interface-type;
description
"IEEE1394 High Performance Serial Bus.";
}
identity if-gsn {
base iana-interface-type;
description
"HIPPI-6400.";
}
identity dvbRccMacLayer {
base iana-interface-type;
description
"DVB-RCC MAC Layer.";
}
identity dvbRccDownstream {
base iana-interface-type;
description
"DVB-RCC Downstream Channel.";
}
identity dvbRccUpstream {
base iana-interface-type;
description
"DVB-RCC Upstream Channel.";
}
identity atmVirtual {
base iana-interface-type;
description
"ATM Virtual Interface.";
}
identity mplsTunnel {
base iana-interface-type;
description
"MPLS Tunnel Virtual Interface.";
}
identity srp {
base iana-interface-type;
description
"Spatial Reuse Protocol.";
}
identity voiceOverAtm {
base iana-interface-type;
description
"Voice over ATM.";
}
identity voiceOverFrameRelay {
base iana-interface-type;
description
"Voice Over Frame Relay.";
}
identity idsl {
base iana-interface-type;
description
"Digital Subscriber Loop over ISDN.";
}
identity compositeLink {
base iana-interface-type;
description
"Avici Composite Link Interface.";
}
identity ss7SigLink {
base iana-interface-type;
description
"SS7 Signaling Link.";
}
identity propWirelessP2P {
base iana-interface-type;
description
"Prop. P2P wireless interface.";
}
identity frForward {
base iana-interface-type;
description
"Frame Forward Interface.";
}
identity rfc1483 {
base iana-interface-type;
description
"Multiprotocol over ATM AAL5.";
reference
"RFC 1483 - Multiprotocol Encapsulation over ATM
Adaptation Layer 5";
}
identity usb {
base iana-interface-type;
description
"USB Interface.";
}
identity ieee8023adLag {
base iana-interface-type;
description
"IEEE 802.3ad Link Aggregate.";
}
identity bgppolicyaccounting {
base iana-interface-type;
description
"BGP Policy Accounting.";
}
identity frf16MfrBundle {
base iana-interface-type;
description
"FRF.16 Multilink Frame Relay.";
}
identity h323Gatekeeper {
base iana-interface-type;
description
"H323 Gatekeeper.";
}
identity h323Proxy {
base iana-interface-type;
description
"H323 Voice and Video Proxy.";
}
identity mpls {
base iana-interface-type;
description
"MPLS.";
}
identity mfSigLink {
base iana-interface-type;
description
"Multi-frequency signaling link.";
}
identity hdsl2 {
base iana-interface-type;
description
"High Bit-Rate DSL - 2nd generation.";
}
identity shdsl {
base iana-interface-type;
description
"Multirate HDSL2.";
}
identity ds1FDL {
base iana-interface-type;
description
"Facility Data Link (4Kbps) on a DS1.";
}
identity pos {
base iana-interface-type;
description
"Packet over SONET/SDH Interface.";
}
identity dvbAsiIn {
base iana-interface-type;
description
"DVB-ASI Input.";
}
identity dvbAsiOut {
base iana-interface-type;
description
"DVB-ASI Output.";
}
identity plc {
base iana-interface-type;
description
"Power Line Communications.";
}
identity nfas {
base iana-interface-type;
description
"Non-Facility Associated Signaling.";
}
identity tr008 {
base iana-interface-type;
description
"TR008.";
}
identity gr303RDT {
base iana-interface-type;
description
"Remote Digital Terminal.";
}
identity gr303IDT {
base iana-interface-type;
description
"Integrated Digital Terminal.";
}
identity isup {
base iana-interface-type;
description
"ISUP.";
}
identity propDocsWirelessMaclayer {
base iana-interface-type;
description
"Cisco proprietary Maclayer.";
}
identity propDocsWirelessDownstream {
base iana-interface-type;
description
"Cisco proprietary Downstream.";
}
identity propDocsWirelessUpstream {
base iana-interface-type;
description
"Cisco proprietary Upstream.";
}
identity hiperlan2 {
base iana-interface-type;
description
"HIPERLAN Type 2 Radio Interface.";
}
identity propBWAp2Mp {
base iana-interface-type;
description
"PropBroadbandWirelessAccesspt2Multipt (use of this value
for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
is deprecated, and ieee80216WMAN(237) should be used
instead).";
}
identity sonetOverheadChannel {
base iana-interface-type;
description
"SONET Overhead Channel.";
}
identity digitalWrapperOverheadChannel {
base iana-interface-type;
description
"Digital Wrapper.";
}
identity aal2 {
base iana-interface-type;
description
"ATM adaptation layer 2.";
}
identity radioMAC {
base iana-interface-type;
description
"MAC layer over radio links.";
}
identity atmRadio {
base iana-interface-type;
description
"ATM over radio links.";
}
identity imt {
base iana-interface-type;
description
"Inter-Machine Trunks.";
}
identity mvl {
base iana-interface-type;
description
"Multiple Virtual Lines DSL.";
}
identity reachDSL {
base iana-interface-type;
description
"Long Reach DSL.";
}
identity frDlciEndPt {
base iana-interface-type;
description
"Frame Relay DLCI End Point.";
}
identity atmVciEndPt {
base iana-interface-type;
description
"ATM VCI End Point.";
}
identity opticalChannel {
base iana-interface-type;
description
"Optical Channel.";
}
identity opticalTransport {
base iana-interface-type;
description
"Optical Transport.";
}
identity propAtm {
base iana-interface-type;
description
"Proprietary ATM.";
}
identity voiceOverCable {
base iana-interface-type;
description
"Voice Over Cable Interface.";
}
identity infiniband {
base iana-interface-type;
description
"Infiniband.";
}
identity teLink {
base iana-interface-type;
description
"TE Link.";
}
identity q2931 {
base iana-interface-type;
description
"Q.2931.";
}
identity virtualTg {
base iana-interface-type;
description
"Virtual Trunk Group.";
}
identity sipTg {
base iana-interface-type;
description
"SIP Trunk Group.";
}
identity sipSig {
base iana-interface-type;
description
"SIP Signaling.";
}
identity docsCableUpstreamChannel {
base iana-interface-type;
description
"CATV Upstream Channel.";
}
identity econet {
base iana-interface-type;
description
"Acorn Econet.";
}
identity pon155 {
base iana-interface-type;
description
"FSAN 155Mb Symetrical PON interface.";
}
identity pon622 {
base iana-interface-type;
description
"FSAN 622Mb Symetrical PON interface.";
}
identity bridge {
base iana-interface-type;
description
"Transparent bridge interface.";
}
identity linegroup {
base iana-interface-type;
description
"Interface common to multiple lines.";
}
identity voiceEMFGD {
base iana-interface-type;
description
"Voice E&M Feature Group D.";
}
identity voiceFGDEANA {
base iana-interface-type;
description
"Voice FGD Exchange Access North American.";
}
identity voiceDID {
base iana-interface-type;
description
"Voice Direct Inward Dialing.";
}
identity mpegTransport {
base iana-interface-type;
description
"MPEG transport interface.";
}
identity sixToFour {
base iana-interface-type;
status deprecated;
description
"6to4 interface (DEPRECATED).";
reference
"RFC 4087 - IP Tunnel MIB";
}
identity gtp {
base iana-interface-type;
description
"GTP (GPRS Tunneling Protocol).";
}
identity pdnEtherLoop1 {
base iana-interface-type;
description
"Paradyne EtherLoop 1.";
}
identity pdnEtherLoop2 {
base iana-interface-type;
description
"Paradyne EtherLoop 2.";
}
identity opticalChannelGroup {
base iana-interface-type;
description
"Optical Channel Group.";
}
identity homepna {
base iana-interface-type;
description
"HomePNA ITU-T G.989.";
}
identity gfp {
base iana-interface-type;
description
"Generic Framing Procedure (GFP).";
}
identity ciscoISLvlan {
base iana-interface-type;
description
"Layer 2 Virtual LAN using Cisco ISL.";
}
identity actelisMetaLOOP {
base iana-interface-type;
description
"Acteleis proprietary MetaLOOP High Speed Link.";
}
identity fcipLink {
base iana-interface-type;
description
"FCIP Link.";
}
identity rpr {
base iana-interface-type;
description
"Resilient Packet Ring Interface Type.";
}
identity qam {
base iana-interface-type;
description
"RF Qam Interface.";
}
identity lmp {
base iana-interface-type;
description
"Link Management Protocol.";
reference
"RFC 4327 - Link Management Protocol (LMP) Management
Information Base (MIB)";
}
identity cblVectaStar {
base iana-interface-type;
description
"Cambridge Broadband Networks Limited VectaStar.";
}
identity docsCableMCmtsDownstream {
base iana-interface-type;
description
"CATV Modular CMTS Downstream Interface.";
}
identity adsl2 {
base iana-interface-type;
status deprecated;
description
"Asymmetric Digital Subscriber Loop Version 2
(DEPRECATED/OBSOLETED - please use adsl2plus(238)
instead).";
reference
"RFC 4706 - Definitions of Managed Objects for Asymmetric
Digital Subscriber Line 2 (ADSL2)";
}
identity macSecControlledIF {
base iana-interface-type;
description
"MACSecControlled.";
}
identity macSecUncontrolledIF {
base iana-interface-type;
description
"MACSecUncontrolled.";
}
identity aviciOpticalEther {
base iana-interface-type;
description
"Avici Optical Ethernet Aggregate.";
}
identity atmbond {
base iana-interface-type;
description
"atmbond.";
}
identity voiceFGDOS {
base iana-interface-type;
description
"Voice FGD Operator Services.";
}
identity mocaVersion1 {
base iana-interface-type;
description
"MultiMedia over Coax Alliance (MoCA) Interface
as documented in information provided privately to IANA.";
}
identity ieee80216WMAN {
base iana-interface-type;
description
"IEEE 802.16 WMAN interface.";
}
identity adsl2plus {
base iana-interface-type;
description
"Asymmetric Digital Subscriber Loop Version 2 -
Version 2 Plus and all variants.";
}
identity dvbRcsMacLayer {
base iana-interface-type;
description
"DVB-RCS MAC Layer.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbTdm {
base iana-interface-type;
description
"DVB Satellite TDM.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity dvbRcsTdma {
base iana-interface-type;
description
"DVB-RCS TDMA.";
reference
"RFC 5728 - The SatLabs Group DVB-RCS MIB";
}
identity x86Laps {
base iana-interface-type;
description
"LAPS based on ITU-T X.86/Y.1323.";
}
identity wwanPP {
base iana-interface-type;
description
"3GPP WWAN.";
}
identity wwanPP2 {
base iana-interface-type;
description
"3GPP2 WWAN.";
}
identity voiceEBS {
base iana-interface-type;
description
"Voice P-phone EBS physical interface.";
}
identity ifPwType {
base iana-interface-type;
description
"Pseudowire interface type.";
reference
"RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
}
identity ilan {
base iana-interface-type;
description
"Internal LAN on a bridge per IEEE 802.1ap.";
}
identity pip {
base iana-interface-type;
description
"Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
}
identity aluELP {
base iana-interface-type;
description
"Alcatel-Lucent Ethernet Link Protection.";
}
identity gpon {
base iana-interface-type;
description
"Gigabit-capable passive optical networks (G-PON) as per
ITU-T G.984.";
}
identity vdsl2 {
base iana-interface-type;
description
"Very high speed digital subscriber line Version 2
(as per ITU-T Recommendation G.993.2).";
reference
"RFC 5650 - Definitions of Managed Objects for Very High
Speed Digital Subscriber Line 2 (VDSL2)";
}
identity capwapDot11Profile {
base iana-interface-type;
description
"WLAN Profile Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapDot11Bss {
base iana-interface-type;
description
"WLAN BSS Interface.";
reference
"RFC 5834 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Binding MIB for
IEEE 802.11";
}
identity capwapWtpVirtualRadio {
base iana-interface-type;
description
"WTP Virtual Radio Interface.";
reference
"RFC 5833 - Control and Provisioning of Wireless Access
Points (CAPWAP) Protocol Base MIB";
}
identity bits {
base iana-interface-type;
description
"bitsport.";
}
identity docsCableUpstreamRfPort {
base iana-interface-type;
description
"DOCSIS CATV Upstream RF Port.";
}
identity cableDownstreamRfPort {
base iana-interface-type;
description
"CATV downstream RF Port.";
}
identity vmwareVirtualNic {
base iana-interface-type;
description
"VMware Virtual Network Interface.";
}
identity ieee802154 {
base iana-interface-type;
description
"IEEE 802.15.4 WPAN interface.";
reference
"IEEE 802.15.4-2006";
}
identity otnOdu {
base iana-interface-type;
description
"OTN Optical Data Unit.";
}
identity otnOtu {
base iana-interface-type;
description
"OTN Optical channel Transport Unit.";
}
identity ifVfiType {
base iana-interface-type;
description
"VPLS Forwarding Instance Interface Type.";
}
identity g9981 {
base iana-interface-type;
description
"G.998.1 bonded interface.";
}
identity g9982 {
base iana-interface-type;
description
"G.998.2 bonded interface.";
}
identity g9983 {
base iana-interface-type;
description
"G.998.3 bonded interface.";
}
identity aluEpon {
base iana-interface-type;
description
"Ethernet Passive Optical Networks (E-PON).";
}
identity aluEponOnu {
base iana-interface-type;
description
"EPON Optical Network Unit.";
}
identity aluEponPhysicalUni {
base iana-interface-type;
description
"EPON physical User to Network interface.";
}
identity aluEponLogicalLink {
base iana-interface-type;
description
"The emulation of a point-to-point link over the EPON
layer.";
}
identity aluGponOnu {
base iana-interface-type;
description
"GPON Optical Network Unit.";
reference
"ITU-T G.984.2";
}
identity aluGponPhysicalUni {
base iana-interface-type;
description
"GPON physical User to Network interface.";
reference
"ITU-T G.984.2";
}
identity vmwareNicTeam {
base iana-interface-type;
description
"VMware NIC Team.";
}
identity docsOfdmDownstream {
base iana-interface-type;
description
"CATV Downstream OFDM interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity docsOfdmaUpstream {
base iana-interface-type;
description
"CATV Upstream OFDMA interface.";
reference
"Cable Modem Operations Support System Interface
Specification";
}
identity gfast {
base iana-interface-type;
description
"G.fast port.";
reference
"ITU-T G.9701";
}
identity sdci {
base iana-interface-type;
description
"SDCI (IO-Link).";
reference
"IEC 61131-9 Edition 1.0 2013-09";
}
identity xboxWireless {
base iana-interface-type;
description
"Xbox wireless.";
}
identity fastdsl {
base iana-interface-type;
description
"FastDSL.";
reference
"BBF TR-355";
}
identity docsCableScte55d1FwdOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Forward Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d1RetOob {
base iana-interface-type;
description
"Cable SCTE 55-1 OOB Return Channel.";
reference
"ANSI/SCTE 55-1 2009";
}
identity docsCableScte55d2DsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Downstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableScte55d2UsOob {
base iana-interface-type;
description
"Cable SCTE 55-2 OOB Upstream Channel.";
reference
"ANSI/SCTE 55-2 2008";
}
identity docsCableNdf {
base iana-interface-type;
description
"Cable Narrowband Digital Forward.";
}
identity docsCableNdr {
base iana-interface-type;
description
"Cable Narrowband Digital Return.";
}
identity ptm {
base iana-interface-type;
description
"Packet Transfer Mode.";
reference
"IEEE G.993.1, Annex H; IEEE G.993.2; IEEE G.9701";
}
identity ghn {
base iana-interface-type;
description
"G.hn port.";
reference
"IEEE G.9961";
}
identity otnOtsi {
base iana-interface-type;
description
"Optical Tributary Signal.";
reference
"ITU-T G.959.1";
}
identity otnOtuc {
base iana-interface-type;
description
"OTN OTUCn.";
reference
"ITU-T G.709/Y.1331";
}
identity otnOduc {
base iana-interface-type;
description
"OTN ODUC.";
reference
"ITU-T G.709";
}
identity otnOtsig {
base iana-interface-type;
description
"OTN OTUC Signal.";
reference
"ITU-T G.709";
}
identity microwaveCarrierTermination {
base iana-interface-type;
description
"air interface of a single microwave carrier.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity microwaveRadioLinkTerminal {
base iana-interface-type;
description
"radio link interface for one or several aggregated microwave carriers.";
reference
"RFC 8561 - A YANG Data Model for Microwave Radio Link";
}
identity ieee8021axDrni {
base iana-interface-type;
description
"IEEE 802.1AX Distributed Resilient Network Interface.";
reference
"IEEE 802.1AX-Rev-d2-0";
}
identity ax25 {
base iana-interface-type;
description
"AX.25 network interfaces.";
reference
"AX.25 Link Access Protocol for Amateur Packet Radio version 2.2";
}
identity ieee19061nanocom {
base iana-interface-type;
description
"Nanoscale and Molecular Communication.";
reference
"IEEE 1906.1-2015";
}
identity cpri {
base iana-interface-type;
description
"Common Public Radio Interface.";
reference
"CPRI v7.0";
}
identity omni {
base iana-interface-type;
description
"Overlay Multilink Network Interface (OMNI).";
reference
"draft-templin-6man-omni-00";
}
identity roe {
base iana-interface-type;
description
"Radio over Ethernet Interface.";
reference
"1914.3-2018 - IEEE Standard for Radio over Ethernet Encapsulations and Mappings";
}
identity p2pOverLan {
base iana-interface-type;
description
"Point to Point over LAN interface.";
reference
"RFC 9296 - ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=iana-if-type}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2023-01-26}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}]=SimpleContainerNode{version=Version[624123fe], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=openconfig-extensions, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2020-06-16}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module openconfig-extensions {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/openconfig-ext";
prefix "oc-ext";
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides extensions to the YANG language to allow
OpenConfig specific functionality and meta-data to be defined.";
revision "2020-06-16" {
description
"Add extension for POSIX pattern statements.";
reference "0.5.0";
}
revision "2018-10-17" {
description
"Add extension for regular expression type.";
reference "0.4.0";
}
revision "2017-04-11" {
description
"rename password type to 'hashed' and clarify description";
reference "0.3.0";
}
revision "2017-01-29" {
description
"Added extension for annotating encrypted values.";
reference "0.2.0";
}
revision "2015-10-09" {
description
"Initial OpenConfig public release";
reference "0.1.0";
}
// extension statements
extension openconfig-version {
argument "semver" {
yin-element false;
}
description
"The OpenConfig version number for the module. This is
expressed as a semantic version number of the form:
x.y.z
where:
* x corresponds to the major version,
* y corresponds to a minor version,
* z corresponds to a patch version.
This version corresponds to the model file within which it is
defined, and does not cover the whole set of OpenConfig models.
Individual YANG modules are versioned independently -- the
semantic version is generally incremented only when there is a
change in the corresponding file. Submodules should always
have the same semantic version as their parent modules.
A major version number of 0 indicates that this model is still
in development (whether within OpenConfig or with industry
partners), and is potentially subject to change.
Following a release of major version 1, all modules will
increment major revision number where backwards incompatible
changes to the model are made.
The minor version is changed when features are added to the
model that do not impact current clients use of the model.
The patch-level version is incremented when non-feature changes
(such as bugfixes or clarifications to human-readable
descriptions that do not impact model functionality) are made
that maintain backwards compatibility.
The version number is stored in the module meta-data.";
}
extension openconfig-hashed-value {
description
"This extension provides an annotation on schema nodes to
indicate that the corresponding value should be stored and
reported in hashed form.
Hash algorithms are by definition not reversible. Clients
reading the configuration or applied configuration for the node
should expect to receive only the hashed value. Values written
in cleartext will be hashed. This annotation may be used on
nodes such as secure passwords in which the device never reports
a cleartext value, even if the input is provided as cleartext.";
}
extension regexp-posix {
description
"This extension indicates that the regular expressions included
within the YANG module specified are conformant with the POSIX
regular expression format rather than the W3C standard that is
specified by RFC6020 and RFC7950.";
}
extension posix-pattern {
argument "pattern" {
yin-element false;
}
description
"Provides a POSIX ERE regular expression pattern statement as an
alternative to YANG regular expresssions based on XML Schema Datatypes.
It is used the same way as the standard YANG pattern statement defined in
RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular
expression string.";
reference
"POSIX Extended Regular Expressions (ERE) Specification:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04";
}
extension telemetry-on-change {
description
"The telemetry-on-change annotation is specified in the context
of a particular subtree (container, or list) or leaf within the
YANG schema. Where specified, it indicates that the value stored
by the nodes within the context change their value only in response
to an event occurring. The event may be local to the target, for
example - a configuration change, or external - such as the failure
of a link.
When a telemetry subscription allows the target to determine whether
to export the value of a leaf in a periodic or event-based fashion
(e.g., TARGET_DEFINED mode in gNMI), leaves marked as
telemetry-on-change should only be exported when they change,
i.e., event-based.";
}
extension telemetry-atomic {
description
"The telemetry-atomic annotation is specified in the context of
a subtree (containre, or list), and indicates that all nodes
within the subtree are always updated together within the data
model. For example, all elements under the subtree may be updated
as a result of a new alarm being raised, or the arrival of a new
protocol message.
Transport protocols may use the atomic specification to determine
optimisations for sending or storing the corresponding data.";
}
extension operational {
description
"The operational annotation is specified in the context of a
grouping, leaf, or leaf-list within a YANG module. It indicates
that the nodes within the context are derived state on the device.
OpenConfig data models divide nodes into the following three categories:
- intended configuration - these are leaves within a container named
'config', and are the writable configuration of a target.
- applied configuration - these are leaves within a container named
'state' and are the currently running value of the intended configuration.
- derived state - these are the values within the 'state' container which
are not part of the applied configuration of the device. Typically, they
represent state values reflecting underlying operational counters, or
protocol statuses.";
}
extension catalog-organization {
argument "org" {
yin-element false;
}
description
"This extension specifies the organization name that should be used within
the module catalogue on the device for the specified YANG module. It stores
a pithy string where the YANG organization statement may contain more
details.";
}
extension origin {
argument "origin" {
yin-element false;
}
description
"This extension specifies the name of the origin that the YANG module
falls within. This allows multiple overlapping schema trees to be used
on a single network element without requiring module based prefixing
of paths.";
}
}
}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name, body=openconfig-extensions}, ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version, body=2020-06-16}]}}, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}]=SimpleContainerNode{version=Version[4f85f923], data=ImmutableMapEntryNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)gnmi-yang-model[{(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)name=ietf-yang-types, (urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)version=2013-07-15}], body=[ImmutableLeafNode{name=(urn:opendaylight:gnmi:yang:storage?revision=2021-03-31)body, body=module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
WG Chair: David Kessens
WG Chair: Juergen Schoenwaelder
Editor: Juergen Schoenwaelder