mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 22:37:49 +00:00
yang: move multicast prefix type definition
Move the multicast prefix type to a common YANG model so other models can use it. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
This commit is contained in:
parent
53e00a69d2
commit
e51da3f817
@ -8,10 +8,6 @@ module frr-pim-rp {
|
||||
prefix "inet";
|
||||
}
|
||||
|
||||
import ietf-routing-types {
|
||||
prefix "rt-types";
|
||||
}
|
||||
|
||||
import frr-routing {
|
||||
prefix "frr-rt";
|
||||
}
|
||||
@ -20,6 +16,10 @@ module frr-pim-rp {
|
||||
prefix "frr-pim";
|
||||
}
|
||||
|
||||
import frr-route-types {
|
||||
prefix frr-route-types;
|
||||
}
|
||||
|
||||
organization
|
||||
"FRRouting";
|
||||
|
||||
@ -63,37 +63,6 @@ module frr-pim-rp {
|
||||
"RFC XXXX: A YANG Data Model for PIM RP";
|
||||
}
|
||||
|
||||
typedef ipv4-multicast-group-address-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-address-prefix {
|
||||
type inet:ipv6-prefix {
|
||||
pattern
|
||||
'(((FF|ff)[0-9a-fA-F]{2}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(/((1[6-9])|([2-9][0-9])|(1[0-1][0-9])|(12[0-8])))';
|
||||
pattern
|
||||
'(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(/.+)';
|
||||
}
|
||||
description
|
||||
"This type represents an IPv6 multicast group prefix,
|
||||
which is in the range of FF00::/8.";
|
||||
}
|
||||
|
||||
typedef ip-multicast-group-address-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-address-prefix;
|
||||
type ipv6-multicast-group-address-prefix;
|
||||
}
|
||||
} // typedef ip-multicast-group-address-prefix
|
||||
|
||||
typedef plist-ref {
|
||||
type string;
|
||||
}
|
||||
@ -124,7 +93,7 @@ module frr-pim-rp {
|
||||
description "Use group-list or prefix-list";
|
||||
case group-list {
|
||||
leaf-list group-list{
|
||||
type ip-multicast-group-address-prefix;
|
||||
type frr-route-types:ip-multicast-group-prefix;
|
||||
description
|
||||
"List of multicast group address.";
|
||||
}
|
||||
|
@ -3,6 +3,10 @@ module frr-route-types {
|
||||
namespace "http://frrouting.org/yang/route-types";
|
||||
prefix frr-route-types;
|
||||
|
||||
import ietf-inet-types {
|
||||
prefix inet;
|
||||
}
|
||||
|
||||
organization
|
||||
"FRRouting";
|
||||
contact
|
||||
@ -145,4 +149,35 @@ module frr-route-types {
|
||||
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|ff)[0-9a-fA-F]{2}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(/((1[6-9])|([2-9][0-9])|(1[0-1][0-9])|(12[0-8])))';
|
||||
pattern
|
||||
'(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(/.+)';
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user