11 import ietf-inet-types {
13 revision-date 2013-07-15;
16 import ietf-yang-types {
21 "This file was adapted to be parsed by yangtools for groupbasedpolicy project purpose";
26 /// ========================================================================
28 /// ========================================================================
30 typedef class-name-type {
33 // Note: leafref can't be used here due to part of union.
34 //path "/ios:native/class-map/name";
35 tailf:info "WORD;;class-map name";
39 tailf:info "System default class matching otherwise "+
40 "unclassified packet";
46 typedef cos_value-type {
49 tailf:info "<0-7>;;new cos value";
54 tailf:info "Set packet cos from cos";
57 tailf:info "Set packet cos from dscp";
60 tailf:info "Set packet cos from exp";
63 tailf:info "Set packet cos from precedence";
72 tailf:info "<0-63>;;Differentiated services codepoint value";
77 tailf:info "Match packets with AF11 dscp (001010)";
81 tailf:info "Match packets with AF12 dscp (001100)";
85 tailf:info "Match packets with AF13 dscp (001110)";
89 tailf:info "Match packets with AF21 dscp (010010)";
93 tailf:info "Match packets with AF22 dscp (010100)";
97 tailf:info "Match packets with AF23 dscp (010110)";
101 tailf:info "Match packets with AF31 dscp (011010)";
105 tailf:info "Match packets with AF32 dscp (011100)";
109 tailf:info "Match packets with AF33 dscp (011110)";
113 tailf:info "Match packets with AF41 dscp (100010)";
117 tailf:info "Match packets with AF42 dscp (100100)";
121 tailf:info "Match packets with AF43 dscp (100110)";
125 tailf:info "Match packets with CS1(precedence 1) dscp" +
130 tailf:info "Match packets with CS2(precedence 2) dscp" +
135 tailf:info "Match packets with CS3(precedence 3) dscp" +
140 tailf:info "Match packets with CS4(precedence 4) dscp" +
145 tailf:info "Match packets with CS5(precedence 5) dscp" +
150 tailf:info "Match packets with CS6(precedence 6) dscp" +
155 tailf:info "Match packets with CS7(precedence 7) dscp" +
160 tailf:code-name "dscp_default";
161 tailf:info "Match packets with default dscp (000000)";
165 tailf:info "Set packet dscp from dscp";
168 tailf:info "Match packets with EF dscp (101110)";
172 tailf:info "Set packet dscp from precedence";
178 typedef exp_value-type {
181 tailf:info "<0-7>;;new exp";
186 tailf:info "Set packet exp from cos";
189 tailf:info "Set packet exp from dscp";
192 tailf:info "Set packet exp from exp";
195 tailf:info "Set packet exp from precedence";
201 typedef percentage-type {
203 tailf:info "<1-100>;;Percentage";
208 typedef police-bps-type {
210 tailf:info "<8000-64000000000>;;Bits per second";
211 range "8000..64000000000";
215 typedef police-burst-type {
217 tailf:info "<1000-512000000>;;Burst bytes";
218 range "1000..512000000";
222 typedef police-packets-bytes-type {
225 tailf:info "Treat 'burst' value as packets";
228 tailf:info "Treat 'burst' value as bytes";
233 typedef police-pps-bps-type {
236 tailf:info "pps Treat 'rate' value in "+
237 "packets-per-second";
240 tailf:info "pps Treat 'rate' value in "+
246 typedef policy-action-type {
249 tailf:code-name policy_bandwidth;
250 tailf:info "Bandwidth";
253 tailf:info "Activate Compression";
256 tailf:info "Dynamic buffer limiting";
259 tailf:info "Drop all packets";
262 tailf:info "Estimate resources required for this class";
265 tailf:info "Enable Flow-based Fair Queuing in this Class";
268 tailf:info "Forward service-path action";
270 enum netflow-sampler {
271 tailf:info "NetFlow action";
277 tailf:code-name policy_priority;
278 tailf:info "Strict Scheduling Priority for this Class";
281 tailf:info "Queue Max Threshold for Tail Drop";
284 tailf:info "Enable Random Early Detection as drop policy";
286 enum service-policy {
287 tailf:info "Configure Flow Next";
290 tailf:info "Set QoS values";
293 tailf:code-name policy_shape;
294 tailf:info "Traffic Shaping";
297 tailf:info "Set trust value for the class";
300 tailf:info "queue buffer";
305 typedef prec_value-type {
308 tailf:info "<0-7>;;new precedence";
313 tailf:info "Set packet precedence from cos";
316 tailf:info "Set packet precedence from dscp";
319 tailf:info "Set packet precedence from exp";
322 tailf:info "Set packet precedence from precedence";
328 typedef precedence-type {
331 tailf:info "<0-7>;;Precedence value";
336 tailf:info "Set packets with critical precedence (5)";
339 tailf:info "Set packets with flash precedence (3)";
341 enum flash-override {
342 tailf:info "Set packets with flash override precedence (4)";
345 tailf:info "Set packets with immediate precedence (2)";
348 tailf:code-name "prec_internet";
349 tailf:info "Set packets with internetwork control"+
353 tailf:info "Set packets with network control precedence"+
357 tailf:code-name "prec_priority";
358 tailf:info "Set packets with priority precedence (1)";
361 tailf:info "Set packets with routine precedence (0)";
367 typedef precedence-type2 {
370 tailf:info "<0-7>;;IP precedence";
375 tailf:code-name "prec_rsvp";
376 tailf:info "rsvp traffic";
382 typedef qos_value-type {
385 tailf:info "<0-99>;;new qos-group";
390 tailf:info "Set packet qos from cos";
393 tailf:info "Set packet qos from dscp";
396 tailf:info "Set packet qos from exp";
399 tailf:info "Set packet qos from precedence";
405 /// ========================================================================
407 /// ========================================================================
409 grouping class-map-appnav-not-match-grouping {
410 // class-map * / peer
412 when "../../../type = 'appnav'";
413 tailf:info "APPNAV Peer Filter";
414 description "APPNAV Peer Filter";
416 tailf:info "H.H.H;;Device ID";
421 grouping class-map-appnav-match-grouping {
422 // class-map * / peer
424 when "../../type = 'appnav'";
425 tailf:info "APPNAV Peer Filter";
426 description "APPNAV Peer Filter";
428 tailf:info "H.H.H;;Device ID";
433 grouping class-map-match-grouping {
434 // class-map * / match application
435 container application {
436 tailf:info "Application to match";
437 description "Application to match";
438 container application-group {
439 tailf:info "Application Group to match";
440 description "Application Group to match";
441 leaf telepresence-group {
442 tailf:info "Telepresence Group";
443 description "Telepresence Group";
444 tailf:cli-full-command;
448 tailf:info "VMWARE Group";
449 description "VMWARE Group";
450 tailf:cli-full-command;
454 tailf:info "WebEx Group";
455 description "WebEx Group";
456 tailf:cli-full-command;
460 container attribute {
461 tailf:info "Application attribute to match";
462 description "Application attribute to match";
464 tailf:info "Media type attribute to match";
465 description "Media type attribute to match";
471 tailf:info "Audio Video";
474 tailf:info "Control";
486 // class-map * / match access-group
487 container access-group {
488 tailf:info "Access group";
489 description "Access group";
491 tailf:cli-drop-node-name;
494 tailf:info "<1-2699>;;Access list index";
499 tailf:info "Named Access List";
500 description "Named Access List";
501 tailf:cli-list-syntax;
503 tailf:info "WORD;;Access List name";
507 // class-map * / match any
509 tailf:info "Any packets";
510 description "Any packets";
513 // class-map * / match class-map
514 leaf-list class-map {
515 tailf:info "Class map";
516 description "Class map";
517 tailf:cli-list-syntax;
519 path "/ios:native/class-map/name";
520 // tailf:info "WORD;;Match class-map name";
523 // class-map * / match cos
525 tailf:info "IEEE 802.1Q/ISL class of service/user priority values";
526 description "IEEE 802.1Q/ISL class of service/user priority values";
527 tailf:cli-flat-list-syntax;
530 tailf:info "<0-7>;;Enter up to 4 class-of-service values"+
531 " separated by white-spaces";
534 // class-map * / match destination-address
535 container destination-address {
536 tailf:info "Destination address";
537 description "Destination address";
539 tailf:info "MAC address";
540 description "MAC address";
541 tailf:cli-list-syntax;
542 type yang:mac-address {
543 tailf:info "H.H.H;;MAC address";
547 // class-map * / discard-class
548 leaf-list discard-class {
549 tailf:info "Discard behavior identifier";
550 description "Discard behavior identifier";
551 tailf:cli-list-syntax;
554 tailf:info "<0-7>;;Discard Class value";
557 // class-map * / dscp
559 tailf:info "Match DSCP in IP(v4) and IPv6 packets";
560 description "Match DSCP in IP(v4) and IPv6 packets";
561 tailf:cli-flat-list-syntax;
562 tailf:cli-list-syntax;
565 // class-map * / fr-de
567 tailf:info "Match on Frame-relay DE bit";
568 description "Match on Frame-relay DE bit";
571 // class-map * / fr-dlci
573 tailf:info "Match on fr-dlci";
574 description "Match on fr-dlci";
575 tailf:cli-list-syntax;
578 tailf:info "<16-1007>;;frame-relay dlci number";
581 // class-map * / input-interface
582 leaf-list input-interface {
583 tailf:info "Select an input interface to match";
584 description "Select an input interface to match";
585 tailf:cli-list-syntax;
586 //FIXME: interface dependency
591 tailf:info "IP specific values";
592 description "IP specific values";
593 // class-map * / ip dscp
595 tailf:info "Match IP DSCP (DiffServ CodePoints)";
596 description "Match IP DSCP (DiffServ CodePoints)";
597 tailf:cli-flat-list-syntax;
598 tailf:cli-list-syntax;
601 // class-map * / ip precedence
602 leaf-list precedence {
603 tailf:info "Match IP precedence";
604 description "Match IP precedence";
605 tailf:cli-flat-list-syntax;
606 type precedence-type;
608 // class-map * / ip rtp
610 tailf:info "Match RTP port nos";
611 description "Match RTP port nos";
616 tailf:info "<2000-65535>;;Lower bound of UDP"+
623 tailf:info "<0-16383>;;Range of UDP ports";
628 // class-map * / non-client-nrt
629 leaf non-client-nrt {
630 tailf:cli-full-command;
633 // class-map * / mpls
635 tailf:info "Multi Protocol Label Switching specific values";
636 description "Multi Protocol Label Switching specific values";
637 container experimental {
638 tailf:info "Match MPLS experimental";
639 description "Match MPLS experimental";
641 tailf:info "Match MPLS experimental value on topmost label";
642 description "Match MPLS experimental value on topmost label";
643 tailf:cli-flat-list-syntax;
646 tailf:info "<0-7>;;Enter up to 8 experimental values "+
647 "separated by white-spaces";
652 // class-map * / packet
654 tailf:info "Layer 3 Packet length";
655 description "Layer 3 Packet length";
657 tailf:info "Layer 3 Packet length";
658 description "Layer 3 Packet length";
660 tailf:info "Maximum length of packet";
661 description "Maximum length of packet";
664 tailf:info "<1-2000>;;Packet length in bytes";
668 tailf:info "Minimum length of packet";
669 description "Minimum length of packet";
672 tailf:info "<1-2000>;;Packet length in bytes";
677 // class-map * / precedence
678 leaf-list precedence {
679 tailf:info "Match Precedence in IP(v4) and IPv6 packets";
680 description "Match Precedence in IP(v4) and IPv6 packets";
681 tailf:cli-flat-list-syntax;
682 type precedence-type;
684 // class-map * / protocol
686 tailf:info "Protocol";
687 description "Protocol";
689 tailf:cli-drop-node-name;
692 tailf:info "IEEE 802.11 WLANs WG IAPP";
695 tailf:info "ACE Server/Propagation";
698 tailf:info "America-Online Instant Messenger";
701 tailf:info "Apple QuickTime";
704 tailf:info "Bliff mail notification";
707 tailf:info "bittorrent";
710 tailf:info "Bootstrap Protocol Client";
713 tailf:info "Bootstrap Protocol Server";
716 tailf:info "CD Database Protocol";
722 tailf:info "Cisco FNATIVE";
724 enum cisco-net-mgmt {
725 tailf:info "cisco-net-mgmt";
728 tailf:info "cisco license/perf/GDP/X.25/ident svcs";
731 tailf:info "Cisco SYSMAINT";
734 tailf:info "Cisco TDP";
737 tailf:info "Cisco TNATIVE";
739 enum citriximaclient {
740 tailf:info "Citrix IMA Client";
743 tailf:info "Cisco Line Protocol";
745 enum creativepartnr {
746 tailf:info "Creative Partnr";
748 enum creativeserver {
749 tailf:info "Creative Server";
752 tailf:info "Daytime (RFC 867)";
755 tailf:info "dBASE Unix";
757 enum dbcontrol_agent {
758 tailf:info "Oracle dbControl Agent po";
761 tailf:info "Dynamic DNS Version 3";
764 tailf:info "DHCP Failover";
767 tailf:info "Direct Connect Version 2.0";
770 tailf:info "Discard port";
773 tailf:info "DNSIX Securit Attribute Token Map";
776 tailf:info "Echo port";
778 enum entrust-svc-hdlr {
779 tailf:info "Entrust KM/Admin Service Handler";
782 tailf:info "Entrust sps/aaas/aams";
785 tailf:info "Remote Process Execution";
791 tailf:info "FTP over TLS/SSL";
797 tailf:info "Oracle GIOP/SSL";
800 tailf:info "GPRS Tunneling Protocol Version 0";
803 tailf:info "GPRS Tunneling Protocol Version 1";
806 tailf:info "H225 RAS over Unicast";
808 enum h323callsigalt {
809 tailf:info "h323 Call Signal Alternate";
812 tailf:info "HP Performance data alarm manager";
815 tailf:info "HP Performance data collector";
817 enum hp-managed-node {
818 tailf:info "HP Performance data managed node";
821 tailf:info "Hot Standby Router Protocol";
824 tailf:info "Secure Hypertext Transfer Protocol";
827 tailf:info "ica (Citrix)";
830 tailf:info "icabrowser (Citrix)";
833 tailf:info "Authentication Service";
836 tailf:info "IGMP over UDP for SSM";
839 tailf:info "Interactive Mail Access Protocol 3";
842 tailf:info "IMAP over TLS/SSL";
848 tailf:info "Microsoft IPsec NAT-T";
851 tailf:info "IRC-SERV";
854 tailf:info "IRC over TLS/SSL";
866 tailf:info "iSCSI port";
872 tailf:info "LDAP admin server port";
875 tailf:info "LDAP over TLS/SSL";
878 tailf:info "Remote login";
881 tailf:info "Lotus Mail Tracking Agent Protocol";
884 tailf:info "Lotus Note";
886 // AppNav match protocol
891 tailf:info "MS-AD-REP";
894 tailf:info "MS-EXCH-NSPI";
900 tailf:info "MS-FRSAPI";
907 tailf:info "MSN-MESSENGER";
910 tailf:info "NETLOGON";
913 tailf:info "Microsoft-DS";
915 enum ms-cluster-net {
916 tailf:info "MS Cluster Net";
919 tailf:info "Microsoft .NETster Port";
922 tailf:info "Microsoft SNA Server/Base";
925 tailf:info "Microsoft SQL";
928 tailf:info "Microsoft SQL Monitor";
930 enum msexch-routing {
931 tailf:info "Microsoft Exchange Routing";
934 tailf:info "MSN Instant Messenger";
937 tailf:info "Microsoft Remote Procedure Call";
943 tailf:info "N2H2 Filter Service Port";
946 tailf:info "NCP (Novell)";
949 tailf:info "Oracle Net8 Cman/Admin";
952 tailf:info "NETBIOS Datagram Service";
955 tailf:info "NETBIOS Name Service";
958 tailf:info "NETBIOS Session Service";
961 tailf:info "Variant of systat";
964 tailf:info "OEM Agent (Oracle)";
970 tailf:info "Oracle EM/VP";
973 tailf:info "Oracle Names";
976 tailf:info "Oracle SQL*Net v1/v2";
978 enum pcanywheredata {
979 tailf:info "pcANYWHEREdata";
981 enum pcanywherestat {
982 tailf:info "pcANYWHEREstat";
985 tailf:info "POP3 over TLS/SSL";
988 tailf:info "Password Generator Protocol";
991 tailf:info "Quick Mail Transfer Protocol";
994 tailf:info "remote-winsock";
997 tailf:info "RADIUS & Accounting";
1000 tailf:info "Oracle RDB";
1003 tailf:info "RealNetwork's Realmedia Protocol";
1006 tailf:info "ISS Real Secure Console Service Port";
1009 tailf:info "Local Routing Process";
1012 tailf:info "RSVP ENCAPSULATION-1/2";
1015 tailf:info "RSVP Tunnel";
1018 tailf:info "Oracle RTC-PM port";
1021 tailf:info "Remote Telnet Service";
1027 tailf:info "Remote command";
1030 tailf:info "SIP-TLS";
1033 tailf:info "SMS RCINFO/XFER/CHAT";
1036 tailf:info "SNMP Trap";
1039 tailf:info "SQL-NET";
1042 tailf:info "SQL Services";
1045 tailf:info "SQL Service";
1048 tailf:info "SSLshell";
1051 tailf:info "State Sync Protocol";
1054 tailf:info "Reliable Syslog Service";
1057 tailf:info "Login Host Protocol (TACACS)";
1060 tailf:info "TACACS-Database Service";
1063 tailf:info "Tarantella";
1069 tailf:info "Telnet over TLS/SSL";
1075 tailf:info "Time server";
1078 tailf:info "cisco RSRB";
1081 tailf:info "Oracle TTC/SSL";
1087 tailf:info "UUCPD/UUCP-RLOGIN";
1093 tailf:info "Network Disctionary";
1096 tailf:info "Who's service";
1099 tailf:info "Microsoft WINS";
1102 tailf:info "X Window System";
1105 tailf:info "XDM Control Protocol";
1108 tailf:info "Yahoo! Instant Messenger";
1111 tailf:info "AppleTalk ARP";
1114 tailf:info "AppleTalk";
1117 tailf:info "IP ARP";
1120 tailf:info "Border Gateway Protocol";
1123 tailf:info "Bridging";
1126 tailf:info "Block Serial Tunnel";
1129 tailf:info "Cisco Discovery Protocol";
1134 tailf:info "Citrix Systems ICA protocol";
1135 description "Citrix Systems ICA protocol";
1136 presence "enable citrix system protocol matching";
1138 tailf:info "Citrix ICA tag 0-high 1-medium 2-low "+
1140 description "Citrix ICA tag 0-high 1-medium 2-low "+
1143 tailf:info "WORD;;Enter a string as the sub-protocol "+
1149 tailf:info "ISO CLNS";
1150 description "ISO CLNS";
1154 tailf:info "ISO CLNS End System";
1155 description "ISO CLNS End System";
1159 tailf:info "ISO CLNS Intermediate System";
1160 description "ISO CLNS Intermediate System";
1164 tailf:info "ISO CMNS";
1165 description "ISO CMNS";
1168 leaf compressedtcp {
1169 tailf:info "Compressed TCP (VJ";
1170 description "Compressed TCP (VJ";
1174 tailf:info "CU-SeeMe desktop video conference";
1175 description "CU-SeeMe desktop video conference";
1179 tailf:info "DECnet";
1180 description "DECnet";
1184 tailf:info "DECnet Node";
1185 description "DECnet Node";
1188 leaf decnet_router-l1 {
1189 tailf:info "DECnet Router L1";
1190 description "DECnet Router L1";
1193 leaf decnet_router-l2 {
1194 tailf:info "DECnet Router L2";
1195 description "DECnet Router L2";
1199 tailf:info "Dynamic Host Configuration";
1200 description "Dynamic Host Configuration";
1205 tailf:info "Data Link Switching (Direct encapsulation only";
1209 tailf:info "Domain Name Server lookup";
1213 tailf:info "eDonkey";
1217 tailf:info "Exterior Gateway Protocol";
1221 tailf:info "Enhanced Interior Gateway Routing Protocol";
1225 tailf:info "MS-RPC for Exchange";
1227 container fasttrack {
1228 tailf:info "FastTrack Traffic - KaZaA, Morpheus, Grokster";
1229 description "FastTrack Traffic - KaZaA, Morpheus, Grokster";
1230 presence "enable fasttrack matching";
1231 leaf file-transfer {
1232 tailf:info "File transfer stream";
1233 description "File transfer stream";
1235 tailf:info "WORD;;Enter a string as the sub-protocol "+
1242 tailf:info "Finger";
1246 tailf:info "File Transfer Protocol";
1248 container gnutella {
1249 tailf:info "Gnutella Version2 Traffic - BearShare, Shareeza, "+
1251 description "Gnutella Version2 Traffic - BearShare, Shareeza, "+
1253 presence "enable gnutella matching";
1254 leaf file-transfer {
1255 tailf:info "File transfer stream";
1256 description "File transfer stream";
1258 tailf:info "WORD;;Enter a string as the sub-protocol "+
1265 tailf:info "Gopher";
1269 tailf:info "Generic Routing Encapsulation";
1273 tailf:info "H323 Protocol";
1276 tailf:info "World Wide Web traffic";
1277 description "World Wide Web traffic";
1278 presence "enable http traffic matching";
1279 leaf c-header-field {
1280 tailf:info "Client general Header Field";
1281 description "Client general Header Field";
1283 tailf:info "WORD;;Enter a string as the sub-protocol "+
1288 tailf:info "Server Host Name";
1289 description "Server Host Name";
1291 tailf:info "WORD;;Enter a string as the sub-protocol "+
1296 tailf:info "Match MIME Type";
1297 description "Match MIME Type";
1299 tailf:info "WORD;;Enter a string as the sub-protocol "+
1303 leaf s-header-field {
1304 tailf:info "Server general Header Field";
1305 description "Server general Header Field";
1307 tailf:info "WORD;;Enter a string as the sub-protocol "+
1312 tailf:info "Match URL String";
1313 description "Match URL String";
1315 tailf:info "WORD;;Enter a string as the sub-protocol "+
1321 tailf:info "Internet Control Message";
1322 description "Internet Control Message";
1326 tailf:info "Internet Message Access Protocol";
1327 description "Internet Message Access Protocol";
1336 tailf:info "IP in IP (encapsulation";
1337 description "IP in IP (encapsulation";
1341 tailf:info "IP Security Protocol (ESP/AH";
1342 description "IP Security Protocol (ESP/AH";
1351 tailf:info "Novell IPX";
1352 description "Novell IPX";
1357 tailf:info "Internet Relay Chat";
1358 description "Internet Relay Chat";
1361 tailf:info "Kazaa Version 2";
1362 description "Kazaa Version 2";
1363 presence "enable kazaa version 2 matching";
1364 leaf file-transfer {
1365 tailf:info "File transfer stream";
1366 description "File transfer stream";
1368 tailf:info "WORD;;Enter a string as the sub-protocol "+
1374 tailf:info "Kerberos";
1375 description "Kerberos";
1379 tailf:info "L2F/L2TP tunnel";
1380 description "L2F/L2TP tunnel";
1384 tailf:info "Lightweight Directory Access Protocol";
1385 description "Lightweight Directory Access Protocol";
1394 tailf:info "Media Gateway Control Protocol";
1395 description "Media Gateway Control Protocol";
1399 tailf:info "Napster Traffic";
1400 description "Napster Traffic";
1401 presence "enable napster matching";
1403 tailf:info "Non-standard port advertizements";
1404 description "Non-standard port advertizements";
1409 tailf:info "NetBIOS";
1410 description "NetBIOS";
1414 tailf:info "Microsoft Netshow";
1415 description "Microsoft Netshow";
1419 tailf:info "Network File System";
1420 description "Network File System";
1424 tailf:info "Network News Transfer Protocol";
1425 description "Network News Transfer Protocol";
1429 tailf:info "Lotus Notes(R";
1430 description "Lotus Notes(R";
1434 tailf:info "Novadigm EDM";
1435 description "Novadigm EDM";
1439 tailf:info "Network Time Protocol";
1440 description "Network Time Protocol";
1444 tailf:info "Open Shortest Path First";
1445 description "Open Shortest Path First";
1449 tailf:info "PAD links";
1450 description "PAD links";
1454 tailf:info "Symantec pcANYWHERE";
1455 description "Symantec pcANYWHERE";
1459 tailf:info "Post Office Protocol";
1460 description "Post Office Protocol";
1464 tailf:info "PPP over Ethernet";
1465 description "PPP over Ethernet";
1469 tailf:info "Point-to-Point Tunneling Protocol";
1470 description "Point-to-Point Tunneling Protocol";
1474 tailf:info "print spooler/lpd";
1475 description "print spooler/lpd";
1479 tailf:info "qllc protocol";
1480 description "qllc protocol";
1484 tailf:info "BSD r-commands (rsh, rlogin, rexec";
1485 description "BSD r-commands (rsh, rlogin, rexec";
1489 tailf:info "Routing Information Protocol";
1490 description "Routing Information Protocol";
1494 tailf:info "Remote Source-Route Bridging";
1495 description "Remote Source-Route Bridging";
1499 tailf:info "Resource Reservation Protocol";
1500 description "Resource Reservation Protocol";
1504 tailf:info "Real Time Control Protocol";
1505 description "Real Time Control Protocol";
1509 tailf:info "Real Time Protocol";
1510 description "Real Time Protocol";
1511 presence "enable rtp matching";
1513 tailf:info "Match voice packets";
1514 description "Match voice packets";
1518 tailf:info "Match an explicit PT";
1519 description "Match an explicit PT";
1521 tailf:info "WORD;;Enter a string as the sub-protocol "+
1526 tailf:info "Match video packets";
1527 description "Match video packets";
1532 tailf:info "Real Time Streaming Protocol";
1533 description "Real Time Streaming Protocol";
1537 tailf:info "FTP over TLS/SSL";
1538 description "FTP over TLS/SSL";
1542 tailf:info "Secured HTTP";
1543 description "Secured HTTP";
1547 tailf:info "Internet Message Access Protocol over TLS/SSL";
1548 description "Internet Message Access Protocol over TLS/SSL";
1552 tailf:info "Internet Relay Chat over TLS/SSL";
1553 description "Internet Relay Chat over TLS/SSL";
1557 tailf:info "Lightweight Directory Access Protocol over TLS/SSL";
1558 description "Lightweight Directory Access Protocol over TLS/SSL";
1562 tailf:info "Network News Transfer Protocol over TLS/SSL";
1563 description "Network News Transfer Protocol over TLS/SSL";
1567 tailf:info "Post Office Protocol over TLS/SSL";
1568 description "Post Office Protocol over TLS/SSL";
1571 leaf secure-telnet {
1572 tailf:info "Telnet over TLS/SSL";
1573 description "Telnet over TLS/SSL";
1577 tailf:info "Session Initiation Protocol";
1578 description "Session Initiation Protocol";
1582 tailf:info "Skinny Protocol";
1583 description "Skinny Protocol";
1587 tailf:info "Simple Mail Transfer Protocol";
1588 description "Simple Mail Transfer Protocol";
1594 tailf:info "Snapshot routing support";
1595 description "Snapshot routing support";
1599 tailf:info "Simple Network Management Protocol";
1600 description "Simple Network Management Protocol";
1605 description "SOCKS";
1609 tailf:info "SQL*NET for Oracle";
1610 description "SQL*NET for Oracle";
1614 tailf:info "MS SQL Server";
1615 description "MS SQL Server";
1619 tailf:info "Secured Shell";
1620 description "Secured Shell";
1624 tailf:info "Xing Technology StreamWorks player";
1625 description "Xing Technology StreamWorks player";
1629 tailf:info "Serial Tunnel";
1630 description "Serial Tunnel";
1634 tailf:info "Sun RPC";
1635 description "Sun RPC";
1639 tailf:info "WORD;;Enter a string as the sub-protocol "+
1640 "parameter"; tailf:info "System Logging Utility";
1641 description "System Logging Utility";
1645 tailf:info "Telnet";
1646 description "Telnet";
1650 tailf:info "Trivial File Transfer Protocol";
1651 description "Trivial File Transfer Protocol";
1655 tailf:info "VDOLive streaming video";
1656 description "VDOLive streaming video";
1660 tailf:info "voice over Frame Relay packets";
1661 description "voice over Frame Relay packets";
1665 tailf:info "WinMx file-sharing application";
1666 description "WinMx file-sharing application";
1670 tailf:info "X-Windows remote access";
1671 description "X-Windows remote access";
1675 // class-map * / qos-group
1676 leaf-list qos-group {
1677 tailf:info "Qos-group";
1678 description "Qos-group";
1679 tailf:cli-list-syntax;
1681 tailf:info "<0-99>;;Qos Group value";
1685 // class-map * / match security-group
1686 container security-group {
1687 tailf:info "Security group";
1688 description "Security group";
1689 container destination {
1690 tailf:info "Destination security group";
1691 description "Destination security group";
1693 tailf:info "Security group tag";
1694 description "Security group tag";
1696 tailf:info "<1-65533>;;Security group tag id";
1701 tailf:info "Source security group";
1702 description "Source security group";
1704 tailf:info "Security group tag";
1705 description "Security group tag";
1707 tailf:info "<1-65533>;;Security group tag id";
1712 // class-map * / source-address
1713 container source-address {
1714 tailf:info "Source address";
1715 description "Source address";
1717 tailf:info "MAC address";
1718 description "MAC address";
1719 tailf:cli-list-syntax;
1720 type yang:mac-address {
1721 tailf:info "H.H.H;;MAC address";
1725 // class-map * / match vlan
1727 tailf:info "VLANs to match";
1728 description "VLANs to match";
1729 tailf:cli-range-list-syntax;
1730 tailf:cli-list-syntax;
1732 tailf:info "<1-4094>;;VLAN id";
1738 grouping config-service-chain-grouping {
1740 tailf:info "Service function forwarder description";
1741 description "Service function forwarder description";
1742 tailf:cli-multi-value;
1744 tailf:info "LINE;;Up to 256 characters describing this " + "service function forwarder";
1749 tailf:info "IP address for Service Function Forwarder";
1750 description "IP address for Service Function Forwarder";
1752 tailf:info "Set IPv4 address";
1753 description "Set IPv4 address";
1754 type inet:ipv4-address {
1755 tailf:info "A.B.C.D;;IP address of Service Function Forwarder";
1761 grouping police-action-drop-grouping {
1763 tailf:info "drop packet";
1764 description "drop packet";
1769 grouping police-action-grouping {
1771 tailf:cli-break-sequence-commands;
1772 tailf:cli-no-keyword;
1773 tailf:cli-drop-node-name;
1774 tailf:cli-flatten-container;
1775 // policy-map * / class * / police ? / conform-action
1776 uses police-conform-action-grouping;
1777 // policy-map * / class * / police ? / exceed-action
1778 uses police-exceed-action-grouping;
1779 // policy-map * / class * / police ? / violate-action
1780 uses police-violate-action-grouping;
1784 grouping police-conform-action-grouping {
1785 container conform-set-clp-transmit {
1786 tailf:cli-no-keyword;
1787 tailf:cli-drop-node-name;
1788 tailf:cli-flatten-container;
1789 container conform-action {
1790 tailf:info "action when rate is less than conform burst";
1791 description "action when rate is less than conform burst";
1792 tailf:cli-flatten-container;
1793 leaf set-clp-transmit {
1794 tailf:info "set atm clp and send it";
1795 description "set atm clp and send it";
1800 container conform-set-cos-transmit {
1801 tailf:cli-no-keyword;
1802 tailf:cli-drop-node-name;
1803 tailf:cli-flatten-container;
1804 container conform-action {
1805 tailf:info "action when rate is less than conform burst";
1806 description "action when rate is less than conform burst";
1807 tailf:cli-flatten-container;
1808 leaf set-cos-transmit {
1809 tailf:info "rewrite packet cos and send it";
1810 description "rewrite packet cos and send it";
1811 type cos_value-type;
1815 container conform-set-cos-transmit-table {
1816 tailf:cli-no-keyword;
1817 tailf:cli-drop-node-name;
1818 tailf:cli-flatten-container;
1819 container conform-action {
1820 tailf:info "action when rate is less than conform burst";
1821 description "action when rate is less than conform burst";
1822 tailf:cli-compact-syntax;
1823 tailf:cli-flatten-container;
1824 tailf:cli-sequence-commands;
1825 leaf set-cos-transmit {
1826 tailf:info "rewrite packet cos and send it";
1827 description "rewrite packet cos and send it";
1828 type cos_value-type;
1831 tailf:info "Specify table-map";
1832 description "Specify table-map";
1834 path "/ios:native/table-map/name";
1839 container conform-set-discard-class-transmit {
1840 tailf:cli-no-keyword;
1841 tailf:cli-drop-node-name;
1842 tailf:cli-flatten-container;
1843 container conform-action {
1844 tailf:info "action when rate is less than conform burst";
1845 description "action when rate is less than conform burst";
1846 tailf:cli-flatten-container;
1847 leaf set-discard-class-transmit {
1848 tailf:info "set discard-class and send it";
1849 description "set discard-class and send it";
1851 tailf:info "<0-7>;;new discard-class";
1857 container conform-set-dscp-transmit {
1858 tailf:cli-no-keyword;
1859 tailf:cli-drop-node-name;
1860 tailf:cli-flatten-container;
1861 container conform-action {
1862 tailf:info "action when rate is less than conform burst";
1863 description "action when rate is less than conform burst";
1864 tailf:cli-flatten-container;
1865 leaf set-dscp-transmit {
1866 tailf:info "set dscp and send it";
1867 description "set dscp and send it";
1872 container conform-set-dscp-transmit-table {
1873 tailf:cli-no-keyword;
1874 tailf:cli-drop-node-name;
1875 tailf:cli-flatten-container;
1876 container conform-action {
1877 tailf:info "action when rate is less than conform burst";
1878 description "action when rate is less than conform burst";
1879 tailf:cli-compact-syntax;
1880 tailf:cli-flatten-container;
1881 tailf:cli-sequence-commands;
1882 leaf set-dscp-transmit {
1883 tailf:info "set dscp and send it";
1884 description "set dscp and send it";
1888 tailf:info "Specify table-map";
1889 description "Specify table-map";
1891 path "/ios:native/table-map/name";
1896 container conform-set-frde-transmit {
1897 tailf:cli-no-keyword;
1898 tailf:cli-drop-node-name;
1899 tailf:cli-flatten-container;
1900 container conform-action {
1901 tailf:info "action when rate is less than conform burst";
1902 description "action when rate is less than conform burst";
1903 tailf:cli-flatten-container;
1904 leaf set-frde-transmit {
1905 tailf:info "set FR DE and send it";
1906 description "set FR DE and send it";
1911 container conform-set-mpls-exp-imposition-transmit {
1912 tailf:cli-no-keyword;
1913 tailf:cli-drop-node-name;
1914 tailf:cli-flatten-container;
1915 container conform-action {
1916 tailf:info "action when rate is less than conform burst";
1917 description "action when rate is less than conform burst";
1918 tailf:cli-flatten-container;
1919 leaf set-mpls-exp-imposition-transmit {
1920 tailf:info "set exp at tag imposition and send it";
1921 description "set exp at tag imposition and send it";
1922 type exp_value-type;
1926 container conform-set-mpls-exp-imposition-transmit-table {
1927 tailf:cli-no-keyword;
1928 tailf:cli-drop-node-name;
1929 tailf:cli-flatten-container;
1930 container conform-action {
1931 tailf:info "action when rate is less than conform burst";
1932 description "action when rate is less than conform burst";
1933 tailf:cli-compact-syntax;
1934 tailf:cli-flatten-container;
1935 tailf:cli-sequence-commands;
1936 leaf set-mpls-exp-imposition-transmit {
1937 tailf:info "set exp at tag imposition and send it";
1938 description "set exp at tag imposition and send it";
1939 type exp_value-type;
1942 tailf:info "Specify table-map";
1943 description "Specify table-map";
1945 path "/ios:native/table-map/name";
1950 container conform-set-mpls-exp-topmost-transmit {
1951 tailf:cli-no-keyword;
1952 tailf:cli-drop-node-name;
1953 tailf:cli-flatten-container;
1954 container conform-action {
1955 tailf:info "action when rate is less than conform burst";
1956 description "action when rate is less than conform burst";
1957 tailf:cli-flatten-container;
1958 leaf set-mpls-exp-topmost-transmit {
1959 tailf:info "set exp on topmost label and send it";
1960 description "set exp on topmost label and send it";
1961 type exp_value-type;
1965 container conform-set-mpls-exp-topmost-transmit-table {
1966 tailf:cli-no-keyword;
1967 tailf:cli-drop-node-name;
1968 tailf:cli-flatten-container;
1969 container conform-action {
1970 tailf:info "action when rate is less than conform burst";
1971 description "action when rate is less than conform burst";
1972 tailf:cli-compact-syntax;
1973 tailf:cli-flatten-container;
1974 tailf:cli-sequence-commands;
1975 leaf set-mpls-exp-topmost-transmit {
1976 tailf:info "set exp on topmost label and send it";
1977 description "set exp on topmost label and send it";
1978 type exp_value-type;
1981 tailf:info "Specify table-map";
1982 description "Specify table-map";
1984 path "/ios:native/table-map/name";
1989 container conform-set-prec-transmit {
1990 tailf:cli-no-keyword;
1991 tailf:cli-drop-node-name;
1992 tailf:cli-flatten-container;
1993 container conform-action {
1994 tailf:info "action when rate is less than conform burst";
1995 description "action when rate is less than conform burst";
1996 tailf:cli-flatten-container;
1997 leaf set-prec-transmit {
1998 tailf:info "rewrite packet precedence and send it";
1999 description "rewrite packet precedence and send it";
2000 type prec_value-type;
2004 container conform-set-prec-transmit-table {
2005 tailf:cli-no-keyword;
2006 tailf:cli-drop-node-name;
2007 tailf:cli-flatten-container;
2008 container conform-action {
2009 tailf:info "action when rate is less than conform burst";
2010 description "action when rate is less than conform burst";
2011 tailf:cli-compact-syntax;
2012 tailf:cli-flatten-container;
2013 tailf:cli-sequence-commands;
2014 leaf set-prec-transmit {
2015 tailf:info "rewrite packet precedence and send it";
2016 description "rewrite packet precedence and send it";
2017 type prec_value-type;
2020 tailf:info "Specify table-map";
2021 description "Specify table-map";
2023 path "/ios:native/table-map/name";
2028 container conform-set-qos-transmit {
2029 tailf:cli-no-keyword;
2030 tailf:cli-drop-node-name;
2031 tailf:cli-flatten-container;
2032 container conform-action {
2033 tailf:info "action when rate is less than conform burst";
2034 description "action when rate is less than conform burst";
2035 tailf:cli-flatten-container;
2036 leaf set-qos-transmit {
2037 tailf:info "set qos-group and send it";
2038 description "set qos-group and send it";
2039 type qos_value-type;
2043 container conform-set-qos-transmit-table {
2044 tailf:cli-no-keyword;
2045 tailf:cli-drop-node-name;
2046 tailf:cli-flatten-container;
2047 container conform-action {
2048 tailf:info "action when rate is less than conform burst";
2049 description "action when rate is less than conform burst";
2050 tailf:cli-compact-syntax;
2051 tailf:cli-flatten-container;
2052 tailf:cli-sequence-commands;
2053 leaf set-qos-transmit {
2054 tailf:info "set qos-group and send it";
2055 description "set qos-group and send it";
2056 type qos_value-type;
2059 tailf:info "Specify table-map";
2060 description "Specify table-map";
2062 path "/ios:native/table-map/name";
2067 container conform-transmit {
2068 tailf:cli-no-keyword;
2069 tailf:cli-drop-node-name;
2070 tailf:cli-flatten-container;
2071 container conform-action {
2072 tailf:info "action when rate is less than conform burst";
2073 description "action when rate is less than conform burst";
2074 tailf:cli-flatten-container;
2075 uses police-action-transmit-grouping;
2078 container conform-drop {
2079 tailf:cli-no-keyword;
2080 tailf:cli-drop-node-name;
2081 tailf:cli-flatten-container;
2082 container conform-action {
2083 tailf:info "action when rate is less than conform burst";
2084 description "action when rate is less than conform burst";
2085 tailf:cli-flatten-container;
2086 uses police-action-drop-grouping;
2091 grouping police-action-transmit-grouping {
2093 tailf:info "transmit packet";
2094 description "transmit packet";
2099 grouping police-exceed-action-grouping {
2100 container exceed-dscp {
2101 tailf:cli-no-keyword;
2102 tailf:cli-drop-node-name;
2103 tailf:cli-flatten-container;
2104 container exceed-action {
2105 tailf:info "action when rate is within conform and "+
2106 "conform + exceed burst";
2107 description "action when rate is within conform and "+
2108 "conform + exceed burst";
2109 tailf:cli-flatten-container;
2116 container exceed-set-clp-transmit {
2117 tailf:cli-no-keyword;
2118 tailf:cli-drop-node-name;
2119 tailf:cli-flatten-container;
2120 container exceed-action {
2121 tailf:info "action when rate is within conform and "+
2122 "conform + exceed burst";
2123 description "action when rate is within conform and "+
2124 "conform + exceed burst";
2125 tailf:cli-flatten-container;
2126 leaf set-clp-transmit {
2127 tailf:info "set atm clp and send it";
2128 description "set atm clp and send it";
2133 container exceed-set-cos-transmit {
2134 tailf:cli-no-keyword;
2135 tailf:cli-drop-node-name;
2136 tailf:cli-flatten-container;
2137 container exceed-action {
2138 tailf:info "action when rate is within conform and "+
2139 "conform + exceed burst";
2140 description "action when rate is within conform and "+
2141 "conform + exceed burst";
2142 tailf:cli-flatten-container;
2143 leaf set-cos-transmit {
2144 tailf:info "rewrite packet cos and send it";
2145 description "rewrite packet cos and send it";
2146 type cos_value-type;
2150 container exceed-set-discard-class-transmit {
2151 tailf:cli-no-keyword;
2152 tailf:cli-drop-node-name;
2153 tailf:cli-flatten-container;
2154 container exceed-action {
2155 tailf:info "action when rate is within conform and "+
2156 "conform + exceed burst";
2157 description "action when rate is within conform and "+
2158 "conform + exceed burst";
2159 tailf:cli-flatten-container;
2160 leaf set-discard-class-transmit {
2161 tailf:info "set discard-class and send it";
2162 description "set discard-class and send it";
2164 tailf:info "<0-7>;;new discard-class";
2170 container exceed-set-dscp-transmit {
2171 tailf:cli-no-keyword;
2172 tailf:cli-drop-node-name;
2173 tailf:cli-flatten-container;
2174 container exceed-action {
2175 tailf:info "action when rate is within conform and "+
2176 "conform + exceed burst";
2177 description "action when rate is within conform and "+
2178 "conform + exceed burst";
2179 tailf:cli-flatten-container;
2180 leaf set-dscp-transmit {
2181 tailf:info "set dscp and send it";
2182 description "set dscp and send it";
2185 container set-dscp-transmit-c {
2186 tailf:alt-name "set-dscp-transmit";
2197 container exceed-set-frde-transmit {
2198 tailf:cli-no-keyword;
2199 tailf:cli-drop-node-name;
2200 tailf:cli-flatten-container;
2201 container exceed-action {
2202 tailf:info "action when rate is within conform and "+
2203 "conform + exceed burst";
2204 description "action when rate is within conform and "+
2205 "conform + exceed burst";
2206 tailf:cli-flatten-container;
2207 leaf set-frde-transmit {
2208 tailf:info "set FR DE and send it";
2209 description "set FR DE and send it";
2214 container exceed-set-mpls-exp-imposition-transmit {
2215 tailf:cli-no-keyword;
2216 tailf:cli-drop-node-name;
2217 tailf:cli-flatten-container;
2218 container exceed-action {
2219 tailf:info "action when rate is within conform and "+
2220 "conform + exceed burst";
2221 description "action when rate is within conform and "+
2222 "conform + exceed burst";
2223 tailf:cli-flatten-container;
2224 leaf set-mpls-exp-imposition-transmit {
2225 tailf:info "set exp at tag imposition and send it";
2226 description "set exp at tag imposition and send it";
2227 type exp_value-type;
2231 container exceed-set-mpls-exp-topmost-transmit {
2232 tailf:cli-no-keyword;
2233 tailf:cli-drop-node-name;
2234 tailf:cli-flatten-container;
2235 container exceed-action {
2236 tailf:info "action when rate is within conform and "+
2237 "conform + exceed burst";
2238 description "action when rate is within conform and "+
2239 "conform + exceed burst";
2240 tailf:cli-flatten-container;
2241 leaf set-mpls-exp-topmost-transmit {
2242 tailf:info "set exp on topmost label and send it";
2243 description "set exp on topmost label and send it";
2244 type exp_value-type;
2248 container exceed-set-prec-transmit {
2249 tailf:cli-no-keyword;
2250 tailf:cli-drop-node-name;
2251 tailf:cli-flatten-container;
2252 container exceed-action {
2253 tailf:info "action when rate is within conform and "+
2254 "conform + exceed burst";
2255 description "action when rate is within conform and "+
2256 "conform + exceed burst";
2257 tailf:cli-flatten-container;
2258 leaf set-prec-transmit {
2259 tailf:info "rewrite packet precedence and send it";
2260 description "rewrite packet precedence and send it";
2261 type prec_value-type;
2265 container exceed-set-qos-transmit {
2266 tailf:cli-no-keyword;
2267 tailf:cli-drop-node-name;
2268 tailf:cli-flatten-container;
2269 container exceed-action {
2270 tailf:info "action when rate is within conform and "+
2271 "conform + exceed burst";
2272 description "action when rate is within conform and "+
2273 "conform + exceed burst";
2274 tailf:cli-flatten-container;
2275 leaf set-qos-transmit {
2276 tailf:info "set qos-group and send it";
2277 description "set qos-group and send it";
2278 type qos_value-type;
2282 container exceed-transmit {
2283 tailf:cli-no-keyword;
2284 tailf:cli-drop-node-name;
2285 tailf:cli-flatten-container;
2286 container exceed-action {
2287 tailf:info "action when rate is within conform and "+
2288 "conform + exceed burst";
2289 description "action when rate is within conform and "+
2290 "conform + exceed burst";
2291 tailf:cli-flatten-container;
2292 uses police-action-transmit-grouping;
2295 container exceed-drop {
2296 tailf:cli-no-keyword;
2297 tailf:cli-drop-node-name;
2298 tailf:cli-flatten-container;
2299 container exceed-action {
2300 tailf:info "action when rate is within conform and "+
2301 "conform + exceed burst";
2302 description "action when rate is within conform and "+
2303 "conform + exceed burst";
2304 tailf:cli-flatten-container;
2305 uses police-action-drop-grouping;
2310 grouping police-violate-action-grouping {
2311 container violate-set-clp-transmit {
2312 tailf:cli-no-keyword;
2313 tailf:cli-drop-node-name;
2314 tailf:cli-flatten-container;
2315 container violate-action {
2316 tailf:info "action when rate is greater than conform + "+
2318 description "action when rate is greater than conform + "+
2320 tailf:cli-flatten-container;
2321 leaf set-clp-transmit {
2322 tailf:info "set atm clp and send it";
2323 description "set atm clp and send it";
2328 container violate-set-cos-transmit {
2329 tailf:cli-no-keyword;
2330 tailf:cli-drop-node-name;
2331 tailf:cli-flatten-container;
2332 container violate-action {
2333 tailf:info "action when rate is greater than conform + "+
2335 description "action when rate is greater than conform + "+
2337 tailf:cli-flatten-container;
2338 leaf set-cos-transmit {
2339 tailf:info "rewrite packet cos and send it";
2340 description "rewrite packet cos and send it";
2341 type cos_value-type;
2345 container violate-set-discard-class-transmit {
2346 tailf:cli-no-keyword;
2347 tailf:cli-drop-node-name;
2348 tailf:cli-flatten-container;
2349 container violate-action {
2350 tailf:info "action when rate is greater than conform + "+
2352 description "action when rate is greater than conform + "+
2354 tailf:cli-flatten-container;
2355 leaf set-discard-class-transmit {
2356 tailf:info "set discard-class and send it";
2357 description "set discard-class and send it";
2359 tailf:info "<0-7>;;new discard-class";
2365 container violate-set-dscp-transmit {
2366 tailf:cli-no-keyword;
2367 tailf:cli-drop-node-name;
2368 tailf:cli-flatten-container;
2369 container violate-action {
2370 tailf:info "action when rate is greater than conform + "+
2372 description "action when rate is greater than conform + "+
2374 tailf:cli-flatten-container;
2375 leaf set-dscp-transmit {
2376 tailf:info "set dscp and send it";
2377 description "set dscp and send it";
2382 container violate-set-frde-transmit {
2383 tailf:cli-no-keyword;
2384 tailf:cli-drop-node-name;
2385 tailf:cli-flatten-container;
2386 container violate-action {
2387 tailf:info "action when rate is greater than conform + "+
2389 description "action when rate is greater than conform + "+
2391 tailf:cli-flatten-container;
2392 leaf set-frde-transmit {
2393 tailf:info "set FR DE and send it";
2394 description "set FR DE and send it";
2399 container violate-set-mpls-exp-imposition-transmit {
2400 tailf:cli-no-keyword;
2401 tailf:cli-drop-node-name;
2402 tailf:cli-flatten-container;
2403 container violate-action {
2404 tailf:info "action when rate is greater than conform + "+
2406 description "action when rate is greater than conform + "+
2408 tailf:cli-flatten-container;
2409 leaf set-mpls-exp-imposition-transmit {
2410 tailf:info "set exp at tag imposition and send it";
2411 description "set exp at tag imposition and send it";
2412 type exp_value-type;
2416 container violate-set-mpls-exp-topmost-transmit {
2417 tailf:cli-no-keyword;
2418 tailf:cli-drop-node-name;
2419 tailf:cli-flatten-container;
2420 container violate-action {
2421 tailf:info "action when rate is greater than conform + "+
2423 description "action when rate is greater than conform + "+
2425 tailf:cli-flatten-container;
2426 leaf set-mpls-exp-topmost-transmit {
2427 tailf:info "set exp on topmost label and send it";
2428 description "set exp on topmost label and send it";
2429 type exp_value-type;
2433 container violate-set-prec-transmit {
2434 tailf:cli-no-keyword;
2435 tailf:cli-drop-node-name;
2436 tailf:cli-flatten-container;
2437 container violate-action {
2438 tailf:info "action when rate is greater than conform + "+
2440 description "action when rate is greater than conform + "+
2442 tailf:cli-flatten-container;
2443 leaf set-prec-transmit {
2444 tailf:info "rewrite packet precedence and send it";
2445 description "rewrite packet precedence and send it";
2446 type prec_value-type;
2450 container violate-set-qos-transmit {
2451 tailf:cli-no-keyword;
2452 tailf:cli-drop-node-name;
2453 tailf:cli-flatten-container;
2454 container violate-action {
2455 tailf:info "action when rate is greater than conform + "+
2457 description "action when rate is greater than conform + "+
2459 tailf:cli-flatten-container;
2460 leaf set-qos-transmit {
2461 tailf:info "set qos-group and send it";
2462 description "set qos-group and send it";
2463 type qos_value-type;
2467 container violate-transmit {
2468 tailf:cli-no-keyword;
2469 tailf:cli-drop-node-name;
2470 tailf:cli-flatten-container;
2471 container violate-action {
2472 tailf:info "action when rate is greater than conform + "+
2474 description "action when rate is greater than conform + "+
2476 tailf:cli-flatten-container;
2477 uses police-action-transmit-grouping;
2480 container violate-drop {
2481 tailf:cli-no-keyword;
2482 tailf:cli-drop-node-name;
2483 tailf:cli-flatten-container;
2484 container violate-action {
2485 tailf:info "action when rate is greater than conform + "+
2487 description "action when rate is greater than conform + "+
2489 tailf:cli-flatten-container;
2490 uses police-action-drop-grouping;
2495 grouping random-detect-grouping {
2496 leaf min-threshold {
2497 tailf:cli-drop-node-name;
2498 tailf:cli-incomplete-command;
2501 tailf:info "<1-4096>;;minimum threshold (number of packets)";
2504 leaf max-threshold {
2505 tailf:cli-drop-node-name;
2506 tailf:cli-incomplete-command;
2509 tailf:info "<1-4096>;;maximum threshold (number of packets)";
2513 tailf:cli-drop-node-name;
2516 tailf:info "<1-65535>;;mark probability denominator";
2521 /// ========================================================================
2523 /// ========================================================================
2526 tailf:cli-drop-node-name;
2527 container table-map {
2528 tailf:info "Map external entry attributes into routing table";
2529 tailf:cli-full-command;
2530 description "Map external entry attributes into routing table";
2531 tailf:display-when "ipv4 or ../../ipv4 or ../ipv4 " +
2532 " or ipv6 or ../../ipv6 or ../ipv6 ";
2534 description "route-map name";
2535 tailf:cli-drop-node-name;
2537 tailf:info "WORD;;route-map name";
2541 tailf:info "Selective route download";
2546 /// ========================================================================
2548 /// ========================================================================
2549 /// Note: must come before class-map and policy-map.
2552 tailf:info "mls global commands";
2553 description "mls global commands";
2554 tailf:cli-incomplete-no;
2558 tailf:info "MLS ACL operation";
2559 description "MLS ACL operation";
2562 tailf:info "ACL TCAM";
2563 description "ACL TCAM";
2564 leaf default-result {
2565 tailf:info "Default result to be used during tcam programming";
2566 description "Default result to be used during tcam programming";
2569 tailf:info "Bridge result";
2572 tailf:info "Deny result";
2575 tailf:info "Permit result";
2579 container log-update {
2580 tailf:info "Log TCAM updates";
2581 description "Log TCAM updates";
2583 leaf rate-limit-msg {
2584 tailf:info "Enable/Disable syslog ratelimiting";
2585 description "Enable/Disable syslog ratelimiting";
2588 tailf:info "Disable ratelimiting syslog";
2591 tailf:info "Enable syslog ratelimiting at 1 per second";
2597 tailf:info "share global deny or permit any entries";
2598 description "share global deny or permit any entries";
2599 tailf:cli-boolean-no;
2600 tailf:cli-trim-default;
2610 tailf:info "cef keyword";
2611 description "cef keyword";
2619 // maximum-routes Configure route allocation for protocols
2620 // tunnel Allow tunnel fragmentation
2622 // erm FIB Exception Recovery Manager
2623 // exclude exclude keyword
2626 tailf:info "flowmask keyword";
2627 description "flowmask keyword";
2629 tailf:info "flowmask ip keyword";
2630 description "flowmask ip keyword";
2632 enum interface-destination {
2633 tailf:info "interface-destination flow keyword";
2635 enum interface-destination-source {
2636 tailf:info "interface-destination-source flow keyword";
2638 enum interface-full {
2639 tailf:info "interface-full flow keyword";
2641 enum interface-source {
2642 tailf:info "interface-source only flow keyword";
2649 tailf:info "ip keyword";
2650 description "ip keyword";
2654 container multicast {
2655 tailf:info "multicast keyword";
2656 description "multicast keyword";
2657 tailf:cli-display-separated;
2659 // bidir Bidir commands
2660 // connected Enable download of interface/mask entry
2661 container consistency-check {
2662 tailf:info "Set consistency checking characteristics";
2663 description "Set consistency checking characteristics";
2666 tailf:info "Settle time for entry/oif for consistancy-checker";
2667 description "Settle time for entry/oif for consistancy-checker";
2669 tailf:info "<2-3600>;;Settle time for entry/oif in seconds";
2673 // type Set consistency checker type
2675 // egress Set egress replication options
2676 leaf flow-stat-timer {
2677 tailf:info "timer for flow statistic used by mls-msc and mlsm";
2678 description "timer for flow statistic used by mls-msc and mlsm";
2680 tailf:info "<1-100>;;#seconds between one batch and another";
2684 // met-optimization Enable or disable met optimisation
2685 // non-rpf Enable rate-limiting of non-RPF traffic
2686 // replication-mode Disable auto-detection mode for egress
2687 // sso Stateful switchover parameters
2688 // threshold Threshold rate for installing h/w shortcuts
2691 // slb Server Load Balancing
2693 // nde netflow data export (nde) keyword
2694 // netflow netflow keyword
2696 container mls-qos-conf {
2697 tailf:cli-no-keyword;
2698 tailf:cli-drop-node-name;
2705 tailf:info "QoS parameters";
2706 description "QoS parameters";
2707 tailf:cli-incomplete-command;
2708 tailf:cli-incomplete-no;
2709 // mls qos aggregate-policer *
2710 list aggregate-policer {
2711 tailf:info "Assign aggregate policer";
2712 description "Assign aggregate policer";
2713 tailf:cli-suppress-mode;
2714 tailf:cli-delete-when-empty;
2715 tailf:cli-compact-syntax;
2716 tailf:cli-sequence-commands {
2717 tailf:cli-reset-all-siblings;
2722 tailf:info "WORD;;aggregate policer name";
2725 leaf target-bit-rate {
2726 tailf:cli-drop-node-name;
2728 tailf:info "<32000-60000000000>;;Target Bit Rate (bits per "
2729 +"second) (postfix k, m, g optional; decimal point allowed)";
2730 range "32000..60000000000";
2734 tailf:cli-drop-node-name;
2735 tailf:cli-optional-in-sequence;
2737 tailf:info "<1000-31250000>;;Normal burst bytes";
2738 range "1000..31250000";
2742 tailf:cli-drop-node-name;
2743 tailf:cli-optional-in-sequence;
2744 when "../burst-normal" {
2745 tailf:dependency "../burst-normal";
2748 tailf:info "<1000-31250000>;;Maximum burst bytes";
2749 range "1000..31250000";
2755 tailf:cli-optional-in-sequence;
2757 tailf:info "<32000-60000000000>;;Target Bit Rate (bits per "
2758 +"second) (postfix k, m, g optional; decimal point allowed)";
2759 range "32000..60000000000";
2762 container conform-action {
2763 tailf:info "action when rate is not exceeded";
2764 description "action when rate is not exceeded";
2765 tailf:cli-optional-in-sequence;
2766 tailf:cli-compact-syntax;
2767 tailf:cli-flatten-container;
2768 choice action-choice {
2770 tailf:info "drop packet";
2771 description "drop packet";
2774 leaf set-dscp-transmit {
2775 tailf:info "set dscp and send it";
2776 description "set dscp and send it";
2779 leaf set-mpls-exp-imposition-transmit {
2780 tailf:info "set exp at tag imposition and send it";
2781 description "set exp at tag imposition and send it";
2783 tailf:info "<0-7>;;new exp";
2787 leaf set-prec-transmit {
2788 tailf:info "rewrite packet precedence and send it";
2789 description "rewrite packet precedence and send it";
2791 tailf:info "<0-7>;;new precedence";
2796 tailf:info "transmit packet";
2797 description "transmit packet";
2802 leaf exceed-action {
2803 tailf:info "action when rate is exceeded";
2804 description "action when rate is exceeded";
2805 tailf:cli-optional-in-sequence;
2808 tailf:info "drop packet";
2810 enum policed-dscp-transmit {
2811 tailf:info "change dscp per policed-dscp map and send it";
2814 tailf:info "transmit packet";
2818 leaf violate-action {
2819 tailf:info "action when rate violated";
2820 description "action when rate violated";
2823 tailf:info "drop packet";
2825 enum policed-dscp-transmit {
2826 tailf:info "change dscp per policed-dscp map and send it";
2829 tailf:info "transmit packet";
2834 // map Define QoS mapping
2837 tailf:info "qos map keyword";
2838 description "qos map keyword";
2839 leaf-list cos-dscp {
2840 tailf:info "cos-dscp map: eight dscp values for cos 0-7";
2841 description "cos-dscp map: eight dscp values for cos 0-7";
2842 tailf:cli-flat-list-syntax;
2845 tailf:info "<0-63>;;CoS values separated by spaces (up to 8 values total)";
2849 leaf-list policed-dscp {
2850 tailf:info "policed-dscp map keyword";
2851 description "policed-dscp map keyword";
2853 tailf:cli-flat-list-syntax;
2856 tailf:info "<0-63>;;DSCP values separated by spaces (up to 8 values total)";
2861 tailf:info "to keyword";
2867 // marking marking keyword
2868 // police police keyword
2869 // protocol protocol keyword
2870 // queueing-only queueing-only (no QoS rewrite, no policing)
2871 // recirc recirculate path
2874 tailf:info "packet qos rewrite enable/disable";
2875 description "packet qos rewrite enable/disable";
2877 tailf:info "ip packet qos rewrite enable/disable";
2878 description "ip packet qos rewrite enable/disable";
2880 tailf:info "packet ip dscp rewrite enable/disable";
2881 description "packet ip dscp rewrite enable/disable";
2884 tailf:info "slot number";
2885 description "slot number";
2887 tailf:info "WORD;;Slots seperated by commas. Valid slots: 1,2,"
2894 // mls qos queue-set
2895 container queue-set {
2896 tailf:info "Choose a queue set for this queue";
2897 description "Choose a queue set for this queue";
2899 tailf:info "Direction the command applies for this command";
2900 description "Direction the command applies for this command";
2901 tailf:cli-sequence-commands;
2902 tailf:cli-compact-syntax;
2904 tailf:cli-drop-node-name;
2906 tailf:info "<1-2>;;queue-set id";
2911 tailf:info "Assign threshold values to a queue";
2912 description "Assign threshold values to a queue";
2913 tailf:cli-suppress-mode;
2914 tailf:cli-break-sequence-commands;
2915 tailf:cli-compact-syntax;
2916 tailf:cli-sequence-commands;
2920 tailf:info "<1-4>;;enter queue id in this queue set";
2925 tailf:cli-drop-node-name;
2926 description "drop threshold1 1-3200";
2928 tailf:info "<1-3200>;;enter drop threshold1 1-3200";
2933 tailf:cli-drop-node-name;
2934 description "drop threshold2 1-3200";
2936 tailf:info "<1-3200>;;enter drop threshold2 1-3200";
2941 tailf:cli-drop-node-name;
2942 description "reserved threshold 1-100";
2944 tailf:info "<1-3200>;;enter drop threshold2 1-3200";
2949 tailf:cli-drop-node-name;
2950 description "maximum threshold1 1-3200";
2952 tailf:info "<1-3200>;;enter maximum threshold1 1-3200";
2958 tailf:info "assign buffers to each egress queue";
2959 description "assign buffers to each egress queue";
2960 tailf:cli-flat-list-syntax;
2962 tailf:info "<0-99>/<1-100>;;enter buffer percentage for queue x 0-99/2 1-100";
2968 // mls qos srr-queue
2969 container srr-queue {
2970 tailf:info "Configure SRR receive queues";
2971 description "Configure SRR receive queues";
2973 tailf:info "input keyword";
2974 description "input keyword";
2975 leaf-list bandwidth {
2976 tailf:info "Configure SRR bandwidth";
2977 description "Configure SRR bandwidth";
2978 tailf:cli-flat-list-syntax;
2980 tailf:info "<1-100>;;enter bandwidth weight for queue id x";
2985 tailf:info "Configure queue tail-drop thresholds";
2986 description "Configure queue tail-drop thresholds";
2987 tailf:cli-suppress-mode;
2991 tailf:info "<1-2>;;enter threshold queue id (1-2)";
2995 leaf-list queue-size-percent {
2996 tailf:cli-drop-node-name;
2997 tailf:cli-flat-list-syntax;
2999 tailf:info "<1-100>;;enter percent of queue size for threshold x";
3004 list priority-queue {
3005 tailf:info "Configure priority scheduling";
3006 description "Configure priority scheduling";
3007 tailf:cli-suppress-mode;
3011 tailf:info "<1-2>;;enter priority queue number [1-2]";
3015 tailf:info "ingress priority queue bandwidth % of stack ring";
3016 description "ingress priority queue bandwidth % of stack ring";
3018 tailf:info "<0-40>;;enter bandwidth number [0-40]";
3024 tailf:info "Configure cos-map for a queue id";
3025 description "Configure cos-map for a queue id";
3026 tailf:cli-suppress-mode;
3027 key "queue threshold";
3029 tailf:info "Assign COS values to a queue";
3030 description "Assign COS values to a queue";
3031 tailf:cli-expose-key-name;
3033 tailf:info "<1-4>;;enter cos-map output queue id";
3038 tailf:info "Assign COS values to a queue threshold";
3039 description "Assign COS values to a queue threshold";
3040 tailf:cli-expose-key-name;
3042 tailf:info "<1-3>;;enter cos-map threshold id";
3047 tailf:cli-drop-node-name;
3048 tailf:cli-flat-list-syntax;
3051 tailf:info "<0-7>;;8 cos values separated by spaces";
3057 tailf:info "Configure dscp-map for a queue id";
3058 description "Configure dscp-map for a queue id";
3059 tailf:cli-suppress-mode;
3060 key "queue threshold";
3062 tailf:info "Assign DSCP values to a queue";
3063 description "Assign DSCP values to a queue";
3064 tailf:cli-expose-key-name;
3066 tailf:info "<1-4>;;enter dscp-map output queue id";
3071 tailf:info "Assign DSCP values to a queue threshold";
3072 description "Assign DSCP values to a queue threshold";
3073 tailf:cli-expose-key-name;
3075 tailf:info "<1-3>;;enter dscp-map threshold id";
3080 tailf:cli-drop-node-name;
3081 tailf:cli-flat-list-syntax;
3084 tailf:info "<0-63>;;dscp values separated by spaces (up to 8 values total)";
3091 tailf:info "output keyword";
3092 description "output keyword";
3094 tailf:info "Configure cos-map for a queue id";
3095 description "Configure cos-map for a queue id";
3096 tailf:cli-suppress-mode;
3097 key "queue threshold";
3099 tailf:info "Assign COS values to a queue";
3100 description "Assign COS values to a queue";
3101 tailf:cli-expose-key-name;
3103 tailf:info "<1-4>;;enter cos-map output queue id";
3108 tailf:info "Assign COS values to a queue threshold";
3109 description "Assign COS values to a queue threshold";
3110 tailf:cli-expose-key-name;
3112 tailf:info "<1-3>;;enter cos-map threshold id";
3117 tailf:cli-drop-node-name;
3118 tailf:cli-flat-list-syntax;
3121 tailf:info "<0-7>;;8 cos values separated by spaces";
3127 tailf:info "Configure dscp-map for a queue id";
3128 description "Configure dscp-map for a queue id";
3129 tailf:cli-suppress-mode;
3130 key "queue threshold";
3132 tailf:info "Assign DSCP values to a queue";
3133 description "Assign DSCP values to a queue";
3134 tailf:cli-expose-key-name;
3136 tailf:info "<1-4>;;enter dscp-map output queue id";
3141 tailf:info "Assign DSCP values to a queue threshold";
3142 description "Assign DSCP values to a queue threshold";
3143 tailf:cli-expose-key-name;
3145 tailf:info "<1-3>;;enter dscp-map threshold id";
3150 tailf:cli-drop-node-name;
3151 tailf:cli-flat-list-syntax;
3154 tailf:info "<0-63>;;dscp values separated by spaces (up to 8 values total)";
3162 // statistics-export qos statistics data export
3164 container rate-limit {
3165 tailf:info "Rate limit different behaviors";
3166 description "Rate limit different behaviors";
3167 // all Rate Limiting for both Unicast and Multicast packets
3169 tailf:info "layer2 protocol cases";
3170 description "layer2 protocol cases";
3171 // ip-admission IP admission on Layer2 ports
3173 tailf:cli-compact-syntax;
3174 tailf:cli-sequence-commands {
3175 tailf:cli-reset-siblings;
3177 tailf:info "layer2 protocol tunnelling packets";
3178 leaf packets-per-second {
3179 description "layer2 protocol tunnelling packets";
3180 tailf:cli-drop-node-name;
3182 tailf:info "<10-1000000>;;packets per second";
3183 range "10..1000000";
3186 leaf packets-in-burst {
3187 tailf:cli-drop-node-name;
3189 tailf:info "<1-255>;;packets in burst";
3194 // mac-security Mac security traffics
3196 tailf:info "layer2 protocol data unit packets";
3197 description "layer2 protocol data unit packets";
3198 tailf:cli-compact-syntax;
3199 tailf:cli-sequence-commands {
3200 tailf:cli-reset-siblings;
3202 leaf packets-per-second {
3203 tailf:cli-drop-node-name;
3205 tailf:info "<10-1000000>;;packets per second";
3206 range "10..1000000";
3209 leaf packets-in-burst {
3210 tailf:cli-drop-node-name;
3212 tailf:info "<1-255>;;packets in burst";
3217 // port-security Port security traffics
3219 // multicast Rate limiting for Multicast packets
3220 // unicast Rate limiting for Unicast packets
3223 // sampling sampling keyword
3226 tailf:info "enable hardware packet parsing error checks";
3227 description "enable hardware packet parsing error checks";
3229 tailf:info "check on IP packets";
3230 description "check on IP packets";
3232 tailf:info "check for packet checksum errors";
3233 description "check for packet checksum errors";
3234 tailf:cli-boolean-no;
3235 tailf:cli-trim-default;
3239 container "length" {
3240 tailf:info "check for packet length errors";
3241 description "check for packet length errors";
3243 tailf:info "check length in header against physical frame length";
3244 description "check length in header against physical frame length";
3245 tailf:cli-boolean-no;
3246 tailf:cli-trim-default;
3251 tailf:info "check for minimum packet length";
3252 description "check for minimum packet length";
3253 tailf:cli-boolean-no;
3254 tailf:cli-trim-default;
3260 tailf:info "check for packet having equal source and destination IP "
3262 description "check for packet having equal source and destination IP "
3267 tailf:info "syslog packet parse errors";
3268 description "syslog packet parse errors";
3275 /// ========================================================================
3277 /// ========================================================================
3278 // Note: must come before class-map and policy-map.
3281 tailf:info "Switch policer";
3282 description "Switch policer";
3283 // policer aggregate *
3285 tailf:info "Named aggregate policer";
3286 description "Named aggregate policer";
3287 tailf:cli-suppress-mode;
3288 tailf:cli-delete-when-empty;
3289 tailf:cli-compact-syntax;
3290 tailf:cli-reset-container;
3291 tailf:cli-sequence-commands {
3292 tailf:cli-reset-siblings;
3297 tailf:info "WORD;;aggregate policer Name";
3302 tailf:info "Committed information rate";
3303 description "Committed information rate";
3305 tailf:info "<8000-1000000000>;;Bits per second";
3306 range "8000..1000000000";
3311 tailf:info "Conform burst";
3312 description "Conform burst";
3313 tailf:cli-optional-in-sequence;
3315 tailf:info "<8000-1000000000>;;Burst bytes";
3316 range "8000..1000000000";
3320 leaf conform-action {
3321 tailf:info "action when rate is within conform and conform + "+
3323 description "action when rate is within conform and conform + "+
3325 tailf:cli-optional-in-sequence;
3328 leaf set-qos-transmit {
3329 tailf:info "set qos-group and send it";
3330 description "set qos-group and send it";
3331 when "../conform-action";
3332 tailf:cli-optional-in-sequence;
3334 tailf:info "<0-99>;;new qos-group";
3338 leaf set-dot1ad-dei-transmit {
3339 tailf:info "set dei and send it";
3340 description "set dei and send it";
3341 when "../conform-action";
3342 tailf:cli-optional-in-sequence;
3344 tailf:info "<0-1>;;new dei value";
3348 leaf set-prec-transmit {
3349 tailf:info "rewrite packet precedence and send it";
3350 description "rewrite packet precedence and send it";
3351 when "../conform-action";
3352 tailf:cli-optional-in-sequence;
3353 type prec_value-type;
3355 container set-prec-transmit-table {
3356 when "../set-prec-transmit";
3357 tailf:cli-no-keyword;
3358 tailf:cli-drop-node-name;
3359 tailf:cli-optional-in-sequence;
3360 tailf:cli-flatten-container;
3362 tailf:info "Set packet cos from cos based on table map";
3363 description "Set packet cos from cos based on table map";
3364 tailf:cli-optional-in-sequence;
3366 tailf:non-strict-leafref {
3367 path "/ios:native/table-map/name";
3371 leaf set-dscp-transmit {
3372 tailf:info "set dscp and send it";
3373 description "set dscp and send it";
3374 when "../conform-action";
3375 tailf:cli-optional-in-sequence;
3378 container set-dscp-transmit-table {
3379 when "../set-dscp-transmit";
3380 tailf:cli-no-keyword;
3381 tailf:cli-drop-node-name;
3382 tailf:cli-optional-in-sequence;
3383 tailf:cli-flatten-container;
3385 tailf:info "Set packet cos from cos based on table map";
3386 description "Set packet cos from cos based on table map";
3387 tailf:cli-optional-in-sequence;
3389 tailf:non-strict-leafref {
3390 path "/ios:native/table-map/name";
3394 leaf set-cos-transmit {
3395 tailf:info "set cos and send it";
3396 description "set cos and send it";
3397 when "../conform-action";
3398 tailf:cli-optional-in-sequence;
3399 type cos_value-type;
3401 container set-cos-transmit-table {
3402 when "../set-cos-transmit";
3403 tailf:cli-no-keyword;
3404 tailf:cli-drop-node-name;
3405 tailf:cli-optional-in-sequence;
3406 tailf:cli-flatten-container;
3408 tailf:info "Set packet cos from cos based on table map";
3409 description "Set packet cos from cos based on table map";
3410 tailf:cli-optional-in-sequence;
3412 tailf:non-strict-leafref {
3413 path "/ios:native/table-map/name";
3418 tailf:info "transmit packet";
3419 description "transmit packet";
3420 when "../conform-action";
3421 tailf:cli-optional-in-sequence;
3425 leaf exceed-action {
3426 tailf:info "action when rate is within conform and conform + "+
3428 description "action when rate is within conform and conform + "+
3433 tailf:info "drop packet";
3434 description "drop packet";
3435 when "../exceed-action";
3436 tailf:cli-optional-in-sequence;
3437 tailf:cli-full-command;
3440 container exceed-transmit {
3441 tailf:cli-no-keyword;
3442 tailf:cli-drop-node-name;
3443 tailf:cli-optional-in-sequence;
3444 tailf:cli-flatten-container;
3446 tailf:info "transmit packet";
3447 description "transmit packet";
3448 when "../../exceed-action";
3449 tailf:cli-optional-in-sequence;
3456 /// ========================================================================
3458 /// ========================================================================
3461 tailf:info "Configure QoS Class Map";
3462 description "Configure QoS Class Map";
3463 tailf:cli-mode-name "config-cmap";
3464 tailf:cli-suppress-list-no;
3465 tailf:cli-delete-when-empty;
3466 tailf:cli-no-key-completion;
3471 tailf:info "WORD;;class-map name";
3473 tailf:cli-disallow-value "type";
3475 // class-map * type inspect
3477 tailf:info "type of the class-map";
3478 description "type of the class-map";
3479 tailf:cli-prefix-key;
3481 enum access-control {
3482 tailf:info "access-control specific class-map";
3485 tailf:info "Configure a APPNAV Class Map";
3488 tailf:info "Configure a control policy class-map";
3491 tailf:info "Configure Firewall Class Map";
3493 enum multicast-flows {
3494 tailf:info "multicast class-maps";
3497 tailf:info "class-map for protocol header stack specification";
3500 tailf:info "Configure a subscriber policy traffic classmap";
3504 // class-map * <protocol>
3506 when "../type = 'inspect'";
3507 tailf:cli-drop-node-name;
3508 tailf:cli-prefix-key;
3511 tailf:info "Configure CBAC class-map for IM-AOL protocol";
3514 tailf:info "eDonkey";
3517 tailf:info "FastTrack Traffic - KaZaA, Morpheus, Grokster...";
3520 tailf:info "Gnutella Version2 Traffic - BearShare, Shareeza, "
3524 tailf:info "Configure CBAC class-map for HTTP protocol";
3527 tailf:info "Configure CBAC class-map for IMAP protocol";
3530 tailf:info "Kazaa Version 2";
3533 tailf:info "Configure CBAC class-map for IM-MSN protocol";
3536 tailf:info "Configure CBAC class-map for POP3 protocol";
3539 tailf:info "Configure CBAC class-map for SMTP protocol";
3542 tailf:info "Configure CBAC class-map for RPC protocol";
3545 tailf:info "Configure CBAC class-map for IM-YAHOO protocol";
3549 // class-map * <match-any|match-all>
3551 tailf:cli-no-keyword;
3552 tailf:cli-prefix-key;
3553 tailf:cli-drop-node-name;
3556 tailf:info "Logical-AND all matching statements under "+
3560 tailf:info "Logical-OR all matching statements under this "+
3566 // class-map * / description
3567 leaf "description" {
3568 tailf:info "Class-Map description";
3569 description "Class-Map description";
3570 tailf:cli-multi-value;
3572 tailf:info "LINE;;Description of this class-map (up to 200 "+
3576 // class-map * / match
3578 tailf:info "classification criteria";
3579 description "classification criteria";
3580 uses class-map-match-grouping;
3581 uses class-map-appnav-match-grouping;
3583 tailf:info "Negate this match result";
3584 description "Negate this match result";
3585 uses class-map-match-grouping;
3586 uses class-map-appnav-not-match-grouping;
3591 /// ========================================================================
3593 /// ========================================================================
3596 tailf:info "Configure QoS Policy Map";
3597 description "Configure QoS Policy Map";
3598 tailf:cli-mode-name "config-pmap";
3599 tailf:cli-diff-dependency "/ios:native/class-map";
3600 tailf:cli-diff-dependency "/ios:native/table-map";
3601 tailf:cli-diff-dependency "/ios:native/mls/qos/aggregate-policer";
3602 tailf:cli-diff-dependency "/ios:native/policer/aggregate";
3606 tailf:info "WORD;;policy-map name";
3608 tailf:cli-disallow-value
3609 "(type)|(http)|(im)|(imap)|(p2p)|(pop3)|(smtp)|(sunrpc)";
3612 tailf:info "type of the policy-map";
3613 description "type of the policy-map";
3614 tailf:cli-prefix-key;
3616 enum access-control {
3617 tailf:info "access-control specific policy-map";
3620 tailf:info "Configure a APPNAV Policy Map";
3623 tailf:info "Configure Firewall Policy Map";
3625 enum packet-service {
3626 tailf:info "Configure Packet Service Policy Map";
3628 enum performance-monitor {
3629 tailf:info "Performance monitoring policy-map type";
3632 tailf:info "policymap service configuration";
3634 enum service-chain {
3635 tailf:info "Configure Service Chain Policy Map";
3640 when "../type = 'inspect'";
3641 tailf:cli-drop-node-name;
3642 tailf:cli-prefix-key;
3645 tailf:info "Configure CBAC policy-map for HTTP protocol";
3648 tailf:info "Configure CBAC policy-map for IM protocol";
3651 tailf:info "Configure CBAC policy-map for IMAP protocol";
3654 tailf:info "Configure CBAC policy-map for P2P protocols";
3657 tailf:info "Configure CBAC policy-map for POP3 protocol";
3660 tailf:info "Configure CBAC policy-map for SMTP protocol";
3663 tailf:info "Configure CBAC policy-map for RPC protocol";
3667 // policy-map * / class *
3669 tailf:info "policy criteria";
3670 description "policy criteria";
3671 tailf:cli-mode-name "config-pmap-c";
3674 tailf:cli-disallow-value "type";
3675 type class-name-type;
3677 // policy-map * / class * / type
3679 tailf:info "type of the class-map";
3680 description "type of the class-map";
3681 tailf:cli-prefix-key;
3684 tailf:info "Configure CBAC Class Map";
3688 leaf insert-before {
3689 tailf:info "Insert the class before a specified class";
3690 description "Insert the class before a specified class";
3691 tailf:cli-hide-in-submode;
3692 when "../../type = 'appnav'";
3694 tailf:info "WORD;;Insert the class before a specified class";
3697 // policy-map * / class * / appnav policy
3698 container appnav-policy {
3699 when "../../type = 'appnav'";
3700 tailf:cli-drop-node-name;
3702 tailf:info "Distribute action";
3703 description "Distribute action";
3704 tailf:cli-suppress-mode;
3705 key service-node-group;
3706 leaf service-node-group {
3707 tailf:info "Distribute to service-node-group";
3708 description "Distribute to service-node-group";
3709 tailf:cli-expose-key-name;
3711 tailf:info "WORD;;service-node-group name";
3714 leaf insert-before {
3715 tailf:info "Insert before specific node";
3716 description "Insert before specific node";
3717 tailf:cli-optional-in-sequence;
3719 tailf:info "WORD;;service-node-group name";
3724 tailf:info "Monitor AO";
3725 description "Monitor AO";
3726 when "../distribute";
3728 enum MS-port-mapper {
3729 tailf:info "Monitor Microsoft Endpoint Port Mapper load";
3732 tailf:info "Monitor CIFS Accelerator load";
3735 tailf:info "Monitor HTTP Accelerator load";
3738 tailf:info "Monitor ICA Accelerator load";
3741 tailf:info "Monitor MAPI Accelerator load";
3744 tailf:info "Monitor NFS Accelerator load";
3747 tailf:info "Monitor SSL accelerator load";
3750 tailf:info "Monitor Video Accelerator load";
3755 tailf:info "pass-through action";
3756 description "pass-through action";
3760 // policy-map * / class * / inspect policy
3762 when "../../type = 'inspect'";
3763 tailf:cli-drop-node-name;
3764 tailf:cli-sequence-commands {
3765 tailf:cli-reset-siblings;
3768 tailf:cli-drop-node-name;
3769 tailf:cli-remove-before-change;
3772 tailf:info "CXSC Inspection";
3775 tailf:info "Drop the packet";
3778 tailf:info "Context-based Access Control Engine";
3781 tailf:info "Pass the packet";
3783 enum service-policy {
3784 tailf:info "Deep Packet Inspection Engine";
3789 tailf:info "Send logging message for drop or pass";
3790 description "Send logging message for drop or pass";
3791 when "../action = 'drop'or ../action = 'pass'";
3794 leaf parameter-map {
3795 tailf:cli-drop-node-name;
3796 when "../action = 'inspect' or ../action = 'cxsc'";
3798 tailf:non-strict-leafref {
3799 path "/ios:native/parameter-map/name";
3803 tailf:cli-drop-node-name;
3804 when "../action = 'service-policy'";
3805 tailf:cli-sequence-commands;
3806 tailf:cli-compact-syntax;
3808 tailf:cli-drop-node-name;
3811 tailf:info "GTPv0 DPI";
3814 tailf:info "GTPv1 DPI";
3817 tailf:info "IMAP DPI";
3820 tailf:info "POP3 DPI";
3823 tailf:info "SMTP DPI";
3826 tailf:info "RPC DPI";
3831 tailf:cli-drop-node-name;
3833 tailf:info "WORD;;DPI policy-map name";
3838 // policy-map * / class * / performance-monitor policy
3839 container pm-policy {
3840 when "../../type = 'performance-monitor'";
3841 tailf:cli-drop-node-name;
3843 tailf:info "Flow subcommands";
3844 description "Flow subcommands";
3846 tailf:info "Apply a Flow Monitor";
3847 description "Apply a Flow Monitor";
3849 tailf:info "WORD;;Flow monitor name";
3854 tailf:info "Monitor related parameters";
3855 description "Monitor related parameters";
3857 tailf:info "Monitor metric";
3858 description "Monitor metric";
3860 tailf:info "RTP metrics parameters";
3861 description "RTP metrics parameters";
3863 tailf:cli-mode-name "config-pmap-c-mrtp";
3865 tailf:info "RTP timestamp field's sampling frequency";
3866 description "RTP timestamp field's sampling frequency";
3867 tailf:cli-suppress-mode;
3868 tailf:cli-sequence-commands;
3869 tailf:cli-compact-syntax;
3874 tailf:info "<0-127>;;payload type number";
3879 tailf:info "CELB(25)";
3882 tailf:info "CN(13)";
3885 tailf:info "Change the default clock rate for all the dynamic payload type";
3888 tailf:info "DVI4 RFC-3551 8000Hz(5)";
3891 tailf:info "DVI4 RFC-3551 16000Hz(6)";
3894 tailf:info "DVI4 Dipol 11025Hz(16)";
3897 tailf:info "DVI4 Dipol 22050Hz(17)";
3900 tailf:info "G722(9)";
3903 tailf:info "G723(4)";
3906 tailf:info "G728(15)";
3909 tailf:info "G729(18)";
3912 tailf:info "GSM(3)";
3915 tailf:info "H261(31)";
3918 tailf:info "H263(34)";
3921 tailf:info "JPEG(26)";
3924 tailf:info "L16 channel 1(11)";
3927 tailf:info "L16 channel 2(10)";
3930 tailf:info "LPC(7)";
3933 tailf:info "MP2T(33)";
3936 tailf:info "MPA(14)";
3939 tailf:info "MPV(32)";
3942 tailf:info "NV(28)";
3945 tailf:info "PCMA(8)";
3948 tailf:info "PCMU(0)";
3951 tailf:info "QCELP(12)";
3957 tailf:cli-drop-node-name;
3959 tailf:info "<1000-192000>;;frequency in Hz";
3960 range "1000..192000";
3968 tailf:info "Configure threshold crossing actions";
3969 description "Configure threshold crossing actions";
3970 tailf:cli-mode-name "config-pmap-c-react";
3974 tailf:info "<1-65535> React instance id";
3978 tailf:cli-drop-node-name;
3979 tailf:cli-hide-in-submode;
3982 tailf:info "Media stream stopped";
3985 tailf:info "Variation in packet rate from configured expected rate";
3987 enum rtp-jitter-average {
3988 tailf:info "Mean jitter for the RTP stream";
3990 enum transport-packets-lost-rate {
3991 tailf:info "Ratio of lost packets to total reaceived packets";
3996 tailf:info "Description for threshold crossing action instance";
3997 description "Description for the instance";
3998 tailf:cli-multi-value;
4002 tailf:info "Config react action";
4003 description "Config react action";
4005 tailf:info "SNMP is notified of the event";
4006 description "SNMP is notified of the event";
4007 tailf:cli-full-command;
4011 tailf:info "The threshold-crossing event is logged to syslog";
4012 description "The threshold-crossing event is logged to syslog";
4013 tailf:cli-full-command;
4018 tailf:info "Config react alarm";
4019 description "Config react alarm";
4021 tailf:info "Alarm severity - default level none";
4022 description "Alarm severity - default level none";
4025 tailf:info "TCA severity level critical (severity = 2)";
4028 tailf:info "TCA severity level major (severity = 3)";
4031 tailf:info "TCA severity level critical (severity = 1)";
4034 tailf:info "TCA severity level minor (severity = 4)";
4037 tailf:info "TCA severity level default (severity = 5)";
4042 tailf:info "Alarm raised type - for each flow or a group";
4043 description "Alarm raised type - for each flow or a group";
4045 tailf:info "Alert for each flow within the class";
4046 description "Alert for each flow within the class";
4047 tailf:cli-full-command;
4051 tailf:info "Alert if more than one flow cross the threshold";
4052 description "Alert if more than one flow cross the threshold";
4054 tailf:info "Number of flows in the group cross the threshold";
4055 description "Number of flows in the group cross the threshold";
4056 tailf:cli-full-command;
4058 tailf:info "<1-65535>;;Number of flows";
4062 tailf:info "Percent of flows in the group cross the threshold";
4063 description "Percent of flows in the group cross the threshold";
4064 tailf:cli-full-command;
4066 tailf:info "<1-100>;;Percent of flows";
4073 container threshold {
4074 tailf:info "Config react threshold";
4075 description "Config react threshold";
4077 tailf:info "Range of percentage loss that would trigger the alarm";
4078 description "Range of percentage loss that would trigger the alarm";
4080 tailf:info "greater and equal to";
4081 description "greater and equal to";
4082 tailf:cli-full-command;
4084 tailf:info "WORD;;rtp lost fraction threshold 0.05 - 100 (% in precision of 0.01)";
4088 tailf:info "greater than";
4089 description "greater than";
4090 tailf:cli-full-command;
4092 tailf:info "WORD;;rtp lost fraction threshold 0.05 - 100 (% in precision of 0.01)";
4096 tailf:info "less and equal to";
4097 description "less and equal to";
4098 tailf:cli-full-command;
4100 tailf:info "WORD;;rtp lost fraction threshold 0.05 - 100 (% in precision of 0.01)";
4104 tailf:info "less than";
4105 description "less than";
4106 tailf:cli-full-command;
4108 tailf:info "WORD;;rtp lost fraction threshold 0.05 - 100 (% in precision of 0.01)";
4112 tailf:info "threshold within the range of";
4113 description "threshold within the range of";
4114 tailf:cli-sequence-commands;
4115 tailf:cli-compact-syntax;
4117 tailf:cli-drop-node-name;
4119 tailf:info "WORD;;rtp lost fraction threshold 0.05 - 100 (% in precision of 0.01)";
4123 tailf:cli-drop-node-name;
4125 tailf:info "WORD;;rtp lost fraction threshold 0.05 - 100 (% in precision of 0.01)";
4133 // policy-map * / class * / inspect-police
4134 container inspect-police {
4135 when "../policy/action = 'inspect'";
4136 tailf:cli-drop-node-name;
4138 tailf:info "Police";
4139 description "Police";
4140 tailf:cli-sequence-commands {
4141 tailf:cli-reset-siblings;
4143 tailf:cli-compact-syntax;
4145 tailf:info "Specify police rate";
4146 description "Specify police rate";
4148 tailf:info "<8000-2000000000>;;Rate value in bps";
4149 range "8000..2000000000";
4153 tailf:info "Specify 'burst' parameter";
4154 description "Specify 'burst' parameter";
4156 tailf:info "<1000-512000000>;;Burst value in bytes";
4157 range "1000..512000000";
4163 tailf:cli-drop-node-name;
4164 tailf:cli-suppress-mode;
4168 type policy-action-type;
4170 choice action-param {
4171 case bandwidth-case {
4172 // policy-map * / class * / bandwidth
4173 container bandwidth {
4174 //tailf:info "Bandwidth";
4175 tailf:cli-drop-node-name;
4176 when "../action-type = 'bandwidth'";
4178 tailf:cli-drop-node-name;
4181 tailf:info "<8-2000000>;;Kilo Bits per second";
4185 tailf:info "% of total Bandwidth";
4186 description "% of total Bandwidth";
4187 type percentage-type;
4189 container remaining {
4190 tailf:info "% of the remaining bandwidth";
4191 description "% of the remaining bandwidth";
4193 tailf:info "% of the remaining bandwidth";
4194 description "% of the remaining bandwidth";
4195 type percentage-type;
4198 tailf:info "ratio for sharing excess bandwidth";
4199 description "ratio for sharing excess bandwidth";
4201 tailf:info "<1-65536>;;Ratio";
4207 case compression-case {
4208 // policy-map * / class * / compression
4209 container compression {
4210 //tailf:info "Activate Compression";
4211 tailf:cli-drop-node-name;
4212 //presence "Activate Compression";
4213 when "../action-type = 'compression'";
4215 tailf:info "configure header compression";
4216 description "configure header compression";
4217 presence "configure header compression";
4219 tailf:info "configure ip header compression";
4220 description "configure ip header compression";
4223 tailf:code-name "header_rtp";
4224 tailf:info "configure rtp header compression";
4227 tailf:info "configure tcp header compression";
4235 // policy-map * / class * / drop
4237 //tailf:info "Drop all packets";
4238 // tailf:cli-full-command;
4242 case estimate-case {
4243 // policy-map * / class * / estimate
4244 container estimate {
4245 //tailf:info "estimate resources required for this class";
4246 tailf:cli-drop-node-name;
4247 when "../action-type = 'estimate'";
4248 container bandwidth {
4249 presence "bandwidth required to service this class";
4250 tailf:info "bandwidth required to service this class";
4251 description "bandwidth required to service this class";
4252 tailf:cli-sequence-commands;
4253 tailf:cli-compact-syntax;
4254 container delay-one-in {
4255 tailf:info "specify QoS target delay";
4256 description "specify QoS target delay";
4257 tailf:cli-compact-syntax;
4258 tailf:cli-sequence-commands;
4260 tailf:cli-drop-node-name;
4261 tailf:cli-incomplete-command;
4263 range "50..1000000";
4264 tailf:info "<50-1000000>;;delay one packet "+
4271 tailf:info "<8-1000>;;worst-case "+
4272 "milliseconds of delay";
4278 tailf:info "specify QoS target loss rate";
4279 description "specify QoS target loss rate";
4281 tailf:info "<50-1000000>;;drop one packet of N";
4288 //policy-map * / class * / forward service-path
4290 //tailf:info "forward service-path action";
4291 tailf:cli-reset-container;
4292 tailf:cli-drop-node-name;
4293 when "../action-type = 'forward'";
4295 tailf:info "Service Path Entries";
4296 description "Service Path Entries";
4297 tailf:cli-suppress-mode;
4298 key "service-path-id";
4299 leaf service-path-id {
4301 range "0..16777215";
4302 tailf:info "<0-16777215>;;Service Path ID";
4305 leaf service-index {
4306 tailf:info "Service Index";
4307 description "Service Index";
4310 tailf:info "<2-255>;;Service Index ID";
4316 case fair-queue-case {
4317 // policy-map * / class * / fair-queue
4318 // class-default: fair-queue [number-of-dynamic-queues]
4320 // policy-map: fair-queue [queue-limit queue-value]
4322 // air-queue [congestive-discard-threshold [dynamic-q [reservable-q]]]
4323 container fair-queue {
4324 //tailf:info "Enable Flow-based Fair Queuing in this Class";
4325 tailf:cli-reset-container;
4326 tailf:cli-drop-node-name;
4327 when "../action-type = 'fair-queue'";
4328 leaf dynamic-queues {
4329 tailf:cli-drop-node-name;
4330 tailf:cli-full-command;
4332 range "16|32|64|128|256|512|1024|2048|4096" {
4333 tailf:info "<16-4096>;;Number Dynamic Conversation "+
4339 tailf:info "per flow queue limit";
4340 description "per flow queue limit";
4341 tailf:cli-full-command;
4343 tailf:info "<1-32768>;;packets";
4349 case netflow-sampler-case {
4350 // policy-map * / class * / netflow-sampler
4351 leaf netflow-sampler {
4352 //tailf:info "NetFlow action";
4353 tailf:cli-drop-node-name;
4354 tailf:cli-full-command;
4355 when "../action-type = 'netflow-sampler'";
4356 // should be leafref to sampler
4358 tailf:info "WORD;;Name of the flow sampler";
4363 // policy-map * / class * / police ?
4364 choice police-choice {
4365 // policy-map * / class * / police aggregate
4366 case police-aggregate-case {
4367 container police-aggregate {
4368 tailf:cli-no-keyword;
4369 tailf:cli-drop-node-name;
4371 //tailf:info "Police";
4372 tailf:cli-drop-node-name;
4373 when "../../action-type = 'police'" {
4374 tailf:dependency "../../action-type";
4377 tailf:info "Choose aggregate policer for current class";
4378 description "Choose aggregate policer for current class";
4380 tailf:info "WORD;;enter aggregate-policer name";
4386 // police (policy-map)
4387 // police cir <bps> [[bc <burst-normal>] [be <burst-max>]]
4388 // [pir <bps> [be <burst-bytes>]] ACTIONS
4389 // NOTE: cir, bc & be keywords are mandatory in this model.
4390 // Java code will add missing cir,bc and be in show().
4391 case police-policy-map-case {
4392 container police-policy-map {
4393 tailf:cli-no-keyword;
4394 tailf:cli-drop-node-name;
4397 tailf:cli-mode-name "config-pmap-c-police";
4398 tailf:cli-flatten-container;
4399 tailf:cli-sequence-commands {
4400 tailf:cli-reset-siblings;
4402 tailf:cli-drop-node-name;
4403 when "../../action-type = 'police'" {
4404 tailf:dependency "../../action-type";
4408 tailf:info "Committed information rate";
4409 description "Committed information rate";
4410 tailf:cli-hide-in-submode;
4411 type police-bps-type;
4413 // [bc <burst-normal>]
4415 tailf:info "Conform burst";
4416 description "Conform burst";
4417 tailf:cli-optional-in-sequence;
4418 tailf:cli-hide-in-submode;
4419 type police-burst-type;
4424 tailf:info "Excess burst";
4425 description "Excess burst";
4426 tailf:cli-optional-in-sequence;
4427 tailf:cli-hide-in-submode;
4428 type police-burst-type;
4430 // [pir <bps> [be <burst-bytes>]]
4432 tailf:info "Peak Information Rate";
4433 description "Peak Information Rate";
4434 tailf:cli-optional-in-sequence;
4435 tailf:cli-hide-in-submode;
4436 type police-bps-type;
4440 tailf:cli-no-keyword;
4441 tailf:cli-drop-node-name;
4442 tailf:cli-optional-in-sequence;
4443 tailf:cli-flatten-container;
4444 tailf:cli-hide-in-submode;
4446 tailf:info "Excess burst";
4447 description "Excess burst";
4448 type police-burst-type;
4451 // conform-action | exceed-action | violate-action
4452 uses police-action-grouping;
4456 // police cir percent (combo of percent & policy-map versions)
4457 // police cir percent <percentage>
4458 // [bc] <burst> ms] [be [<burst> ms]
4459 // [pir percent <percentage> [be <burst> ms]] ACTIONS
4460 case police-cir-percent-case {
4461 container police-cir-percent {
4462 tailf:cli-no-keyword;
4463 tailf:cli-drop-node-name;
4465 tailf:cli-drop-node-name;
4466 when "../../action-type = 'police'" {
4467 tailf:dependency "../../action-type";
4470 tailf:info "Committed information rate";
4471 description "Committed information rate";
4473 tailf:info "% of interface bandwidth for Committed "+
4475 description "% of interface bandwidth for Committed "+
4478 tailf:cli-mode-name "config-pmap-c-police";
4479 tailf:cli-incomplete-command;
4480 tailf:cli-flatten-container;
4481 tailf:cli-sequence-commands {
4482 tailf:cli-reset-siblings;
4484 // percent <percentage>
4486 tailf:cli-drop-node-name;
4487 tailf:cli-hide-in-submode;
4488 type percentage-type;
4492 tailf:info "Conform burst";
4493 description "Conform burst";
4494 tailf:cli-optional-in-sequence;
4495 tailf:cli-hide-in-submode;
4497 tailf:info "<1-2000>;;Burst ms";
4502 tailf:cli-no-keyword;
4503 tailf:cli-drop-node-name;
4504 tailf:cli-optional-in-sequence;
4505 tailf:cli-hide-in-submode;
4506 tailf:cli-compact-syntax;
4507 tailf:cli-flatten-container;
4509 tailf:info "Milli seconds";
4510 description "Milli seconds";
4511 tailf:cli-no-keyword;
4517 when "../bc-ms/ms" {
4518 tailf:dependency "../bc-ms/ms";
4520 tailf:info "Excess burst";
4521 tailf:cli-optional-in-sequence;
4522 tailf:cli-hide-in-submode;
4524 tailf:info "<1-2000>;;Burst ms";
4529 tailf:cli-no-keyword;
4530 tailf:cli-drop-node-name;
4531 tailf:cli-hide-in-submode;
4532 tailf:cli-compact-syntax;
4533 tailf:cli-flatten-container;
4535 tailf:info "Milli seconds";
4536 description "Milli seconds";
4537 tailf:cli-no-keyword;
4541 // [pir percent <percentage> [be <burst> ms]]
4543 tailf:info "Peak Information Rate";
4544 description "Peak Information Rate";
4545 tailf:cli-compact-syntax;
4546 tailf:cli-flatten-container;
4547 tailf:cli-hide-in-submode;
4548 tailf:cli-optional-in-sequence;
4550 tailf:info "% of interface bandwidth for Peak "+
4552 description "% of interface bandwidth for Peak "+
4554 type percentage-type;
4559 tailf:cli-no-keyword;
4560 tailf:cli-drop-node-name;
4561 tailf:cli-optional-in-sequence;
4562 tailf:cli-flatten-container;
4563 tailf:cli-hide-in-submode;
4565 tailf:info "Excess burst";
4566 description "Excess burst";
4568 tailf:info "<1-2000>;;Burst ms";
4572 container pir-be-ms {
4573 when "../pir-be/be" {
4574 tailf:dependency "../pir-be/be";
4576 tailf:cli-no-keyword;
4577 tailf:cli-drop-node-name;
4578 tailf:cli-optional-in-sequence;
4579 tailf:cli-hide-in-submode;
4580 tailf:cli-flatten-container;
4582 tailf:info "Milli seconds";
4583 description "Milli seconds";
4584 tailf:cli-no-keyword;
4588 // conform-action | exceed-action | violate-action
4589 uses police-action-grouping;
4595 // police rate (control-plane)
4596 // police rate <units> <pps|bps> [burst <burst-in-x> <packets|bytes>]
4597 // [peak-rate <peak-rate-in-xps> <pps|bps>]
4598 // [peak-burst <peak-burst-in-x> <packets|bytes>]
4599 // [conform-action <action>]
4600 case police-rate-unit-case {
4601 container police-rate-unit {
4602 tailf:cli-no-keyword;
4603 tailf:cli-drop-node-name;
4605 tailf:cli-drop-node-name;
4606 when "../../action-type = 'police'" {
4607 tailf:dependency "../../action-type";
4610 tailf:info "Specify police rate";
4611 description "Specify police rate";
4613 tailf:cli-mode-name "config-pmap-c-police";
4614 tailf:cli-flatten-container;
4615 tailf:cli-sequence-commands {
4616 tailf:cli-reset-siblings;
4620 tailf:cli-drop-node-name;
4621 tailf:cli-hide-in-submode;
4623 tailf:info "<1-2000000000>;;Rate value in the range "+
4624 "8000-2,000,000,000 bps or 1-2,000,000 pps";
4629 tailf:cli-no-keyword;
4630 tailf:cli-drop-node-name;
4631 tailf:cli-hide-in-submode;
4632 type police-pps-bps-type;
4634 // [burst <burst-in-x> <packets|bytes>]
4636 tailf:info "Specify 'burst' parameter";
4637 description "Specify 'burst' parameter";
4638 tailf:cli-optional-in-sequence;
4639 tailf:cli-compact-syntax;
4640 tailf:cli-hide-in-submode;
4641 tailf:cli-flatten-container;
4642 tailf:cli-sequence-commands;
4644 tailf:cli-no-keyword;
4645 tailf:cli-drop-node-name;
4646 tailf:cli-incomplete-command;
4648 tailf:info "<1-512000000>;;Burst value in "+
4653 tailf:cli-no-keyword;
4654 tailf:cli-drop-node-name;
4655 tailf:cli-hide-in-submode;
4656 type police-packets-bytes-type;
4659 // [peak-rate <peak-rate-in-xps> <pps|bps>]
4660 container peak-rate {
4661 tailf:info "Specify peak rate";
4662 description "Specify peak rate";
4663 tailf:cli-optional-in-sequence;
4664 tailf:cli-compact-syntax;
4665 tailf:cli-flatten-container;
4666 tailf:cli-hide-in-submode;
4667 tailf:cli-sequence-commands;
4668 leaf peak-rate-value {
4669 tailf:cli-no-keyword;
4670 tailf:cli-drop-node-name;
4671 tailf:cli-incomplete-command;
4673 tailf:info "<1-512000000>;;Peak-rate value in "+
4674 "packets or bytes per second";
4675 range "1..512000000";
4679 tailf:cli-no-keyword;
4680 tailf:cli-drop-node-name;
4681 type police-pps-bps-type;
4684 // [peak-burst <peak-burst-in-x> <packets|bytes>]
4685 container peak-burst {
4686 tailf:info "Specify 'peak-burst' parameter for peak-rate";
4687 description "Specify 'peak-burst' parameter for peak-rate";
4688 tailf:cli-optional-in-sequence;
4689 tailf:cli-compact-syntax;
4690 tailf:cli-flatten-container;
4691 tailf:cli-hide-in-submode;
4692 tailf:cli-sequence-commands;
4694 tailf:cli-no-keyword;
4695 tailf:cli-drop-node-name;
4696 tailf:cli-incomplete-command;
4698 tailf:info "<1-512000000>;;Burst value in "+
4703 tailf:cli-no-keyword;
4704 tailf:cli-drop-node-name;
4705 type police-packets-bytes-type;
4708 // conform-action | exceed-action | violate-action
4709 uses police-action-grouping;
4714 // police rate percent (control-plane)
4715 // police rate percent <percentage> [burst <ms> ms]
4716 // [peak-rate percent <percentage>] [peak-burst <ms> ms]
4717 case police-rate-percent-case {
4718 container police-rate-percent {
4719 tailf:cli-no-keyword;
4720 tailf:cli-drop-node-name;
4722 tailf:cli-drop-node-name;
4723 when "../../action-type = 'police'" {
4724 tailf:dependency "../../action-type";
4727 tailf:info "Specify police rate";
4728 description "Specify police rate";
4730 tailf:info "% of interface bandwidth for rate";
4731 description "% of interface bandwidth for rate";
4733 tailf:cli-mode-name "config-pmap-c-police";
4734 tailf:cli-flatten-container;
4735 tailf:cli-sequence-commands {
4736 tailf:cli-reset-siblings;
4740 tailf:cli-drop-node-name;
4741 tailf:cli-hide-in-submode;
4742 type percentage-type;
4746 tailf:info "Specify 'burst' parameter";
4747 description "Specify 'burst' parameter";
4748 tailf:cli-optional-in-sequence;
4749 tailf:cli-hide-in-submode;
4751 tailf:info "<1-2000>;;Burst value in milliseconds";
4756 tailf:info "Treat 'burst' value in milliseconds";
4757 description "Treat 'burst' value in milliseconds";
4758 tailf:cli-hide-in-submode;
4761 // [peak-rate percent <percentage>]
4762 container peak-rate {
4763 tailf:info "Specify peak rate";
4764 description "Specify peak rate";
4765 tailf:cli-hide-in-submode;
4766 tailf:cli-optional-in-sequence;
4767 tailf:cli-flatten-container;
4769 tailf:info "% of interface bandwidth for peak-rate";
4770 description "% of interface bandwidth for peak-rate";
4771 type percentage-type;
4774 // [peak-burst <ms> ms]
4776 tailf:info "Specify 'peak-burst' parameter for "+
4778 description "Specify 'peak-burst' parameter for "+
4780 tailf:cli-hide-in-submode;
4781 tailf:cli-optional-in-sequence;
4783 tailf:info "<1-2000>;;Peak burst value in "+
4787 container peak-burst-ms {
4788 when "../peak-burst";
4789 tailf:cli-no-keyword;
4790 tailf:cli-drop-node-name;
4791 tailf:cli-optional-in-sequence;
4792 tailf:cli-hide-in-submode;
4793 tailf:cli-flatten-container;
4795 tailf:info "Milli seconds";
4796 description "Milli seconds";
4797 tailf:cli-no-keyword;
4801 // conform-action | exceed-action | violate-action
4802 uses police-action-grouping;
4809 // police rate pdp [burst <bytes>]
4810 // [peak-rate pdp [peak-burst <bytes>]] ACTIONS
4811 case police-rate-pdp-case {
4812 container police-rate-pdp {
4813 tailf:cli-no-keyword;
4814 tailf:cli-drop-node-name;
4816 tailf:cli-drop-node-name;
4817 when "../../action-type = 'police'" {
4818 tailf:dependency "../../action-type";
4821 tailf:info "Specify police rate";
4822 description "Specify police rate";
4824 tailf:info "% of interface bandwidth for rate";
4825 description "% of interface bandwidth for rate";
4827 tailf:cli-mode-name "config-pmap-c-police";
4828 tailf:cli-flatten-container;
4829 tailf:cli-sequence-commands {
4830 tailf:cli-reset-siblings;
4834 tailf:info "Conform burst";
4835 description "Conform burst";
4836 tailf:cli-hide-in-submode;
4837 tailf:cli-optional-in-sequence;
4838 type police-burst-type;
4840 // [peak-rate pdp [peak-burst <bytes>]]
4842 tailf:info "Specify peak rate";
4843 description "Specify peak rate";
4844 tailf:cli-hide-in-submode;
4845 tailf:cli-optional-in-sequence;
4852 when "../peak-rate";
4853 tailf:info "Specify 'peak-burst' parameter for "+
4855 description "Specify 'peak-burst' parameter for "+
4857 tailf:cli-hide-in-submode;
4858 tailf:cli-optional-in-sequence;
4859 type police-burst-type;
4861 // conform-action | exceed-action | violate-action
4862 uses police-action-grouping;
4868 // police target-bit-rate <bits per second>
4869 case police-target-bitrate-case {
4870 container police-target-bitrate {
4871 tailf:cli-no-keyword;
4872 tailf:cli-drop-node-name;
4874 tailf:cli-drop-node-name;
4875 when "../../action-type = 'police'" {
4876 tailf:dependency "../../action-type";
4879 tailf:cli-mode-name "config-pmap-c-police";
4881 tailf:info "Target bit rate (bits per second) (postfix k, m, g optional),
4882 decimal point allowed";
4883 description "Target bit rate (bits per second) (postfix k, m, g optional),
4884 decimal point allowed";
4885 tailf:cli-no-keyword;
4886 tailf:cli-drop-node-name;
4887 tailf:cli-hide-in-submode;
4889 tailf:info "<8000-10000000000>;;Target bit rate (bits per second)";
4890 range "8000..10000000000";
4893 // conform-action | exceed-action | violate-action
4894 uses police-action-grouping;
4898 // police flow (policy-map)
4899 // police flow [mask {dest-only | full-flow | src-only}]
4900 // <bps> [<burst-normal>] ACTIONS
4901 case police-flow-case {
4902 container police-flow {
4903 tailf:cli-no-keyword;
4904 tailf:cli-drop-node-name;
4906 tailf:cli-drop-node-name;
4907 when "../../action-type = 'police'" {
4908 tailf:dependency "../../action-type";
4911 tailf:info "police each flow";
4912 description "police each flow";
4914 tailf:cli-mode-name "config-pmap-c-police";
4915 tailf:cli-flatten-container;
4916 tailf:cli-sequence-commands {
4917 tailf:cli-reset-siblings;
4919 // [mask {dest-only | full-flow | src-only}]
4921 tailf:info "flow mask to be used for policing";
4922 description "flow mask to be used for policing";
4923 tailf:cli-hide-in-submode;
4924 tailf:cli-optional-in-sequence;
4927 tailf:info "destination-address only flow mask";
4930 tailf:info "full flow mask";
4933 tailf:info "source-address only flow mask";
4939 tailf:cli-drop-node-name;
4940 tailf:cli-hide-in-submode;
4941 type police-bps-type;
4946 tailf:cli-drop-node-name;
4947 tailf:cli-hide-in-submode;
4948 tailf:cli-optional-in-sequence;
4949 type police-burst-type;
4951 // conform-action | exceed-action | violate-action
4952 uses police-action-grouping;
4957 // police (Catalyst 4500)
4958 // police <bps> bps <byte> byte ACTIONS
4959 case police-catalyst-case {
4960 container police-catalyst {
4961 tailf:cli-no-keyword;
4962 tailf:cli-drop-node-name;
4965 tailf:cli-mode-name "config-pmap-c-police";
4966 tailf:cli-flatten-container;
4967 tailf:cli-drop-node-name;
4968 when "../../action-type = 'police'" {
4969 tailf:dependency "../../action-type";
4971 tailf:cli-sequence-commands {
4972 tailf:cli-reset-siblings;
4976 tailf:cli-no-keyword;
4977 tailf:cli-drop-node-name;
4978 tailf:cli-hide-in-submode;
4979 tailf:cli-incomplete-command;
4981 tailf:info "<32000-32000000000>;;Rate in bits per second "+
4982 "(postfix k, m, g optional; decimal point allowed)";
4986 tailf:cli-hide-in-submode;
4987 tailf:cli-incomplete-command;
4992 tailf:cli-no-keyword;
4993 tailf:cli-drop-node-name;
4994 tailf:cli-hide-in-submode;
4995 tailf:cli-incomplete-command;
4997 tailf:info "<32000-32000000000>;;(postfix k, m, g "+
4998 "optional; decimal point allowed)";
5002 tailf:cli-hide-in-submode;
5005 // conform-action | exceed-action | violate-action
5007 tailf:cli-no-keyword;
5008 tailf:cli-break-sequence-commands;
5009 tailf:cli-drop-node-name;
5010 tailf:cli-flatten-container;
5011 tailf:cli-hide-in-submode;
5012 // policy-map * / class * / police ? / conform-action
5013 uses police-conform-action-grouping;
5014 // policy-map * / class * / police ? / exceed-action
5015 uses police-exceed-action-grouping;
5016 // policy-map * / class * / police ? / violate-action
5017 uses police-violate-action-grouping;
5022 // police (Catalyst C3550)
5023 // police <bps> <burst> exceed-action {drop | policed-dscp-transmit}]
5024 case police-switch-case {
5025 container police-switch {
5026 tailf:cli-no-keyword;
5027 tailf:cli-drop-node-name;
5029 tailf:cli-compact-syntax;
5030 tailf:cli-drop-node-name;
5031 when "../../action-type = 'police'" {
5032 tailf:dependency "../../action-type";
5034 tailf:cli-sequence-commands {
5035 tailf:cli-reset-siblings;
5039 tailf:cli-incomplete-command;
5040 tailf:cli-drop-node-name;
5042 tailf:info "<8000-1000000000>;;Bits per second";
5043 range "8000..1000000000";
5048 tailf:cli-drop-node-name;
5050 tailf:info "<8000-2000000>;;Normal burst bytes";
5051 range "8000..2000000";
5055 leaf exceed-action {
5056 tailf:info "action when rate is exceeded";
5057 description "action when rate is exceeded";
5060 tailf:info "drop packet";
5062 enum policed-dscp-transmit {
5063 tailf:info "change dscp per policed-dscp map and send it";
5072 case priority-case {
5073 // policy-map * / class * / priority
5074 container priority {
5075 //tailf:info "Strict Scheduling Priority for this Class";
5076 tailf:cli-compact-syntax;
5077 tailf:cli-sequence-commands;
5078 tailf:cli-drop-node-name;
5079 when "../action-type = 'priority'";
5081 tailf:info "Multi-Level Priority Queue";
5082 description "Multi-Level Priority Queue";
5083 tailf:cli-optional-in-sequence;
5085 tailf:info "<1-2>;;Multi-Level Priority Queue";
5089 choice priority-type {
5091 tailf:cli-drop-node-name;
5094 tailf:info "<8-2000000>;;Kilo Bits per second";
5098 tailf:info "% of total bandwidth";
5099 description "% of total bandwidth";
5102 tailf:info "<1-100>;;percentage";
5107 tailf:cli-drop-node-name;
5109 tailf:info "<32-64000000>;;Burst in bytes";
5110 range "32..64000000";
5115 case queue-buffers-case {
5116 // policy-map * / class * / queue-buffers
5117 container queue-buffers {
5118 tailf:cli-drop-node-name;
5119 when "../action-type = 'queue-buffers'";
5121 tailf:info "Relative buffer size for queue";
5122 description "Relative buffer size for queue";
5124 tailf:info "<0-100>;;Queue-buffers ratio limit";
5130 case queue-limit-case {
5131 // policy-map * / class * / queue-limit
5132 container queue-limit {
5133 //tailf:info "Queue Max Threshold for Tail Drop";
5134 tailf:cli-compact-syntax;
5135 tailf:cli-sequence-commands {
5136 tailf:cli-reset-siblings;
5138 tailf:cli-drop-node-name;
5139 when "../action-type = 'queue-limit'";
5140 leaf queue-limit-value {
5141 tailf:cli-drop-node-name;
5143 tailf:info "<1-8192000> in bytes, <1-3400> in ms, "+
5144 "<1-32768> in packets by default";
5148 leaf queue-limit-type {
5149 tailf:cli-drop-node-name;
5152 tailf:info "in bytes";
5155 tailf:info "in milliseconds";
5158 tailf:info "in packets";
5161 tailf:info "in microseconds";
5166 container queue-limit-dscp {
5167 //tailf:info "Queue Max Threshold for Tail Drop";
5168 tailf:cli-compact-syntax;
5169 tailf:cli-drop-node-name;
5170 when "../action-type = 'queue-limit'";
5172 tailf:info "parameters for each dscp value";
5173 description "parameters for each dscp value";
5177 tailf:info "dscp values";
5178 description "dscp values";
5181 leaf-list sdcp-val {
5182 tailf:cli-drop-node-name;
5186 tailf:info "% of threshold";
5187 description "% of threshold";
5189 tailf:info "<0-100>;;% of threshold";
5195 case random-detect {
5196 // policy-map * / class * / random-detect
5197 container random-detect {
5198 //tailf:info "Enable Random Early Detection as drop policy";
5200 tailf:cli-drop-node-name;
5201 when "../action-type = 'random-detect'";
5202 container aggregate {
5203 tailf:info "aggregate subclasses";
5204 description "aggregate subclasses";
5205 tailf:cli-compact-syntax;
5206 tailf:cli-sequence-commands {
5207 tailf:cli-reset-siblings;
5210 leaf minimum-thresh {
5211 tailf:info "minimum threshold for red aggregate";
5212 description "minimum threshold for red aggregate";
5214 tailf:info "<0-1000000>;;minimum threshold (number of packets)";
5218 leaf maximum-thresh {
5219 tailf:info "maximum threshold for red aggregate";
5220 description "maximum threshold for red aggregate";
5222 tailf:info "<0-1000000>;;maximum threshold (number of packets)";
5226 leaf mark-probability {
5227 tailf:info "mark-probability for red aggregate";
5228 description "mark-probability for red aggregate";
5232 tailf:cli-drop-node-name;
5234 tailf:info "<0-65535>;;mark probability denominator";
5239 container discard-class {
5240 tailf:info "parameters for each discard-class value";
5241 description "parameters for each discard-class value";
5242 tailf:cli-compact-syntax;
5243 tailf:cli-sequence-commands;
5245 tailf:cli-drop-node-name;
5246 tailf:cli-incomplete-command;
5249 tailf:info "<0-7>;;discard-class value";
5252 uses random-detect-grouping;
5254 leaf discard-class-based {
5255 tailf:info "Enable discard-class-based WRED as drop policy";
5256 description "Enable discard-class-based WRED as drop policy";
5257 tailf:cli-full-command;
5261 tailf:info "Enable dscp-based WRED as drop policy";
5262 description "Enable dscp-based WRED as drop policy";
5263 tailf:cli-full-command;
5267 tailf:info "parameters for each dscp value";
5268 description "parameters for each dscp value";
5269 tailf:cli-suppress-mode;
5270 tailf:cli-compact-syntax;
5271 tailf:cli-sequence-commands;
5276 uses random-detect-grouping;
5279 tailf:info "explicit congestion notification";
5280 description "explicit congestion notification";
5281 tailf:cli-full-command;
5284 leaf exponential-weighting-constant {
5285 tailf:info "weight for mean queue depth calculation";
5286 description "weight for mean queue depth calculation";
5287 tailf:cli-full-command;
5290 tailf:info "<1-16>;;integer in 1..16 used in weighted "+
5291 "average to mean 2^number";
5295 tailf:info "Enable precedence-based WRED as drop policy";
5296 description "Enable precedence-based WRED as drop policy";
5297 tailf:cli-full-command;
5300 container precedence {
5301 tailf:info "parameters for each precedence value";
5302 description "parameters for each precedence value";
5303 tailf:cli-sequence-commands;
5304 tailf:cli-compact-syntax;
5306 tailf:cli-drop-node-name;
5307 tailf:cli-incomplete-command;
5308 type precedence-type2;
5310 uses random-detect-grouping;
5314 case service-policy-case {
5315 // policy-map * / class * / service-policy
5316 leaf service-policy {
5317 //tailf:info "Configure Flow Next";
5318 tailf:cli-full-command;
5319 tailf:cli-drop-node-name;
5320 when "../action-type = 'service-policy'";
5322 tailf:non-strict-leafref {
5323 path "/ios:native/policy-map/name";
5328 // policy-map * / class * / set
5330 //tailf:info "Set QoS values";
5331 tailf:cli-drop-node-name;
5332 when "../action-type = 'set'";
5333 // policy-map * / class * / set atm-clp
5335 tailf:info "Set ATM CLP bit to 1";
5336 description "Set ATM CLP bit to 1";
5337 tailf:cli-full-command;
5340 // policy-map * / class * / set cos
5342 tailf:info "Set IEEE 802.1Q/ISL class of service/user "+
5344 description "Set IEEE 802.1Q/ISL class of service/user "+
5346 tailf:cli-compact-syntax;
5347 tailf:cli-sequence-commands;
5351 tailf:cli-drop-node-name;
5354 tailf:info "<0-7>;;cos value";
5360 tailf:cli-drop-node-name;
5363 tailf:code-name "pack_dscp";
5364 tailf:info "Set value from packet dscp";
5367 tailf:code-name "pack_precedence";
5368 tailf:info "Set value from packet "+
5374 tailf:info "Set codepoint value based on tablemap.";
5375 description "Set codepoint value based on tablemap.";
5377 tailf:info "WORD;;table-map name";
5379 tailf:non-strict-leafref {
5380 path "/ios:native/table-map/name";
5386 // policy-map * / class * / set discard-class
5387 leaf discard-class {
5388 tailf:info "Discard behavior identifier";
5389 description "Discard behavior identifier";
5390 tailf:cli-full-command;
5393 tailf:info "<0-7>;;Discard Class value";
5396 // policy-map * / class * / set dscp
5398 tailf:info "Set DSCP in IP(v4) and IPv6 packets";
5399 description "Set DSCP in IP(v4) and IPv6 packets";
5400 tailf:cli-compact-syntax;
5402 tailf:info "set tunnel packet dscp";
5403 description "set tunnel packet dscp";
5407 tailf:cli-drop-node-name;
5411 // policy-map * / class * / set fr-de
5413 tailf:info "Set FR DE bit to 1";
5414 description "Set FR DE bit to 1";
5415 tailf:cli-full-command;
5418 // policy-map * / class * / set ip
5420 tailf:info "Set IP specific values";
5421 description "Set IP specific values";
5424 tailf:info "Set IP DSCP (DiffServ CodePointint)";
5425 description "Set IP DSCP (DiffServ CodePointint)";
5426 tailf:cli-compact-syntax;
5428 tailf:info "set tunnel packet dscp";
5429 description "set tunnel packet dscp";
5433 tailf:cli-drop-node-name;
5437 container precedence {
5438 tailf:info "Set IP precedence";
5439 description "Set IP precedence";
5440 presence "Set IP precedence";
5441 leaf precedence-val {
5442 tailf:cli-drop-node-name;
5443 type precedence-type;
5448 // policy-map * / class * / set mpls
5450 tailf:info "Set MPLS specific values";
5451 description "Set MPLS specific values";
5452 container experimental {
5453 tailf:info "Set Experimental value";
5454 description "Set Experimental value";
5456 container imposition {
5457 tailf:info "Set Experimental value at tag imposition";
5458 description "Set Experimental value at tag imposition";
5460 tailf:cli-drop-node-name;
5461 tailf:cli-full-command;
5463 tailf:info "<0-7>;;Experimental value";
5472 tailf:info "Set Experimental value on topmost label";
5473 description "Set Experimental value on topmost label";
5475 tailf:cli-drop-node-name;
5476 tailf:cli-full-command;
5478 tailf:info "<0-7>;;Experimental value";
5485 // policy-map * / class * / set qos-group
5486 container qos-group {
5487 tailf:info "Set QoS Group";
5488 description "Set QoS Group";
5489 leaf qos-group-value {
5490 tailf:cli-drop-node-name;
5491 tailf:cli-full-command;
5503 // policy-map * / class * / shape
5505 //tailf:info "Traffic Shaping";
5506 tailf:cli-drop-node-name;
5507 when "../action-type = 'shape'";
5508 // policy-map * / class * / shape adaptive
5510 tailf:info "Enable Traffic Shaping adaptation to BECN";
5511 description "Enable Traffic Shaping adaptation to BECN";
5512 tailf:cli-full-command;
5514 range "8000..154400000";
5515 tailf:info "<8000-154400000>;;Lower Bound Target Bit "+
5516 "Rate (bits per second)";
5519 // policy-map * / class * / shape average
5521 tailf:info "configure token bucket: CIR (bps) [Bc (bits) "+
5522 "[Be (bits)]], send out Bc only per interval";
5523 description "configure token bucket: CIR (bps) [Bc (bits) "+
5524 "[Be (bits)]], send out Bc only per interval";
5525 tailf:cli-sequence-commands;
5526 tailf:cli-compact-syntax;
5527 choice average-choice {
5530 tailf:cli-drop-node-name;
5532 //range "8000..154400000";
5533 //FIXME: what is range max?
5534 tailf:info "<8000-max>;;Target Bit "+
5535 "Rate (bits per second), the value "+
5536 "needs to be a multiple of 8000";
5539 leaf bits-per-interval-sustained {
5540 tailf:cli-drop-node-name;
5542 range "256..154400000";
5543 tailf:info "<256-154400000>;;bits per "+
5544 "interval, sustained. Needs to be "+
5545 "multiple of 128. Recommend not to "+
5546 "configure it, the algorithm will "+
5547 "find out the best value";
5550 leaf bits-per-interval-excess {
5551 tailf:cli-drop-node-name;
5553 range "0..154400000";
5554 tailf:info "<0-154400000>;;bits per "+
5555 "interval, excess. Needs to be "+
5556 "multiple of 128. Bc will be used if "+
5557 "you don't configure it.";
5563 tailf:info "% of interface bandwidth for "+
5564 "Committed information rate";
5565 description "% of interface bandwidth for "+
5566 "Committed information rate";
5567 type percentage-type;
5569 leaf burst-size-sustained {
5570 tailf:cli-incomplete-command;
5571 tailf:cli-drop-node-name;
5574 tailf:info "<10-2000>;;Sustained burst "+
5579 tailf:info "milliseconds";
5580 description "milliseconds";
5584 tailf:cli-drop-node-name;
5585 tailf:cli-flatten-container;
5586 tailf:cli-sequence-commands;
5587 tailf:cli-compact-syntax;
5588 leaf burst-size-excess {
5589 tailf:cli-incomplete-command;
5592 tailf:info "<10-2000>;;Excess burst "+
5597 tailf:info "milliseconds";
5598 description "milliseconds";
5605 // policy-map * / class * / shape fecn-adapt
5607 tailf:info "Enable Traffic Shaping reflection of FECN as "+
5609 description "Enable Traffic Shaping reflection of FECN as "+
5611 tailf:cli-full-command;
5614 // policy-map * / class * / shape fr-voice-adapt
5615 container fr-voice-adapt {
5616 tailf:info "Enable rate adjustment depending on voice "+
5618 description "Enable rate adjustment depending on voice "+
5620 presence "Enable rate adjustment depending on voice "+
5625 tailf:info "<1-10000>;;de-activation delay in "+
5630 // policy-map * / class * / shape max-buffers
5632 tailf:cli-full-command;
5633 tailf:info "Set Maximum Buffer Limit";
5634 description "Set Maximum Buffer Limit";
5637 tailf:info "<1-4096>;;Maximum Buffer Limit";
5643 // policy-map * / class * / trust
5645 //tailf:info "Set trust value for the class";
5646 tailf:cli-drop-node-name;
5647 when "../action-type = 'trust'";
5650 tailf:info "trust value for the class";
5653 tailf:info "trust value for the class";
5655 enum ip-precedence {
5656 tailf:info "trust value for the class";
5664 // policy-map * / description
5665 leaf "description" {
5666 tailf:info "Policy-Map description";
5667 description "Policy-Map description";
5668 tailf:cli-multi-value;
5671 tailf:info "LINE;;Description of this policy-map (up to "
5675 // policy-map * /sequence-interval
5676 leaf sequence-interval {
5677 tailf:info "Enable sequence number capability";
5678 description "Enable sequence number capability";
5679 when "../type = 'appnav'";
5681 tailf:info "<0-65535>;;Sequence Number Interval";
5686 /// ========================================================================
5688 /// ========================================================================
5690 container service-chain {
5691 tailf:info "Service Chain mode";
5692 description "Service Chain mode";
5693 list service-function {
5694 tailf:info "Service function details";
5695 description "Service function details";
5696 tailf:cli-mode-name "config-service-chain-sf";
5699 tailf:info "WORD;;Service function name";
5700 description "WORD;;Service function name";
5703 container config-service-chain-sf-mode {
5704 tailf:cli-drop-node-name;
5706 tailf:info "Service function description";
5707 description "Service function description";
5708 tailf:cli-multi-value;
5709 tailf:cli-full-command;
5711 tailf:info "LINE;;Up to 256 characters describing this "
5712 +"service function";
5716 container encapsulation {
5717 tailf:info "Service node encapsulation";
5718 description "Service node encapsulation";
5720 tailf:info "Service node encapsulation type";
5721 description "Service node encapsulation type";
5723 tailf:info "Add enhanced NSH TLV information";
5724 description "Add enhanced NSH TLV information";
5727 tailf:info "Send a copy of the packet";
5730 tailf:info "Divert the packet (default)";
5736 tailf:info "Service node encapsulation type";
5737 description "Service node encapsulation type";
5742 tailf:info "Service node";
5743 description "Service node";
5745 type inet:ipv4-address {
5746 tailf:info "A.B.C.D;;Service node";
5752 container service-function-forwarder {
5753 tailf:info "Service function forwarder details";
5754 description "Service function forwarder details";
5755 list service-ff-name {
5756 tailf:cli-drop-node-name;
5757 tailf:cli-mode-name "config-service-chain-sff";
5760 tailf:info "WORD;;Service function forwarder name";
5761 description "WORD;;Service function forwarder name";
5764 uses config-service-chain-grouping;
5767 tailf:info "Local service function forwarder";
5768 description "Local service function forwarder";
5770 tailf:cli-mode-name "config-service-chain-sff";
5772 uses config-service-chain-grouping;
5776 tailf:info "Service Path Entries";
5777 description "Service Path Entries";
5778 tailf:cli-mode-name "config-service-chain-path";
5779 key "service-path-id";
5780 leaf service-path-id {
5782 range "0..16777215";
5783 tailf:info "<0-16777215>;;Service Path ID";
5786 container config-service-chain-path-mode {
5787 tailf:cli-drop-node-name;
5789 tailf:info "Path Description";
5790 description "Path Description";
5791 tailf:cli-multi-value;
5792 tailf:cli-full-command;
5794 tailf:info "LINE;;Up to 256 characters describing this "
5799 container service-index {
5800 tailf:info "Service Index";
5801 description "Service Index";
5803 tailf:cli-drop-node-name;
5804 tailf:cli-suppress-mode;
5805 key "service-index-id";
5806 leaf service-index-id {
5809 tailf:info "<2-255>;;Service Index ID";
5812 choice service-type-choice {
5813 leaf service-function {
5814 tailf:info "Service Function name";
5815 description "Service Function name";
5817 tailf:info "WORD;;Service Function name";
5820 leaf service-function-forwarder {
5821 tailf:info "Service Function Forwarder name";
5822 description "Service Function Forwarder name";
5824 tailf:info "WORD;;Service Function Forwarder name";
5828 tailf:info "Terminate(Proxy)";
5829 description "Terminate(Proxy)";
5840 /// ========================================================================
5842 /// ========================================================================