summaryrefslogtreecommitdiffstats
path: root/routing/routing-api/src/main/yang/vpp-routing-ra.yang
diff options
context:
space:
mode:
Diffstat (limited to 'routing/routing-api/src/main/yang/vpp-routing-ra.yang')
-rw-r--r--routing/routing-api/src/main/yang/vpp-routing-ra.yang103
1 files changed, 103 insertions, 0 deletions
diff --git a/routing/routing-api/src/main/yang/vpp-routing-ra.yang b/routing/routing-api/src/main/yang/vpp-routing-ra.yang
new file mode 100644
index 000000000..5bea1db9c
--- /dev/null
+++ b/routing/routing-api/src/main/yang/vpp-routing-ra.yang
@@ -0,0 +1,103 @@
+module vpp-routing-ra {
+
+ namespace "urn:ietf:params:xml:ns:yang:vpp-routing";
+ prefix "vpp-routing";
+ description "General extensions for routing advertisments message configuration provided by VPP APIs";
+
+ revision 2017-03-15 {
+ description "Initial revision.";
+ }
+
+ import yang-ext {
+ prefix "ext";
+ }
+
+ import hc2vpp-ietf-routing {
+ prefix "ietf-r";
+ }
+
+ import hc2vpp-ietf-ipv6-unicast-routing {
+ prefix "v6ur";
+ }
+
+ 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 "/ietf-r:routing/ietf-r:routing-instance/ietf-r:interfaces/ietf-r:interface/"
+ + "v6ur:ipv6-router-advertisements" {
+ ext:augment-identifier "ipv6-router-advertisements-vpp-augmentation";
+ uses ipv6-router-advertisements-vpp-attributes;
+ }
+
+ augment "/ietf-r:routing/ietf-r:routing-instance/ietf-r:interfaces/ietf-r:interface/"
+ + "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;
+ }
+} \ No newline at end of file