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; } }