summaryrefslogtreecommitdiffstats
path: root/routing/routing-api/src/main/yang/vpp-routing-ra@2018-03-19.yang
diff options
context:
space:
mode:
authorMichal Cmarada <michal.cmarada@pantheon.tech>2018-05-04 16:13:09 +0200
committerMichal Cmarada <michal.cmarada@pantheon.tech>2018-05-09 14:36:21 +0200
commit8f9fe3ca424abc56d212a96af4ec5750a29e7673 (patch)
treec3472885ef0fb57452b88b4ea76f2935f81ca39f /routing/routing-api/src/main/yang/vpp-routing-ra@2018-03-19.yang
parentd5883157bff11ee89b95bc1abe7f62fca3509950 (diff)
HC2VPP-253 - Bump routing models
This patch updates (for support of SRv6 and MPLS) routing models to: - hc2vpp-ietf-routing@2018-03-13.yang (RFC 8349, https://tools.ietf.org/html/rfc8349) - hc2vpp-ietf-ipv4-unicast-routing@2018-03-13.yang (RFC 8349) - hc2vpp-ietf-ipv6-unicast-routing@2018-03-13.yang (RFC 8349) - hc2vpp-ietf-ipv6-router-advertisements@2018-03-13 (RFC 8349) - hc2vpp-ietf-routing-types@2017-12-04 (RFC 8294 ,https://tools.ietf.org/html/rfc8294) Due to odl bugs these models were changed, see HC2VPP-298 for more details. Significant changes in updated models: - Routing instance was removed, we used vpp-routing-instance as single instance before, which is no longer needed. - Routing-protocol and Routing-protocols were refactored to Control-plane-protocol/s. Control-protocol now uses type and name as key - Route Key was changed from id to ipPrefix - Next-hop and Next-Hop-list were refactored See attached routing_postman_collection.json for updated data structures and examples for both IPv4 and IPv6 routes. For router advertisements see routing_advertisments_postman_collection.json Another fixes in this patch: - fixes in MPLS module due to Routing model updates - fixes doc module due to changes in Routing model Change-Id: I33704a50061aef97dfbd73a7701ff6fe5274d6f0 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
Diffstat (limited to 'routing/routing-api/src/main/yang/vpp-routing-ra@2018-03-19.yang')
-rw-r--r--routing/routing-api/src/main/yang/vpp-routing-ra@2018-03-19.yang145
1 files changed, 145 insertions, 0 deletions
diff --git a/routing/routing-api/src/main/yang/vpp-routing-ra@2018-03-19.yang b/routing/routing-api/src/main/yang/vpp-routing-ra@2018-03-19.yang
new file mode 100644
index 000000000..5be3f6d38
--- /dev/null
+++ b/routing/routing-api/src/main/yang/vpp-routing-ra@2018-03-19.yang
@@ -0,0 +1,145 @@
+module vpp-routing-ra {
+
+ namespace "urn:ietf:params:xml:ns:yang:vpp-routing-ra";
+ prefix "vpp-routing";
+
+ import yang-ext {
+ prefix "ext";
+ }
+
+ import hc2vpp-ietf-routing {
+ prefix "ietf-r";
+ revision-date 2018-03-13;
+ }
+
+ import hc2vpp-ietf-ipv6-unicast-routing {
+ prefix "v6ur";
+ revision-date 2018-03-13;
+ }
+
+ import ietf-ip {
+ prefix "ip";
+ }
+
+ import ietf-interfaces {
+ prefix "if";
+ }
+
+ organization
+ "FD.io - The Fast Data Project";
+
+ contact
+ "Hc2vpp Wiki <https://wiki.fd.io/view/Hc2vpp>
+ Mailing List <hc2vpp@lists.fd.io>";
+
+ description
+ "This module contains a collection of YANG definitions
+ that extend hc2vpp-ietf-routing module
+ with VPP specific routing advertisments features.
+
+ Copyright (c) 2017 Cisco and/or its affiliates.
+
+ Licensed under the Apache License, Version 2.0 (the 'License');
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at:
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an 'AS IS' BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.";
+
+ revision 2018-03-19 {
+ description
+ "Update hc2vpp-ietf-routing revision-date to 2018-03-13";
+ }
+
+ revision 2017-05-02 {
+ description "Changed namespace";
+ }
+
+ revision 2017-03-15 {
+ description "Initial revision.";
+ }
+
+ grouping ipv6-router-advertisements-vpp-attributes {
+ leaf suppress-link-layer {
+ type boolean;
+ default false;
+ description
+ "Dicates not to include the optional source link-layer address
+ in the ICMPv6 router-advertisement messages.";
+ }
+ leaf send-unicast {
+ type boolean;
+ default false;
+ description
+ "Use the source address of the router-solicitation message if availiable.";
+ }
+ leaf cease {
+ type boolean;
+ default false;
+ description
+ "Cease sending ICMPv6 router-advertisement messages.";
+ }
+ leaf initial-count {
+ type uint8 {
+ range "1..3";
+ }
+ default 3;
+ description
+ "Number of initial ICMPv6 router-advertisement messages sent.";
+ }
+ leaf initial-interval {
+ type uint8 {
+ range "1..16";
+ }
+ units "seconds";
+ default 16;
+ description
+ "Interval between initial ICMPv6 router-advertisement messages.";
+ }
+
+ description
+ "VPP specific configuration of RA messages. Mapped to sw_interface_ip6nd_ra_config API:
+ https://git.fd.io/vpp/tree/src/vnet/ip/ip.api#n196";
+
+ reference
+ "https://docs.fd.io/vpp/17.04/clicmd_src_vnet_ip.html#clicmd_ip6_nd";
+ }
+
+ grouping control-adv-prefixes-vpp-attributes {
+ leaf advertise-router-address {
+ type boolean;
+ default true;
+ description
+ "Send full router address in prefix advertisement.";
+ }
+ leaf vpp-default {
+ type boolean;
+ default false;
+ description
+ "Use VPP default values for prefix advertisment.";
+ }
+
+ description
+ "VPP specific configuration of prefixes in RA messages. Mapped to sw_interface_ip6nd_ra_prefix API:
+ https://git.fd.io/vpp/tree/src/vnet/ip/ip.api#n243";
+
+ reference
+ "https://docs.fd.io/vpp/17.04/clicmd_src_vnet_ip.html#clicmd_ip6_nd";
+ }
+
+ augment "/if:interfaces/if:interface/ip:ipv6/v6ur:ipv6-router-advertisements" {
+ ext:augment-identifier "ipv6-router-advertisements-vpp-augmentation";
+ uses ipv6-router-advertisements-vpp-attributes;
+ }
+
+ augment "/if:interfaces/if:interface/ip:ipv6/v6ur:ipv6-router-advertisements/v6ur:prefix-list/v6ur:prefix" {
+ // TODO control-adv-prefixes/advertise case should be target node (change after yangtools issues are solved)
+ ext:augment-identifier "control-adv-prefixes-vpp-augmentation";
+ uses control-adv-prefixes-vpp-attributes;
+ }
+}