Yang Data Model for ISIS protocol
draft-litkowski-isis-yang-isis-cfg-00
The information below is for an old version of the document.
Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
|
|
---|---|---|---|
Author | Stephane Litkowski | ||
Last updated | 2014-06-24 | ||
Replaced by | draft-ietf-isis-yang-isis-cfg, draft-ietf-isis-yang-isis-cfg, draft-ietf-isis-yang-isis-cfg, RFC 9130 | ||
RFC stream | (None) | ||
Formats | |||
Additional resources | |||
Stream | Stream state | (No stream defined) | |
Consensus boilerplate | Unknown | ||
RFC Editor Note | (None) | ||
IESG | IESG state | I-D Exists | |
Telechat date | (None) | ||
Responsible AD | (None) | ||
Send notices to | (None) |
draft-litkowski-isis-yang-isis-cfg-00
quot;Reference to the interface within the routing-instance."; } leaf level { type isis-level; default "level-1-2"; description "This leaf defines the associated ISIS level of the interface."; } leaf lsp-interval { type uint16; units "milliseconds"; description "This leaf defines the interval between LSP transmissions in msec"; } leaf passive { type boolean; default "false"; description "This leaf defines if interface is in passive mode (ISIS not running, but network is advertised)."; } leaf csnp-interval { type uint16; units "seconds"; description "This leaf defines the interval of CSNP messages."; } Litkowski Expires December 26, 2014 [Page 33] Internet-Draft isis-cfg June 2014 uses isis-interface-hello-cfg; leaf hello-padding { type boolean; description "This leaf defines if ISIS Hellos would be padded up to MTU size."; } uses isis-address-family-cfg; leaf interface-type { type enumeration { enum broadcast { description "Broadcast interface type. Would result in DIS election."; } enum point-to-point { description "Point to point interface type."; } } description "This leaf defines the type of adjacency to be established on the interface. This is affecting the type of hello message that would be used."; } leaf enabled { type boolean; default "true"; description "This leaf describes the administrative status of the ISIS interface."; } leaf-list tag { type uint32; description "This leaf defines list of tags associated with the interface."; } container level-1 { uses isis-interface-level-cfg; description "This container defines the level 1 specific Litkowski Expires December 26, 2014 [Page 34] Internet-Draft isis-cfg June 2014 configuration of the interface."; } container level-2 { uses isis-interface-level-cfg; description "This container defines the level 2 specific configuration of the interface."; } description "List of ISIS interfaces."; } description "This container defines ISIS interface specific configuration objects."; } description "This container defines ISIS specific configuration objects."; } } augment "/rt:routing-state/rt:routing-instance/" +"rt:routing-protocols/rt:routing-protocol" { when "rt:type = 'isis:isis'" { description "This augment is only valid when routing protocol instance type is isis."; } description "This augments routing protocol instance states with ISIS specific parameters."; container isis-state { config false; container adjacencies { list adjacency { key interface; leaf interface { type string; description "This leaf describes the name of the interface."; } leaf level { Litkowski Expires December 26, 2014 [Page 35] Internet-Draft isis-cfg June 2014 type uint8 { range "1 .. 2"; } description "This leaf describes the associated ISIS level of the interface. The value of the level can only be 1 or 2."; } leaf state { type enumeration { enum "Up" { description "This state describes that adjacency is established."; } enum "Down" { description "This state describes that adjacency is NOT established."; } enum "Init" { description "This state describes that adjacency is establishing."; } } description "This leaf describes the state of the interface."; } description "List of operational adjacencies."; } description "This container lists the adjacencies of the local node."; } container spf-log { list event { key id; leaf id { type uint32; description "This leaf defines the event identifier. This is a purely internal value."; } Litkowski Expires December 26, 2014 [Page 36] Internet-Draft isis-cfg June 2014 leaf spf-type { type enumeration { enum full { description "Computation done is a Full SPF."; } enum incremental { description "Computation done is an incremental SPF."; } enum route-only { description "Computation done is a reachability computation only."; } } description "This leaf describes the type of computation used."; } leaf level { type uint8 { range "1 .. 2"; } description "This leaf describes the level affected bytes the computation."; } leaf spf-delay { type uint32; units "milliseconds"; description "This leaf describes the SPF delay that was used for this event."; } leaf schedule-timestamp { type yang:timestamp; description "This leaf describes the timestamp when the computation was scheduled."; } leaf start-timestamp { type yang:timestamp; description "This leaf describes the timestamp when the computation was started."; Litkowski Expires December 26, 2014 [Page 37] Internet-Draft isis-cfg June 2014 } leaf end-timestamp { type yang:timestamp; description "This leaf describes the timestamp when the computation was ended."; } list trigger-lsp { key "lsp"; leaf lsp { type isis-lsp-id; description "This leaf describes the LSPID of the LSP."; } leaf sequence { type uint32; description "This leaf describes the sequence number of the LSP."; } description "This leaf describes list of LSPs that triggered the computation."; } description "List of computation events."; } description "This container lists the SPF computation events."; } container lsp-log { list event { key id; leaf id { type uint32; description "This leaf defines the event identifier. This is a purely internal value."; } leaf level { type uint8 { range "1 .. 2"; } description "This leaf describes the level affected bytes Litkowski Expires December 26, 2014 [Page 38] Internet-Draft isis-cfg June 2014 the computation."; } container lsp { leaf lsp { type isis-lsp-id; description "This leaf describes the LSPID of the LSP."; } leaf sequence { type uint32; description "This leaf describes the sequence number of the LSP."; } description "This container describes the received LSP , in case of local LSP update the local LSP ID is referenced."; } leaf received-timestamp { type yang:timestamp; description "This leaf describes the timestamp when the LSP was received. In case of local LSP update, the timestamp refers to the local LSP update time."; } description "List of LSP events."; } description "This container lists the LSP reception events. Local LSP modification are also contained in the list."; } container database { container level-1 { list lsp { key lsp-id; uses isis-database; description Litkowski Expires December 26, 2014 [Page 39] Internet-Draft isis-cfg June 2014 "List of LSPs in LSDB."; } description "This container describes the list of LSPs in the level-1 database."; } container level-2 { list lsp { key lsp-id; uses isis-database; description "List of LSPs in LSDB."; } description "This container describes the list of LSPs in the level-2 database."; } description "This container describes ISIS Link State databases."; } container hostnames { list hostname { key system-id; leaf system-id { type isis-system-id; description "This leaf describes the system-id associated with the hostname."; } leaf hostname { type string; description "This leaf describes the hostname associated with the system ID."; } description "List of system-id/hostname associations"; } description "This container describes the list of binding between system-id and Litkowski Expires December 26, 2014 [Page 40] Internet-Draft isis-cfg June 2014 hostnames."; } description "This container defines various ISIS states objects."; } } /* RPC methods */ rpc clear-isis-adjacency { description "This RPC request clears a particular set of ISIS adjacencies. If the operation fails for ISIS internal reason, then error-tag and error-app-tag should be set to a meaningful value."; input { leaf routing-instance-name { type rt:routing-instance-state-ref; mandatory "true"; description "Name of the routing instance whose ISIS information is being queried. If the routing instance with name equal to the value of this parameter doesn't exist, then this operation SHALL fail with error-tag 'data-missing' and error-app-tag 'routing-instance-not-found'."; } leaf routing-protocol-instance-name { type isis-instance-state-ref; mandatory "true"; description "Name of the ISIS protocol instance whose ISIS information is being queried. If the ISIS instance with name equal to the value of this parameter doesn't exist, then this operation SHALL fail with error-tag 'data-missing' and error-app-tag 'routing-protocol-instance-not-found'."; } leaf isis-level { type isis-level; description Litkowski Expires December 26, 2014 [Page 41] Internet-Draft isis-cfg June 2014 "ISIS level of the adjacency to be cleared. If ISIS level is level-1-2, both level 1 and level 2 adjacencies would be cleared. If the value provided is different from the one authorized in the enum type, then this operation SHALL fail with error-tag 'data-missing' and error-app-tag 'bad-isis-level'. "; } leaf interface { type string; description "Name of the ISIS interface. If the ISIS interface with name equal to the value of this parameter doesn't exist, then this operation SHALL fail with error-tag 'data-missing' and error-app-tag 'isis-interface-not-found'."; } } } rpc clear-isis-database { description "This RPC request clears a particular ISIS database. If the operation fails for ISIS internal reason, then error-tag and error-app-tag should be set to a meaningful value."; input { leaf routing-instance-name { type rt:routing-instance-state-ref; mandatory "true"; description "Name of the routing instance whose ISIS information is being queried. If the routing instance with name equal to the value of this parameter doesn't exist, then this operation SHALL fail with error-tag 'data-missing' and error-app-tag 'routing-instance-not-found'."; } leaf routing-protocol-instance-name { Litkowski Expires December 26, 2014 [Page 42] Internet-Draft isis-cfg June 2014 type isis-instance-state-ref; mandatory "true"; description "Name of the ISIS protocol instance whose ISIS information is being queried. If the ISIS instance with name equal to the value of this parameter doesn't exist, then this operation SHALL fail with error-tag 'data-missing' and error-app-tag 'routing-protocol-instance-not-found'."; } leaf isis-level { type isis-level; description "ISIS level of the adjacency to be cleared. If ISIS level is level-1-2, both level 1 and level 2 adjacencies would be cleared. If the value provided is different from the one authorized in the enum type, then this operation SHALL fail with error-tag 'data-missing' and error-app-tag 'bad-isis-level'. "; } } } /* Notifications */ notification isis-adjacency-updown { leaf interface { type string; description "Describes the interface of the adjacency"; } leaf neighbor { type string; description "Describes the name of the neighbor. If the name of the neighbor is not available, the field would be empty."; } leaf neighbor-system-id { Litkowski Expires December 26, 2014 [Page 43] Internet-Draft isis-cfg June 2014 type isis-system-id; description "Describes the system-id of the neighbor."; } leaf isis-level { type isis-level; description "Describes the ISIS level of the adjacency."; } leaf state { type enumeration { enum "Up" { description "This state describes that adjacency is established."; } enum "Down" { description "This state describes that adjacency is no more established."; } } description "This leaf describes the new state of the ISIS adjacency."; } leaf reason { type string; description "If the adjacency is going to DOWN, this leaf provides a reason for the adjacency going down. The reason is provided as a text. If the adjacency is going to UP, no reason is provided."; } description "This notification is sent when an ISIS adjacency moves to Up state or to Down state."; } } <CODE ENDS> Litkowski Expires December 26, 2014 [Page 44] Internet-Draft isis-cfg June 2014 7. Security Considerations 8. Acknowledgements 9. IANA Considerations 10. Normative References [I-D.ietf-netmod-routing-cfg] Lhotka, L., "A YANG Data Model for Routing Management", draft-ietf-netmod-routing-cfg-15 (work in progress), May 2014. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, October 2010. Appendix A. Example: NETCONF <get> Reply This section gives an example of a reply to the NETCONF <get> request for a device that implements the data model defined in this document. The example is written in XML. <?xml version="1.0" encoding="cp1252"?> <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <routing-state xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> <routing-instance> <name>rtr1</name> <id>1</id> <router-id>192.0.2.1</router-id> <routing-protocols> <routing-protocol> <name>ISIS1</name> <type>isis</type> <isis-state xmlns="urn:ietf:params:xml:ns:yang:ietf-isis"> <adjacencies> <adjacency> <interface>eth0</interface> <level>2</level> <state>Up</state> </adjacency> </adjacencies> <spf-log> <event> <id>18979</id> Litkowski Expires December 26, 2014 [Page 45] Internet-Draft isis-cfg June 2014 <spf-type>full</spf-type> <level>2</level> <spf-delay>150</spf-delay> <schedule-timestamp>1403612245</schedule-timestamp> <start-timestamp>1403612399</start-timestamp> <end-timestamp>1403612420</end-timestamp> <trigger-lsp> <lsp>0000.01245.1245.01-01</lsp> <sequence>125458</sequence> </trigger-lsp> </event> </spf-log> <lsp-log> <event> <id>1245</id> <level>2</level> <lsp> <lsp>0000.01245.1245.01-01</lsp> <sequence>125458</sequence> </lsp> <received-timestamp></received-timestamp> </event> </lsp-log> <database> <level-2> <lsp> <lsp-id>0000.01245.1245.01-01</lsp-id> <checksum>1245</checksum> <remaining-lifetime>45</remaining-lifetime> <sequence>125458</sequence> <attributes /> <extended-is-neighbor> <neighbor> <neighbor-id>0000.01245.9999.00</neighbor-id> <metric>100</metric> </neighbor> </extended-is-neighbor> <protocol-supported>204<protocol-supported> <ipv4-addresses>192.168.0.2</ipv4-addresses> <extended-ipv4-reachability> <prefixes> <up-down>false</up-down> <ip-prefix>192.168.0.2</ip-prefix> <prefix-len>32</prefix-len> <metric>30490</metric> <tag>200</tag> Litkowski Expires December 26, 2014 [Page 46] Internet-Draft isis-cfg June 2014 </prefixes> </extended-ipv4-reachability> <dynamic-hostname>rtr1</dynamic-hostname> </lsp> </level-2> </database> <hostnames> <hostname> <system-id>0000.01245.9999.00</system-id> <hostname>rtr1</hostname> </hostname> </hostnames> </isis-state> </routing-protocol> </routing-protocols> </routing-instance> <ribs> <rib> <name>ipv4-master</name> <id>1</id> <address-family>v4ur:ipv4-unicast</address-family> <routes> <route> <id>124554657</id> <outgoing-interface>eth0</outgoing-interface> <source-protocol>isis</source-protocol> <last-updated>2013-07-02T18:02:45+01:00</last-updated> <destination-prefix xmlns="urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing"> 10.0.0.0/24</destination-prefix> <metric xmlns="urn:ietf:params:xml:ns:yang:ietf-isis"> 750 </metric> <route-type xmlns="urn:ietf:params:xml:ns:yang:ietf-isis">l2-up-internal</route-type> </route> </routes> </rib> </ribs> </routing-state> <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> <routing-instance> <id>1</id> <router-id>192.0.2.1<router-id> <routing-protocols> <routing-protocol> Litkowski Expires December 26, 2014 [Page 47] Internet-Draft isis-cfg June 2014 <name>ISIS1</name> <type>isis</type> <isis-cfg xmlns="urn:ietf:params:xml:ns:yang:ietf-isis"> <isis-level>level-2</isis-level> <nsap-address>49.0002.0000.01245.9999.00</nsap-address> <lsp-lifetime>65535</lsp-lifetime> <lsp-refresh>65000</lsp-refresh> <authentication-key>my_password</authentication-key> <authentication-type>plaintext</authentication-type> <isis-multi-topology-cfg> <ipv4-unicast>true</ipv4-unicast> </isis-multi-topology-cfg> <isis-level-2-cfg> <metric-type>wide-only</metric-type> <default-ipv4-unicast-metric>11111111</default-ipv4-unicast-metric> </isis-level-2-cfg> <interfaces> <interface> <name>eth0</name> <lsp-interval>100</lsp-interval> <csnp-interval>10</csnp-interval> <interface-type>point-to-point</interface-type> <level-2> <ipv4-unicast-metric>200</ipv4-unicast-metric> </level-2> </interface> <interface> <name>lo0</name> <level-2> <ipv4-unicast-metric>1</ipv4-unicast-metric> </level-2> <passive>true</passive> </interface> </interfaces> </isis-cfg> </routing-protocol> </routing-protocols> </routing-instance> </routing> </data> Author's Address Stephane Litkowski Orange Email: stephane.litkowski@orange.com Litkowski Expires December 26, 2014 [Page 48]