Inital commit
This commit is contained in:
parent
edc5e091bb
commit
d6e393ea58
145 changed files with 58117 additions and 0 deletions
232
example/ietf-ipv4-unicast-routing@2014-10-26.yang
Normal file
232
example/ietf-ipv4-unicast-routing@2014-10-26.yang
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
module ietf-ipv4-unicast-routing {
|
||||
|
||||
namespace "urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing";
|
||||
|
||||
prefix "v4ur";
|
||||
|
||||
import ietf-routing {
|
||||
prefix "rt";
|
||||
revision-date "2014-10-26";
|
||||
}
|
||||
|
||||
import ietf-inet-types {
|
||||
prefix "inet";
|
||||
revision-date "2013-07-15";
|
||||
}
|
||||
|
||||
organization
|
||||
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
|
||||
|
||||
contact
|
||||
"WG Web: <http://tools.ietf.org/wg/netmod/>
|
||||
WG List: <mailto:netmod@ietf.org>
|
||||
|
||||
WG Chair: Thomas Nadeau
|
||||
<mailto:tnadeau@lucidvision.com>
|
||||
|
||||
WG Chair: Juergen Schoenwaelder
|
||||
<mailto:j.schoenwaelder@jacobs-university.de>
|
||||
|
||||
Editor: Ladislav Lhotka
|
||||
<mailto:lhotka@nic.cz>";
|
||||
|
||||
description
|
||||
"This YANG module augments the 'ietf-routing' module with basic
|
||||
configuration and operational state data for IPv4 unicast
|
||||
routing.
|
||||
|
||||
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).
|
||||
|
||||
This version of this YANG module is part of RFC XXXX; see the
|
||||
RFC itself for full legal notices.";
|
||||
|
||||
revision 2014-10-26 {
|
||||
description
|
||||
"Initial revision.";
|
||||
reference
|
||||
"RFC XXXX: A YANG Data Model for Routing Management";
|
||||
}
|
||||
|
||||
/* Identities */
|
||||
|
||||
identity ipv4-unicast {
|
||||
base rt:ipv4;
|
||||
description
|
||||
"This identity represents the IPv4 unicast address family.";
|
||||
}
|
||||
|
||||
/* Operational state data */
|
||||
|
||||
augment "/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route" {
|
||||
when "../../rt:address-family = 'v4ur:ipv4-unicast'" {
|
||||
description
|
||||
"This augment is valid only for IPv4 unicast.";
|
||||
}
|
||||
description
|
||||
"This leaf augments an IPv4 unicast route.";
|
||||
leaf destination-prefix {
|
||||
type inet:ipv4-prefix;
|
||||
description
|
||||
"IPv4 destination prefix.";
|
||||
}
|
||||
}
|
||||
|
||||
augment "/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/"
|
||||
+ "rt:next-hop/rt:next-hop-options/rt:simple-next-hop" {
|
||||
when "../../../rt:address-family = 'v4ur:ipv4-unicast'" {
|
||||
description
|
||||
"This augment is valid only for IPv4 unicast.";
|
||||
}
|
||||
description
|
||||
"This leaf augments the 'simple-next-hop' case of IPv4 unicast
|
||||
routes.";
|
||||
leaf next-hop-address {
|
||||
type inet:ipv4-address;
|
||||
description
|
||||
"IPv4 address of the next-hop.";
|
||||
}
|
||||
}
|
||||
|
||||
augment "/rt:routing-state/rt:next-hop-lists/rt:next-hop-list/"
|
||||
+ "rt:next-hop/rt:next-hop-options/rt:simple-next-hop" {
|
||||
when "../rt:address-family = 'v4ur:ipv4-unicast'" {
|
||||
description
|
||||
"This augment is valid only for IPv4 unicast.";
|
||||
}
|
||||
description
|
||||
"This leaf augments next-hop list with IPv4 next-hop address.
|
||||
routes.";
|
||||
leaf next-hop-address {
|
||||
type inet:ipv4-address;
|
||||
description
|
||||
"IPv4 address of the next-hop.";
|
||||
}
|
||||
}
|
||||
|
||||
/* Configuration data */
|
||||
|
||||
augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
|
||||
+ "rt:routing-protocol/rt:static-routes" {
|
||||
description
|
||||
"This augment defines the configuration of the 'static'
|
||||
pseudo-protocol with data specific to IPv4 unicast.";
|
||||
container ipv4 {
|
||||
description
|
||||
"Configuration of a 'static' pseudo-protocol instance
|
||||
consists of a list of routes.";
|
||||
list route {
|
||||
key "destination-prefix";
|
||||
ordered-by "user";
|
||||
description
|
||||
"A user-ordered list of static routes.";
|
||||
leaf destination-prefix {
|
||||
type inet:ipv4-prefix;
|
||||
mandatory "true";
|
||||
description
|
||||
"IPv4 destination prefix.";
|
||||
}
|
||||
leaf description {
|
||||
type string;
|
||||
description
|
||||
"Textual description of the route.";
|
||||
}
|
||||
container next-hop {
|
||||
description
|
||||
"Configuration of next-hop.";
|
||||
grouping next-hop-content {
|
||||
description
|
||||
"Next-hop content for IPv4 unicast static routes.";
|
||||
uses rt:next-hop-content {
|
||||
augment "next-hop-options" {
|
||||
description
|
||||
"Add next-hop address case.";
|
||||
leaf next-hop-address {
|
||||
type inet:ipv4-address;
|
||||
description
|
||||
"IPv4 address of the next-hop.";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
choice simple-or-list {
|
||||
description
|
||||
"Options for next-hops.";
|
||||
list multipath-entry {
|
||||
if-feature rt:multipath-routes;
|
||||
key "name";
|
||||
description
|
||||
"List of alternative next-hops.";
|
||||
leaf name {
|
||||
type string;
|
||||
description
|
||||
"A unique identifier of the next-hop entry.";
|
||||
}
|
||||
uses next-hop-content;
|
||||
uses rt:next-hop-classifiers;
|
||||
}
|
||||
case simple-next-hop {
|
||||
uses next-hop-content;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* RPC methods */
|
||||
|
||||
augment "/rt:fib-route/rt:input/rt:destination-address" {
|
||||
when "rt:address-family='v4ur:ipv4-unicast'" {
|
||||
description
|
||||
"This augment is valid only for IPv4 unicast.";
|
||||
}
|
||||
description
|
||||
"This leaf augments the 'rt:destination-address' parameter of
|
||||
the 'rt:fib-route' operation.";
|
||||
leaf address {
|
||||
type inet:ipv4-address;
|
||||
description
|
||||
"IPv4 destination address.";
|
||||
}
|
||||
}
|
||||
|
||||
augment "/rt:fib-route/rt:output/rt:route" {
|
||||
when "rt:address-family='v4ur:ipv4-unicast'" {
|
||||
description
|
||||
"This augment is valid only for IPv4 unicast.";
|
||||
}
|
||||
description
|
||||
"This leaf augments the reply to the 'rt:fib-route'
|
||||
operation.";
|
||||
leaf destination-prefix {
|
||||
type inet:ipv4-prefix;
|
||||
description
|
||||
"IPv4 destination prefix.";
|
||||
}
|
||||
}
|
||||
|
||||
augment "/rt:fib-route/rt:output/rt:route/rt:next-hop/"
|
||||
+ "rt:next-hop-options/rt:simple-next-hop" {
|
||||
when "../rt:address-family='v4ur:ipv4-unicast'" {
|
||||
description
|
||||
"This augment is valid only for IPv4 unicast.";
|
||||
}
|
||||
description
|
||||
"This leaf augments the 'simple-next-hop' case in the reply to
|
||||
the 'rt:fib-route' operation.";
|
||||
leaf next-hop-address {
|
||||
type inet:ipv4-address;
|
||||
description
|
||||
"IPv4 address of the next-hop.";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue