+// SPDX-License-Identifier: BSD-2-Clause
module frr-route-types {
yang-version 1.1;
namespace "http://frrouting.org/yang/route-types";
prefix frr-route-types;
+ import ietf-inet-types {
+ prefix inet;
+ }
+
organization
"FRRouting";
contact
enum vnc {
value 17;
}
+ enum vnc-direct {
+ value 18;
+ }
enum babel {
value 22;
}
enum vnc {
value 17;
}
+ enum vnc-direct {
+ value 18;
+ }
enum babel {
value 22;
}
type frr-route-types-v6;
}
}
+
+ typedef ipv4-multicast-group-prefix {
+ type inet:ipv4-prefix {
+ pattern '(2((2[4-9])|(3[0-9]))\.)(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(/(([4-9])|([1-2][0-9])|(3[0-2])))';
+ }
+ description
+ "This type represents an IPv4 multicast group prefix,
+ which is in the range from 224.0.0.0 to 239.255.255.255.";
+ }
+
+ typedef ipv6-multicast-group-prefix {
+ type inet:ipv6-prefix {
+ pattern
+ '(([fF]{2}[0-9a-fA-F]{2}):).*';
+ }
+ description
+ "This type represents an IPv6 multicast group prefix,
+ which is in the range of FF00::/8.";
+ }
+
+ typedef ip-multicast-group-prefix {
+ description "The IP-Multicast-Group-Address-Prefix type represents an IP multicast address
+ prefix and is IP version neutral. The format of the textual representations implies the IP
+ version. It includes a prefix-length, separated by a '/' sign.";
+ type union {
+ type ipv4-multicast-group-prefix;
+ type ipv6-multicast-group-prefix;
+ }
+ }
}