1 module Cisco-IOS-XR-asr9k-policymgr-cfg {
4 "http://cisco.com/ns/yang/Cisco-IOS-XR-asr9k-policymgr-cfg";
6 prefix "asr9k-policymgr-cfg";
8 import ietf-inet-types {
12 import ietf-yang-types {
16 organization "Cisco Systems, Inc.";
22 Postal: 170 West Tasman Drive
27 E-mail: cs-yang@cisco.com";
30 "This module contains a collection of YANG definitions
31 for Cisco IOS-XR ASR9k policy manager configuration.
33 Copyright (c) 2013, 2015 by Cisco Systems, Inc.
34 All rights reserved.";
36 revision "2015-05-18" {
38 "IOS XR 5.3.2 revision.";
41 revision "2013-07-22" {
46 typedef Class-map-type {
50 description "QoS Classmap.";
54 description "TRAFFIC Classmap.";
58 description "Control Subscriber Classmap.";
61 description "Policy manager class-map type.";
64 typedef Alarm-severity {
66 pattern "(informational)|(notification)|(warning)|(error)|"+
67 "(critical)|(alert)|(emergency)";
69 description "Alaram severity types.";
72 typedef Policy-map-type {
76 description "QoS Policymap";
80 description "PBR Policymap";
84 description "TRAFFIC Policymap";
86 enum subscriber-control {
88 description "SUBSCRIBER-CONTROL Policymap";
92 description "REDIRECT Policy map";
96 description "FLOWMONITOR Policy map";
99 description "Policy manager policy-map type.";
102 typedef Service-policy-type {
104 pattern "(PBR)|(QOS)|(REDIRECT)|(TRAFFIC)
105 |(pbr)|(qos)|(redirect)|(traffic)";
107 description "Policy manager service-policy type.";
110 typedef Pmap-class-map-type {
114 description "QoS Classmap.";
118 description "TRAFFIC Classmap.";
120 enum subscriber-control {
122 description "Subscriber Control Classmap.";
125 description "Policy manager class-map type.";
128 typedef Bandwidth-units {
130 pattern "(bps)|(kbps)|(mbps)|(gbps)|(percent)|(per-million)|"+
133 description "Supported units for bandwidth.
134 bps - units in Bits/Sec
135 kbps - units in KiloBits/Sec
136 mbps - units in MegaBits/Sec
137 gbps - units in GigaBits/Sec
138 percent - units in Percentage
139 per-million - parts per-million bandwidth value
140 per-thousand - Parts per-thousand bandwidth value";
143 typedef Bandwidth-remaining-units {
145 pattern "(percent)|(ratio)";
147 description "Supported units for bandwidth remaining.
148 percent - units in Percentage
149 ratio - units in Ratio";
154 pattern "(bps)|(kbps)|(mbps)|(gbps)|(pps)|(percent)";
156 description "Supported units for police rate or peak-rate.
157 bps - units in Bits/Sec
158 kbps - units in KiloBits/Sec
159 mbps - units in MegaBits/Sec
160 gbps - units in GigaBits/Sec
161 pps - units in Packets/Sec
162 percent - units in Percentage";
165 typedef Cac-rate-units {
167 pattern "(bps)|(kbps)|(mbps)|(gbps)|(cellsps)";
169 description "Supported units for CAC rate or flow-rate.
170 bps - units in Bits/Sec
171 kbps - units in KiloBits/Sec
172 mbps - units in MegaBits/Sec
173 gbps - units in GigaBits/Sec
174 cellsps - units in Cells/Sec";
177 typedef Queue-units {
179 pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|"+
182 description "Supported units for queue.
183 bytes - units in Bytes
184 kbytes - units in KiloBytes
185 mbytes - units in MegaBytes
186 gbytes - units in Gigabytes
187 us - units in Microseconds
188 ms - units in Milliseconds
189 packets - units in Packets
190 cells - units in Cells";
193 typedef Threshold-units {
195 pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|"+
198 description "Supported units for RED threshold.
199 bytes - units in Bytes
200 kbytes - units in KiloBytes
201 mbytes - units in MegaBytes
202 gbytes - units in GigaBytes
203 us - units in Microseconds
204 ms - units in Milliseconds
205 packets - units in Packets
206 cells - units in Cells";
211 pattern "[0-9]+(\.[0-9]+)?";
213 description "Floating point number string representation.";
218 pattern "([0-9]|[1-5][0-9]|6[0-3])|"+
219 "(af11)|(af12)|(af13)|(af21)|(af22)|(af23)|(af31)|"+
220 "(af32)|(af33)|(af41)|(af42)|(af43)|(ef)|(default)|"+
221 "(cs1)|(cs2)|(cs3)|(cs4)|(cs5)|(cs6)|(cs7)";
223 description "DSCP value string representation.
224 Should be single value 0..63 or predefined string.";
229 pattern "([0-9]|[1-5][0-9]|6[0-3])|"+
230 "(([0-9]|[1-5][0-9]|6[0-3])-"+
231 "([0-9]|[1-5][0-9]|6[0-3]))|"+
232 "(af11)|(af12)|(af13)|(af21)|(af22)|(af23)|(af31)|"+
233 "(af32)|(af33)|(af41)|(af42)|(af43)|(ef)|(default)|"+
234 "(cs1)|(cs2)|(cs3)|(cs4)|(cs5)|(cs6)|(cs7)";
236 description "DSCP value or range string representation.
237 Should be single value 0..63 or predefined string
238 or range <min>-<max>.";
243 pattern "(\d+)|(\d+\-\d+)";
245 description "Numeric value or range string representation.
246 Should be single value or range <min>-<max>.";
252 "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|"+
253 "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\-"+
254 "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|"+
255 "((ahp)|(dhcpv4)|(dhcpv6)|(eigrp)|(esp)|(gre)|(icmp)|"+
256 "(igmp)|(igrp)|(ipinip)|(ipv4)|(ipv6)|(ipv6icmp)|(mpls)|"+
257 "(nos)|(ospf)|(pcp)|(pim)|(ppp)|(sctp)|(tcp)|(udp))";
259 description "Numeric value or range or string representation.
260 Should be single value or range 0..255.";
266 "((153[6-9]|15[4-9][0-9]|1[6-9][0-9][0-9]|[2-9][0-9][0-9][0-9])|"+
267 "([1-5][0-9][0-9][0-9][0-9]|6[0-4][0-9][0-9][0-9])|"+
268 "(65[0-4][0-9][0-9]|655[0-2][0-9]|6553[0-5]))|"+
269 "((arp)|(ipv4)|(ipv6))";
271 description "Numeric value or string representation.
272 Should be single value 1536..65535 or predefined string.";
281 pattern "(critical)|(flash)|(flash-override)|(immediate)|"+
282 "(internet)|(network)|(priority)|(routine)";
285 description "Precedence value.
286 critical Critical precedence (5)
287 flash Flash precedence (3)
288 flash-override Flash override precedence (4)
289 immediate Immediate precedence (2)
290 internet Internetwork control precedence (6)
291 network Network control precedence (7)
292 priority Priority precedence (1)
293 routine Routine precedence (0)";
300 description "Cos value.";
303 typedef Idle-timeout-number {
308 description "String that idle-timeout can take.";
311 typedef Idle-timeout-string {
313 pattern "(None)|(none)";
315 description "This flow does not expire.";
318 typedef Idle-timeout {
320 type Idle-timeout-number;
321 type Idle-timeout-string;
323 description "Idle timeout.";
328 enum account-logoff {
329 description "Account logoff event.";
332 description "Account logon event.";
334 enum authentication-failure {
335 description "Authentication failure event.";
337 enum authentication-no-response {
338 description "Authentication no response event.";
340 enum authorization-failure {
341 description "Authorization failure event.";
343 enum authorization-no-response {
344 description "Authorization no response event.";
346 enum credit-exhausted {
347 description "Credit exhaustion event.";
350 description "Exception event.";
353 description "Idle timeout event.";
355 enum quota-depleted {
356 description "Quota depletion event.";
359 description "Service start event.";
362 description "Service stop event.";
364 enum session-activate {
365 description "Session activate event.";
368 description "Session start event.";
371 description "Session stop event.";
374 description "Timer expiry event.";
377 description "Event type.";
380 typedef Execution-strategy {
383 description "Do all actions.";
385 enum do-until-failure {
386 description "Do all actions until failure.";
388 enum do-until-success {
389 description "Do all actions until success.";
392 description "Executuion strategy.";
395 typedef Authorize-identifier {
398 description "Authorize circuit ID.";
401 description "Authorize remote ID.";
403 enum source-address-ipv4 {
404 description "Authorize source IPv4 address.";
406 enum source-address-ipv6 {
407 description "Authorize source IPv6 address.";
409 enum source-address-mac {
410 description "Authorize source MAC address.";
413 description "Authorize username.";
416 description "Authorize identifier.";
420 description "Supported 'match' or 'match-not' actions.";
421 leaf-list ipv4-dscp {
424 description "Match IPv4 DSCP.";
426 leaf-list ipv6-dscp {
429 description "Match IPv6 DSCP.";
434 description "Match DSCP.";
436 leaf-list ipv4-precedence {
439 description "Match IPv4 precedence.";
441 leaf-list ipv6-precedence {
444 description "Match IPv6 precedence.";
446 leaf-list precedence {
449 description "Match precedence.";
451 leaf-list qos-group {
454 description "Match QoS group.
455 Should be value 0..512 or range.";
460 description "Match CoS.";
462 leaf-list inner-cos {
465 description "Match inner CoS.";
470 description "Match protocol.";
476 description "Match IPv4 ACL.";
482 description "Match IPv6 ACL.";
484 leaf-list mpls-experimental-topmost {
487 description "Match MPLS experimental topmost label.";
489 leaf-list mpls-experimental-imposition {
492 description "Match MPLS experimental imposition label.";
494 leaf-list discard-class {
497 description "Match discard class.";
499 leaf-list ipv4-packet-length {
502 description "Match IPv4 packet length.
503 Should be value 0..65535 or range.";
505 leaf-list ipv6-packet-length {
508 description "Match IPv6 packet length.
509 Should be value 0..65535 or range.";
511 leaf-list packet-length {
514 description "Match packet length.
515 Should be value 0..65535 or range.";
517 leaf mpls-disposition-ipv4-access-list {
521 description "Match MPLS Label Disposition IPv4 access list.";
523 leaf mpls-disposition-ipv6-access-list {
527 description "Match MPLS Label Disposition IPv6 access list.";
532 description "Match VLAN ID.";
534 leaf-list inner-vlan {
537 description "Match inner VLAN ID.";
542 description "Match flow-tag. Should be value 1..63 or range.";
544 leaf-list ethertype {
547 description "Match Ethertype.";
549 list destination-address-ipv4 {
550 key "address netmask";
552 description "Match destination IPv4 address.";
554 type inet:ipv4-address-no-zone;
555 description "IPv4 address.";
558 type inet:ipv4-address-no-zone;
559 description "IPv4 netmask.";
562 list destination-address-ipv6 {
563 key "address prefix-length";
565 description "Match destination IPv6 address.";
567 type inet:ipv6-address-no-zone;
568 description "IPv6 address.";
574 description "IPv6 prefix length.";
577 leaf-list destination-port {
580 description "Match destination port.
581 Should be value 0..65535 or range.";
583 leaf-list fragment-type {
585 pattern "(first-fragment)|(is-fragment)|(last-fragment)";
588 description "Match fragment type for a packet.";
590 leaf-list frame-relay-dlci {
593 description "Match frame-relay DLCI value.
594 Should be value 16..1007 or range.";
600 description "Set FrameRelay DE bit.";
602 leaf-list icmpv4-code {
605 description "Match IPv4 ICMP code.
606 Should be value 0..255 or range.";
608 leaf-list icmpv4-type {
611 description "Match IPv4 ICMP type.
612 Should be value 0..255 or range.";
614 leaf-list icmpv6-code {
617 description "Match IPv6 ICMP code.
618 Should be value 0..255 or range.";
620 leaf-list icmpv6-type {
623 description "Match IPv6 ICMP type.
624 Should be value 0..255 or range.";
626 list source-address-ipv4 {
627 key "address netmask";
629 description "Match source IPv4 address.";
631 type inet:ipv4-address-no-zone;
632 description "IPv4 address.";
635 type inet:ipv4-address-no-zone;
636 description "IPv4 netmask.";
639 list source-address-ipv6 {
640 key "address prefix-length";
642 description "Match source IPv6 address.";
644 type inet:ipv6-address-no-zone;
645 description "IPv6 address.";
651 description "IPv6 prefix length.";
654 leaf-list source-port {
657 description "Match source port.
658 Should be value 0..65535 or range.";
664 description "Match TCP flag.";
668 pattern "(authenticated)|(unauthenticated)";
670 description "Match authentication status.";
675 description "Match domain name.";
680 description "Domain name or regular expression.";
686 description "Domain-format name.";
689 leaf-list service-name {
694 description "Match servicve name.";
696 leaf-list service-name-regex {
701 description "Match servicve name regular expression.";
708 description "Match timer.";
710 leaf-list timer-regex {
715 description "Match timer regular expression.";
717 leaf-list user-name {
722 description "Match user name.";
724 leaf-list user-name-regex {
729 description "Match user name regular expression.";
733 grouping MATCH-MATCHNOT {
734 description "match or match-not containers.";
736 description "Match rules.";
739 type yang:mac-address;
740 description "Match source MAC address.";
742 leaf destination-mac {
743 type yang:mac-address;
744 description "Match destination MAC address.";
750 description "Match ATM CLP bit.";
754 description "Match ATM OAM.";
758 description "Match CAC admitted.";
762 description "Match CAC unadmitted.";
765 description "Match flow.";
768 pattern "(SourceIP)|(DestinationIP)|(5Tuple)";
771 description "Configure the flow-key parameters.";
773 container flow-cache {
774 description "Configure the flow-cache parameters";
777 description "Maximum time of inactivity for a flow.";
782 container match-not {
783 description "Match not rules.";
787 grouping CLASS-MAP-RULE {
788 description "Class-map rule";
789 leaf class-map-mode-match-any {
790 when "count(../class-map-mode-match-all) = 0" {
791 description "Class MUST have only one mode.";
794 description "Match all match criteria";
796 leaf class-map-mode-match-all {
797 when "count(../class-map-mode-match-any) = 0" {
798 description "Class MUST have only one mode.";
801 description "Match any match criteria.";
806 description "Description for this policy-map.";
810 grouping POLICY-MARK {
811 description "Policy packet marking actions.";
815 "Marks a packet by setting the DSCP in the ToS byte.";
822 "Sets the QoS group identifiers on IPv4 or MPLS packets.
823 The set qos-group is supported only on an ingress policy.";
830 "Sets the discard class on IPv4 or MPLS packets.
831 The discard-class can be used only in service policies
832 that are attached in the ingress policy.";
839 "Sets the discard class.";
845 description "Set DF bit.";
852 "Sets the specific IEEE 802.1Q Layer 2 CoS value of an
854 This command should be used by a router if a user wants
855 to mark a packet that is being sent to a switch.
856 Switches can leverage Layer 2 header information,
857 including a CoS value marking. Packets entering an
858 interface cannot be set with a CoS value.";
864 description "Set inner cos.";
868 description "Sets the precedence value in the IP header.";
870 leaf precedence-tunnel {
872 description "Sets the precedence tunnel value for ipsec.";
874 leaf mpls-experimental-top-most {
879 "Sets the experimental value of the MPLS packet top-most
882 leaf mpls-experimental-imposition {
887 "Sets the experimental value of the MPLS packet
889 Imposition can be used only in service policies that
890 are attached in the ingress policy";
897 "Sets the spatial reuse protocol priority value of an
904 description "Set FrameRelay DE bit.";
908 grouping CAC-RATE-VALUE {
909 description "CAC rate value.";
912 range "1..4294967295";
915 description "units must be set.";
917 description "Rate value.";
921 description "Rate units.";
925 grouping POLICE-ACTION {
926 description "Police action.";
929 description "Police action transmit.";
933 description "Police action drop.";
936 description "Police action packet marking.";
941 grouping POLICY-MAP-RULE {
942 description "Class-map rule.";
945 description "Policy event.";
948 description "Event type.";
950 leaf event-mode-match-all {
951 when "count(../event-modematch-first) = 0" {
952 description "Event MUST have only one mode.";
955 description "Execute all the matched classes.";
957 leaf event-modematch-first {
958 when "count(../event-modematch-all) = 0" {
959 description "Event MUST have only one mode.";
962 description "Execute only the first matched class.";
965 key "class-name class-type";
966 description "Class-map rule.";
969 pattern "[a-zA-Z0-9][a-zA-Z0-9\._@$%+#:=<>\-]{0,62}";
971 description "Name of class.";
974 type Pmap-class-map-type;
975 description "Type of class.";
977 leaf class-execution-strategy {
978 type Execution-strategy;
979 description "Class execution strategy.";
982 key "action-sequence-number";
983 description "Action rule.";
984 leaf action-sequence-number {
988 description "Sequence number for this action.";
990 container activate-dynamic-template {
991 presence "This container is present only if actions is
992 related to dynamic templates.";
993 description "Activate dynamic templates.";
997 description "Dynamic template name.";
1001 description "Name of the AAA method list.";
1004 container authenticate {
1005 description "Authentication related configuration.";
1008 description "Name of the AAA method list.";
1011 container authorize {
1012 must "format or identifier" {
1013 description "format or identifier must be set.";
1015 presence "This container is present only if actions is
1016 related to authorization.";
1017 description "Authorize.";
1021 description "Name of the AAA method list.";
1025 description "Specify an Authorize format name.";
1028 type Authorize-identifier;
1029 description "Specify an Authorize format name.";
1034 description "Specify a password to be used for AAA
1038 container deactivate-dynamic-template {
1039 presence "This container is present only if actions is
1040 related to dynamic templates.";
1041 description "Deactivate dynamic templates.";
1045 description "Dynamic template name.";
1049 description "Name of the AAA method list.";
1054 description "Disconnect session.";
1058 description "Monitor session.";
1060 container set-timer {
1061 presence "This container is present only if actions is
1063 description "Set a timer to execute a rule on its
1068 description "Name of the timer.";
1074 description "Timer value in minutes.";
1077 container stop-timer {
1078 description "Disable timer before it expires.";
1081 description "Name of the timer.";
1087 list policy-map-rule {
1088 key "class-name class-type";
1089 description "Class-map rule.";
1092 pattern "[a-zA-Z0-9][a-zA-Z0-9\._@$%+#:=<>\-]{0,62}";
1094 description "Name of class-map.";
1097 type Pmap-class-map-type;
1098 description "Type of class-map.";
1102 description "rate container must be present.";
1104 description "Policy action shape.";
1106 description "Rate configuration.";
1110 description "unit must be set.";
1112 description "Shape bandwidth value.";
1115 type Bandwidth-units;
1116 description "Shape bandwidth units.";
1120 description "Burst size configuration.";
1124 description "units must be set.";
1126 description "Burst size value.";
1129 type Threshold-units;
1130 description "Burst size units.";
1134 container min-bandwidth {
1135 description "Policy action minimum bandwidth queue.";
1139 description "unit must be set.";
1141 description "Minimum bandwidth value.";
1144 type Bandwidth-units;
1145 description "Minimum bandwidth units.";
1148 container bandwidth-remaining {
1149 description "Policy action bandwidth remaining queue.";
1153 description "unit must be set.";
1155 description "Remaining bandwidth value.";
1158 type Bandwidth-remaining-units;
1159 description "Remaining bandwidth units.";
1162 container queue-limit {
1163 description "Policy action queue limit.";
1167 description "unit must be set.";
1169 description "Remaining bandwidth value.";
1173 description "Remaining bandwidth units.";
1176 leaf priority-level {
1180 description "Priority level.";
1184 description "Default random early detection";
1188 description "ECN based random early detection";
1190 list random-detect {
1191 key "threshold-min-value threshold-min-units "+
1192 "threshold-max-value threshold-max-units";
1193 description "Random early detection.
1194 All RED profiles in a class must be based
1195 on the same field.";
1196 leaf threshold-min-value {
1198 description "Minimum RED threshold value.";
1200 leaf threshold-min-units {
1201 type Threshold-units;
1202 description "Minimum RED threshold units.";
1204 leaf threshold-max-value {
1206 description "Maximum RED threshold value.";
1208 leaf threshold-max-units {
1209 type Threshold-units;
1210 description "Maximum RED threshold units.";
1215 description "WRED based on CoS.";
1217 leaf-list discard-class {
1220 description "WRED based on discard class.";
1225 description "WRED based on DSCP.";
1227 leaf-list mpls-exp {
1230 description "MPLS Experimental value based WRED.";
1232 leaf-list precedence {
1235 description "WRED based on precedence.";
1241 description "DEI based WRED.";
1245 description "Policy action packet marking.";
1250 description "rate container must be present.";
1252 description "Configures traffic policing action.";
1254 description "Rate configuration.";
1258 description "units must be set.";
1260 description "Rate value.";
1264 description "Rate units.";
1267 container peak-rate {
1268 description "Peak rate configuration.";
1272 description "units must be set.";
1274 description "Peak rate value.";
1278 description "Peak rate units.";
1282 description "Burst configuration.";
1286 description "units must be set.";
1288 description "Burst value.";
1291 type Threshold-units;
1292 description "Burst units.";
1295 container peak-burst {
1296 description "Peak burst configuration.";
1300 description "units must be set.";
1302 description "Peak burst value.";
1305 type Threshold-units;
1306 description "Peak burst units.";
1309 container conform-action {
1311 "Configures the action to take on packets that conform
1312 to the rate limit.";
1315 container exceed-action {
1317 "Configures the action to take on packets that exceed
1321 container violate-action {
1323 "Configures the action to take on packets that violate
1328 container service-policy {
1330 "Configure a child service policy.";
1333 pattern "[a-zA-Z0-9][a-zA-Z0-9\._@$%+#:=<>\-]{0,62}";
1335 description "Name of service-policy.";
1338 type Service-policy-type;
1339 description "Type of service-policy.";
1342 container cac-local {
1343 description "Policy action CAC.";
1345 description "The rate allocated for all flows.";
1346 uses CAC-RATE-VALUE;
1348 container flow-rate {
1349 description "The rate allocated per flow.";
1350 uses CAC-RATE-VALUE;
1352 leaf flow-idle-timeout {
1354 description "The interval after which a flow is removed,
1355 if there is no activity.
1356 If timeout is 0 this flow does not expire.";
1359 container flow-params {
1360 description "Policy flow monitoring action.";
1366 "Max simultaneous flows monitored per policy class";
1368 leaf interval-duration {
1371 description "Monitored interval duration.";
1376 "Keep stats/metrics on box for so many intervals.";
1381 description "Declare a flow dead if no packets received in
1385 container metrics-ipcbr {
1386 description "Policy IP-CBR metric action.";
1388 description "Nominal per-flow data rate.";
1392 description "Nominal rate specified at the L3 (IP).";
1397 description "Nominal IP layer packet rate (in pps).";
1401 range "1..3000000000";
1405 "Nominal data rate of the media flow (ip payload).";
1408 container media-packet {
1409 description "Media-packet structure.";
1413 description "Nominal size of the media-packet.";
1415 leaf count-in-layer3 {
1421 "Nominal number of media packets in an IP payload.";
1426 description "Policy action react.";
1429 description "String describing the react statement.";
1432 description "Action on alert.";
1435 description "Syslog.";
1439 description "SNMP.";
1443 description "Alaram settings.";
1445 description "Alarm type.";
1448 description "Discrete alarm type.";
1452 units "number of flows";
1453 description "Number of flows to reach before
1456 leaf group-percent {
1459 description "Percent to reach before triggering alarm";
1463 type Alarm-severity;
1464 description "Severity of the alarm.";
1467 container treshold {
1468 description "Alarm threshold settings.";
1469 container trigger-value {
1470 description "Alarm trigger value settings.";
1473 description "Greater than";
1475 leaf greater-than-equal {
1477 description "Greater than equal";
1481 description "Less than";
1483 leaf less-than-equal {
1485 description "Less than equal";
1489 description "Range";
1492 container trigger-type {
1493 description "Alarm trigger type settings.";
1496 description "Immediate trigger.";
1500 description "Trigger averaged over N intervals.";
1504 leaf criterion-delay-factor {
1506 description "React criterion delay factor.";
1508 leaf criterion-media-stop {
1510 description "React criterion media stop.";
1512 leaf criterion-mrv {
1514 description "React criterion mrv.";
1516 leaf criterion-flow-count {
1518 description "React criterion flow count.";
1520 leaf criterion-packet-rate {
1522 description "React criterion packet rate.";
1526 description "Policy action PBR.";
1527 leaf http-redirect {
1529 description "Policy action http redirect.
1530 Redirect to this url.";
1534 description "Policy action PBR transmit.";
1538 description "Policy action PBR drop.";
1540 container pbr-forward {
1541 description "Policy action PBR forward.";
1544 description "Use system default routing table.";
1546 container next-hop {
1547 description "Use specific next-hop.
1548 Here we present 5 different combination
1549 for the pbf next-hop.
1550 1. vrf with v6 address
1551 2. vrf with v4 address
1557 description "VRF name.";
1560 type inet:ipv4-address;
1561 description "IPv4 address.";
1564 type inet:ipv6-address;
1565 description "IPv6 address.";
1570 description "PBR action packet marking.";
1574 leaf service-fragment {
1576 description "Policy action service fragment.
1577 Service fragment name";
1581 description "Policy action fragment. Fragment name";
1586 description "Description for this policy-map.";
1590 container policy-manager {
1591 description "Global Policy Manager configuration.";
1593 container class-maps {
1594 description "Class-maps configuration.";
1597 description "Class-map configuration.";
1599 type Class-map-type;
1600 description "Type of class-map.";
1604 pattern "[a-zA-Z0-9][a-zA-Z0-9\._@$%+#:=<>\-]{0,62}";
1606 description "Name of class-map.";
1609 uses CLASS-MAP-RULE;
1613 container policy-maps {
1614 description "Policy-maps configuration.";
1617 description "Policy-map configuration.";
1619 type Policy-map-type;
1620 description "Type of policy-map.";
1624 pattern "[a-zA-Z0-9][a-zA-Z0-9\._@$%+#:=<>\-]{0,62}";
1626 description "Name of policy-map.";
1629 uses POLICY-MAP-RULE;