QOS-Netconf
Resources Summary
Section titled “Resources Summary”| YANG Path | get/get-config | edit-config | rpc |
|---|---|---|---|
| /clear-queue-counters | — | — | Y |
| /clear-traffic-behavior-counters | — | — | Y |
| /qos | Y | merge, replace, create, delete | — |
| /qos/limit-rates/{port}/{direction} | Y | merge, replace, create, delete | — |
| /qos/port-shapers/{name} | Y | merge, replace, create, delete | — |
| /qos/qos-maps | Y | merge, replace, create, delete | — |
| /qos/qos-maps/dot1p-tc-maps/{name} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/dot1p-tc-maps/{name}/mapping/{dot1p} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/dscp-tc-maps/{name} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/dscp-tc-maps/{name}/mapping/{dscp} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/mpls-exp-tc-maps/{name} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/mpls-exp-tc-maps/{name}/mapping/{exp} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/port-qos-maps/{name} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/switch-qos-map | Y | merge, replace, create, delete | — |
| /qos/qos-maps/tc-dot1p-maps/{name} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/tc-dot1p-maps/{name}/mapping/{tc} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/tc-dscp-maps/{name} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/tc-dscp-maps/{name}/mapping/{tc} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/tc-mpls-exp-maps/{name} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/tc-mpls-exp-maps/{name}/mapping/{tc} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/tc-queue-maps/{name} | Y | merge, replace, create, delete | — |
| /qos/qos-maps/tc-queue-maps/{name}/mapping/{tc} | Y | merge, replace, create, delete | — |
| /qos/schedulers/{name}/{queue} | Y | merge, replace, create, delete | — |
| /qos/traffic-behaviors/{name} | Y | merge, replace, create, delete | — |
| /show-interface-port-shaper | — | — | Y |
| /show-interface-qos-map-bind | — | — | Y |
| /show-interface-traffic-behavior | — | — | Y |
| /show-interface-uc-tx-queue | — | — | Y |
| /show-qos-map | — | — | Y |
| /show-queue-counters | — | — | Y |
| /show-queue-cpu-port | — | — | Y |
| /show-traffic-behavior-counters | — | — | Y |
Examples
Section titled “Examples”This chapter provides examples on how to use Netconf to manage QoS on AsterNOS devices.
Get All QoS configuration
Section titled “Get All QoS configuration”Request example to retrieve QoS via get-config with subtree filter.
<filter type="subtree"> <top> <qos/> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <qos-maps> <dscp-tc-maps> <dscp-tc-map> <name>map1</name> <mapping> <dscp>1</dscp> <tc>7</tc> </mapping> </dscp-tc-map> </dscp-tc-maps> <dot1p-tc-maps> <dot1p-tc-map> <name>map3</name> <mapping> <dot1p>0</dot1p> <tc>1</tc> </mapping> </dot1p-tc-map> </dot1p-tc-maps> <tc-queue-maps> <tc-queue-map> <name>map5</name> <mapping> <tc>0</tc> <queue>1</queue> </mapping> </tc-queue-map> </tc-queue-maps> <tc-dscp-maps> <tc-dscp-map> <name>map1</name> <mapping> <tc>0</tc> <dscp>1</dscp> </mapping> </tc-dscp-map> <tc-dscp-map> <name>map2</name> <mapping> <tc>1</tc> <dscp>0</dscp> </mapping> </tc-dscp-map> <tc-dscp-map> <name>map6</name> <mapping> <tc>0</tc> <dscp>1</dscp> </mapping> </tc-dscp-map> </tc-dscp-maps> <switch-qos-map> <tc-queue-map-name>map5</tc-queue-map-name> </switch-qos-map> </qos-maps> <traffic-behaviors> <traffic-behavior> <name>test_sr_1</name> <mode>sr-tcm</mode> <meter-type>packets</meter-type> <cir>5</cir> <cbs>7500</cbs> <yellow-packet-action>REMARK</yellow-packet-action> <red-packet-action>FORWARD</red-packet-action> <remark-dot1p>1</remark-dot1p> <remark-dscp>3</remark-dscp> <remark-tc>5</remark-tc> </traffic-behavior> <traffic-behavior> <name>test_tr_1</name> <mode>sr-tcm</mode> <meter-type>bytes</meter-type> <cir>5</cir> <cbs>6400</cbs> <yellow-packet-action>FORWARD</yellow-packet-action> <red-packet-action>DROP</red-packet-action> </traffic-behavior> </traffic-behaviors> <port-shapers/> <schedulers> <scheduler> <name>Ethernet6</name> <queue>2</queue> <pir>1000</pir> </scheduler> </schedulers> <limit-rates> <limit-rate> <port>Ethernet4</port> <direction>ingress</direction> <cir>5</cir> <cbs>6000</cbs> </limit-rate> </limit-rates> </qos> </top></data>Replace All QoS configuration
Section titled “Replace All QoS configuration”Request example to replace QoS via edit-config with subtree filter.
<config> <top> <qos operation="replace"> <qos-maps> <dscp-tc-maps> <dscp-tc-map> <name>dscp_2_tc_3</name> <mapping> <dscp>0</dscp> <tc>1</tc> </mapping> <mapping> <dscp>2</dscp> <tc>2</tc> </mapping> </dscp-tc-map> </dscp-tc-maps> <tc-dscp-maps> <tc-dscp-map> <name>tc_2_dscp_3</name> <mapping> <tc>0</tc> <dscp>1</dscp> </mapping> <mapping> <tc>2</tc> <dscp>2</dscp> </mapping> </tc-dscp-map> </tc-dscp-maps> <dot1p-tc-maps> <dot1p-tc-map> <name>dot_2_tc_3</name> <mapping> <dot1p>0</dot1p> <tc>1</tc> </mapping> <mapping> <dot1p>2</dot1p> <tc>2</tc> </mapping> </dot1p-tc-map> </dot1p-tc-maps> <tc-dot1p-maps> <tc-dot1p-map> <name>tc_2_dot_3</name> <mapping> <tc>0</tc> <dot1p>1</dot1p> </mapping> <mapping> <tc>2</tc> <dot1p>2</dot1p> </mapping> </tc-dot1p-map> </tc-dot1p-maps> <mpls-exp-tc-maps> <mpls-exp-tc-map> <name>mpls_exp_2_tc_3</name> <mapping> <exp>0</exp> <tc>1</tc> </mapping> <mapping> <exp>2</exp> <tc>2</tc> </mapping> </mpls-exp-tc-map> </mpls-exp-tc-maps> <tc-mpls-exp-maps> <tc-mpls-exp-map> <name>tc_2_mpls_exp_3</name> <mapping> <tc>0</tc> <exp>1</exp> </mapping> <mapping> <tc>2</tc> <exp>2</exp> </mapping> </tc-mpls-exp-map> </tc-mpls-exp-maps> <tc-queue-maps> <tc-queue-map> <name>tc_2_queue_3</name> <mapping> <tc>0</tc> <queue>1</queue> </mapping> <mapping> <tc>2</tc> <queue>2</queue> </mapping> </tc-queue-map> </tc-queue-maps> <switch-qos-map> <tc-queue-map-name>tc_2_queue_3</tc-queue-map-name> </switch-qos-map> <port-qos-maps> <port-qos-map> <name>Ethernet2</name> <dscp-tc-map-name>dscp_2_tc_3</dscp-tc-map-name> <dot1p-tc-map-name>dot_2_tc_3</dot1p-tc-map-name> <mpls-exp-tc-map-name>mpls_exp_2_tc_3</mpls-exp-tc-map-name> <tc-dscp-map-name>tc_2_dscp_3</tc-dscp-map-name> <tc-dot1p-map-name>tc_2_dot_3</tc-dot1p-map-name> <tc-mpls-exp-map-name>tc_2_mpls_exp_3</tc-mpls-exp-map-name> </port-qos-map> </port-qos-maps> </qos-maps> <traffic-behaviors> <traffic-behavior> <name>test_sr_1</name> <mode>sr-tcm</mode> <cir>3</cir> </traffic-behavior> <traffic-behavior> <name>test_sr_2</name> <mode>sr-tcm</mode> <meter-type>packets</meter-type> <cir>5</cir> <cbs>7500</cbs> <yellow-packet-action>REMARK</yellow-packet-action> <red-packet-action>FORWARD</red-packet-action> <remark-dot1p>1</remark-dot1p> <remark-dscp>3</remark-dscp> <remark-tc>5</remark-tc> </traffic-behavior> <traffic-behavior> <name>test_tr_1</name> <mode>tr-tcm</mode> <meter-type>bytes</meter-type> <cir>3</cir> </traffic-behavior> <traffic-behavior> <name>test_tr_2</name> <mode>tr-tcm</mode> <meter-type>packets</meter-type> <cir>5</cir> <cbs>7500</cbs> <pir>7</pir> <pbs>10000</pbs> <yellow-packet-action>FORWARD</yellow-packet-action> <red-packet-action>REMARK</red-packet-action> <remark-dot1p>1</remark-dot1p> <remark-dscp>15</remark-dscp> <remark-tc>3</remark-tc> </traffic-behavior> </traffic-behaviors> <port-shapers> <port-shaper> <name>Ethernet3</name> <pbs>125</pbs> <pir>1000000</pir> </port-shaper> </port-shapers> <schedulers> <scheduler> <name>Ethernet1</name> <queue>3</queue> <algorithm>DWRR</algorithm> <weight>30</weight> <pir>1000000</pir> <pbs>500</pbs> </scheduler> </schedulers> <limit-rates> <limit-rate> <port>Ethernet3</port> <direction>ingress</direction> <cir>3</cir> <cbs>4000</cbs> </limit-rate> <limit-rate> <port>Ethernet3</port> <direction>egress</direction> <cir>5</cir> <cbs>6000</cbs> </limit-rate> </limit-rates> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:2df3042c-b2aa-4f72-9dcd-d72cbe04a50e"> <ok/></rpc-reply>QoS Map
Section titled “QoS Map”This chapter provides examples on how to use Netconf to manage QoS Map, Port QoS Map and Switch QoS Map on AsterNOS devices.
Create DSCP to TC QosMap
Section titled “Create DSCP to TC QosMap”Request example to create DSCP to TC qos map via edit-config.
<config> <top> <qos> <qos-maps> <dscp-tc-maps operation="create"> <dscp-tc-map> <name>map1</name> <mapping> <dscp>1</dscp> <tc>7</tc> </mapping> <mapping> <dscp>3</dscp> <tc>3</tc> </mapping> </dscp-tc-map> </dscp-tc-maps> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:bf338ca0-e40d-46ad-96b3-3a583236dd8c"> <ok/></rpc-reply>Create Dot1p To TC QosMap
Section titled “Create Dot1p To TC QosMap”Request example to create Dot1p to TC qos map via edit-config.
<config> <top> <qos> <qos-maps> <dot1p-tc-maps operation="create"> <dot1p-tc-map> <name>map3</name> <mapping> <dot1p>0</dot1p> <tc>1</tc> </mapping> </dot1p-tc-map> <dot1p-tc-map> <name>map4</name> <mapping> <dot1p>1</dot1p> <tc>0</tc> </mapping> </dot1p-tc-map> </dot1p-tc-maps> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:bf338ca0-e40d-46ad-96b3-3a583236dd8c"> <ok/></rpc-reply>Create TC To DSCP QosMap
Section titled “Create TC To DSCP QosMap”Request example to create TC To DSCP qos map via edit-config.
<config> <top> <qos> <qos-maps> <tc-dscp-maps operation="create"> <tc-dscp-map> <name>map6</name> <mapping> <tc>0</tc> <dscp>1</dscp> </mapping> <mapping> <tc>2</tc> <dscp>2</dscp> </mapping> </tc-dscp-map> </tc-dscp-maps> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:bf338ca0-e40d-46ad-96b3-3a583236dd8c"> <ok/></rpc-reply>Create TC To Queue QosMap
Section titled “Create TC To Queue QosMap”Request example to create TC To Queue qos map via edit-config.
<config> <top> <qos> <qos-maps> <tc-queue-maps operation="create"> <tc-queue-map> <name>map5</name> <mapping> <tc>0</tc> <queue>1</queue> </mapping> <mapping> <tc>2</tc> <queue>2</queue> </mapping> </tc-queue-map> </tc-queue-maps> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:bf338ca0-e40d-46ad-96b3-3a583236dd8c"> <ok/></rpc-reply>Modify DSCP to TC QosMap
Section titled “Modify DSCP to TC QosMap”Request example to modify DSCP to TC qos map via edit-config.
<config> <top> <qos> <qos-maps> <dscp-tc-maps operation="merge"> <dscp-tc-map> <name>map1</name> <mapping> <dscp>1</dscp> <tc>7</tc> </mapping> </dscp-tc-map> </dscp-tc-maps> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:bf338ca0-e40d-46ad-96b3-3a583236dd8c"> <ok/></rpc-reply>Delete Single QosMap
Section titled “Delete Single QosMap”Request example to delete single DSCP to TC qos map via edit-config.
<config> <top> <qos> <qos-maps> <dscp-tc-maps> <dscp-tc-map operation="delete"> <name>map1</name> </dscp-tc-map> </dscp-tc-maps> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:bf338ca0-e40d-46ad-96b3-3a583236dd8c"> <ok/></rpc-reply>Delete All QosMap
Section titled “Delete All QosMap”Request example to delete all DSCP to TC and Dot1p to TC qos map via edit-config.
<config> <top> <qos> <qos-maps> <dscp-tc-maps operation="delete"/> <dot1p-tc-maps operation="delete"/> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:bf338ca0-e40d-46ad-96b3-3a583236dd8c"> <ok/></rpc-reply>Get QosMap
Section titled “Get QosMap”Request example to retrieve all DSCP to TC QosMap via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <qos-maps> <dscp-tc-maps/> </qos-maps> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <qos-maps> <dscp-tc-maps> <dscp-tc-map> <name>map1</name> <mapping> <dscp>1</dscp> <tc>7</tc> </mapping> <mapping> <dscp>3</dscp> <tc>3</tc> </mapping> </dscp-tc-map> </dscp-tc-maps> </qos-maps> </qos> </top></data>Get QosMap Via RPC
Section titled “Get QosMap Via RPC”Request example to retrieve QosMap via rpc show-qos-map.
Supported Qos map type:
- all
- dot1p_to_tc
- dscp_to_tc
- mpls_exp_to_tc
- tc_to_mpls_exp
- tc_to_queue
- tc_to_dscp
- tc_to_dot1p
<show-qos-map> <name>dscp_to_tc<name><show-qos-map>Response example
<data xmlns="http://asterfusion.com/ns/yang/asternos-qos"> { map1:{ 1:7, 3:3 } }</data>Get All QosMap
Section titled “Get All QosMap”Request example to retrieve all QosMap via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <qos-maps/> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <qos-maps> <dot1p-tc-maps> <dot1p-tc-map> <name>map3</name> <mapping> <dot1p>0</dot1p> <tc>1</tc> </mapping> </dot1p-tc-map> </dot1p-tc-maps> <tc-queue-maps> <tc-queue-map> <name>map5</name> <mapping> <tc>0</tc> <queue>1</queue> </mapping> <mapping> <tc>2</tc> <queue>2</queue> </mapping> </tc-queue-map> </tc-queue-maps> <tc-dscp-maps> <tc-dscp-map> <name>map1</name> <mapping> <tc>0</tc> <dscp>1</dscp> </mapping> <mapping> <tc>2</tc> <dscp>2</dscp> </mapping> </tc-dscp-map> </tc-dscp-maps> <switch-qos-map/> </qos-maps> </qos> </top> </data>Modify Switch QosMap
Section titled “Modify Switch QosMap”Request example to modify switch qos map via edit-config.
<config> <top> <qos> <qos-maps> <switch-qos-map operation="merge"> <tc-queue-map-name>map5</tc-queue-map-name> </switch-qos-map> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:bf338ca0-e40d-46ad-96b3-3a583236dd8c"> <ok/></rpc-reply>Delete Switch QosMap
Section titled “Delete Switch QosMap”Request example to delete switch qos map via edit-config.
<config> <top> <qos> <qos-maps> <switch-qos-map operation="delete"> <tc-queue-map-name>map5</tc-queue-map-name> </switch-qos-map> </qos-maps> </qos> </top>Get Switch QosMap
Section titled “Get Switch QosMap”Request example to retrieve all QosMap via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <qos-maps> <switch-qos-map/> </qos-maps> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <qos-maps> <switch-qos-map> <tc-queue-map-name>map5</tc-queue-map-name> </switch-qos-map> </qos-maps> </qos> </top></data>Create Port QosMap
Section titled “Create Port QosMap”Request example to bind QoS map to port via edit-config.
<config> <top> <qos> <qos-maps> <port-qos-maps operation="create"> <port-qos-map> <name>Ethernet2</name> <dscp-tc-map-name>map1</dscp-tc-map-name> <dot1p-tc-map-name>map3</dot1p-tc-map-name> </port-qos-map> </port-qos-maps> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:eb182e03-93a7-4a81-919a-18c25af177b2"> <ok/></rpc-reply>Modify Port QosMap
Section titled “Modify Port QosMap”Request example to modify port QoS map binding via edit-config.
<config> <top> <qos> <qos-maps> <port-qos-maps operation="merge"> <port-qos-map> <name>Ethernet2</name> <dot1p-tc-map-name>map4</dot1p-tc-map-name> </port-qos-map> </port-qos-maps> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:eb182e03-93a7-4a81-919a-18c25af177b2"> <ok/></rpc-reply>Delete Port QosMap
Section titled “Delete Port QosMap”Request example to delete port QoS map binding configuration via edit-config.
<config> <top> <qos> <qos-maps> <port-qos-maps> <port-qos-map operation="delete"> <name>Ethernet2</name> </port-qos-map> </port-qos-maps> </qos-maps> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:eb182e03-93a7-4a81-919a-18c25af177b2"> <ok/></rpc-reply>Get Port QosMap
Section titled “Get Port QosMap”Request example to retrieve port QoS map binding info via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <qos-maps> <port-qos-maps/> </qos-maps> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <qos-maps> <port-qos-maps> <port-qos-map> <name>Ethernet2</name> <dscp-tc-map-name>map1</dscp-tc-map-name> <dot1p-tc-map-name>map4</dot1p-tc-map-name> </port-qos-map> </port-qos-maps> </qos-maps> </qos> </top></data>Get Port QosMap Via RPC
Section titled “Get Port QosMap Via RPC”Request example to retrieve port QosMap via rpc show-interface-qos-map-bind.
<show-interface-qos-map-bind/>Response example
<data xmlns="http://asterfusion.com/ns/yang/asternos-qos"> { Ethernet2:{ dot1p_to_tc_map:[DOT1P_TO_TC_MAP|map4] } }</data>QoS Traffic Behavior
Section titled “QoS Traffic Behavior”This chapter provides examples on how to use Netconf to manage Qos traffic behavior on AsterNOS devices.
QoS Traffic Behavior Parameters
Table 1: QoS Traffic Behavior Parameters
Section titled “Table 1: QoS Traffic Behavior Parameters”| Parameter | Type | Valid Values / Format | Description |
|---|---|---|---|
| mode | enum | sr–tcm, tr–tcm | Policer mode sr–tcm: Single Rate Three color marker, CIR and CBS, Green, Yellow and Red. tr–tcm: Two Rate Three color marker, CIR, CBS, PIR and PBS, Green, Yellow and Red. |
| meter–type | enum | packets, bytes | Policer Meter Type Policer Meter Type, default is bytes. |
| color–source | string | AWARE | Policer Color Source, readonly. |
| cir | integer | > 0 (in KBps or Kpps) | Committed burst size |
| cbs | integer | > 0 (in Bytes or packets) | Committed information rate. |
| pir | integer | > 0 (in KBps or Kpps) | Peak Information Rate – It works when the mode is tr–tcm. |
| pbs | integer | > 0 (in KBps or Kpps) | Peak Burst Size – It works when the mode is tr–tcm. |
| yellow–packet–action | enum | FORWARD, DROP or REMARK | Action to take for Yellow color packets, default is FORWARD. |
| red–packet–action | enum | FORWARD, DROP or REMARK | Action to take for Red color packets, default is FORWARD. |
| remark–dot1p | integer | 0–7 | The value of dot1p for remark action, it works when yellow/red–packet–action is REMARK. |
| dscp | integer | 0–63 | The value of dscp for remark action, it works when yellow/red–packet–action is REMARK. |
| remark–tc | integer | 0–7 | The value of tc for remark action, it works when yellow/red–packet–action is REMARK. |
Create Traffic Behavior
Section titled “Create Traffic Behavior”Request example to create qos traffic behavior via edit-config.
<config> <top> <qos> <traffic-behaviors operation="create"> <traffic-behavior> <name>test_sr_1</name> <mode>sr-tcm</mode> <meter-type>packets</meter-type> <cir>5</cir> <cbs>7500</cbs> <yellow-packet-action>REMARK</yellow-packet-action> <red-packet-action>FORWARD</red-packet-action> <remark-dot1p>1</remark-dot1p> <remark-dscp>3</remark-dscp> <remark-tc>5</remark-tc> </traffic-behavior> <traffic-behavior> <name>test_tr_1</name> <mode>tr-tcm</mode> <meter-type>packets</meter-type> <cir>5</cir> <cbs>7500</cbs> <pir>7</pir> <pbs>10000</pbs> <yellow-packet-action>FORWARD</yellow-packet-action> <red-packet-action>REMARK</red-packet-action> <remark-dot1p>1</remark-dot1p> <remark-dscp>15</remark-dscp> <remark-tc>3</remark-tc> </traffic-behavior> </traffic-behaviors> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Modify Traffic Behavior
Section titled “Modify Traffic Behavior”Request example to modify qos traffic behavior via edit-config.
<config> <top> <qos> <traffic-behaviors operation="merge"> <traffic-behavior> <name>test_tr_1</name> <mode>sr-tcm</mode> <cir>5</cir> </traffic-behavior> </traffic-behaviors> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Delete Traffic Behavior
Section titled “Delete Traffic Behavior”Request example to delete qos traffic behavior via edit-config.
<config> <top> <qos> <traffic-behaviors> <traffic-behavior operation="delete"> <name>test_tr_1</name> </traffic-behavior> </traffic-behaviors> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Get Single Traffic Behavior
Section titled “Get Single Traffic Behavior”Request example to retrieve single qos traffic behavior via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <traffic-behaviors> <traffic-behavior> <name>test_tr_1</name> </traffic-behavior> </traffic-behaviors> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <traffic-behaviors> <traffic-behavior> <name>test_tr_1</name> <mode>sr-tcm</mode> <meter-type>bytes</meter-type> <cir>5</cir> <cbs>6400</cbs> <yellow-packet-action>FORWARD</yellow-packet-action> <red-packet-action>DROP</red-packet-action> </traffic-behavior> </traffic-behaviors> </qos> </top></data>Get All Traffic Behavior
Section titled “Get All Traffic Behavior”Request example to retrieve all qos traffic behavior via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <traffic-behaviors/> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <traffic-behaviors> <traffic-behavior> <name>test_sr_1</name> <mode>sr-tcm</mode> <meter-type>packets</meter-type> <cir>5</cir> <cbs>7500</cbs> <yellow-packet-action>REMARK</yellow-packet-action> <red-packet-action>FORWARD</red-packet-action> <remark-dot1p>1</remark-dot1p> <remark-dscp>3</remark-dscp> <remark-tc>5</remark-tc> </traffic-behavior> <traffic-behavior> <name>test_tr_1</name> <mode>sr-tcm</mode> <meter-type>bytes</meter-type> <cir>5</cir> <cbs>6400</cbs> <yellow-packet-action>FORWARD</yellow-packet-action> <red-packet-action>DROP</red-packet-action> </traffic-behavior> </traffic-behaviors> </qos> </top></data>Modify Port Traffic Behavior
Section titled “Modify Port Traffic Behavior”Request example to modify qos traffic behavior binding configuration via edit-config.
<config> <top> <interfaces> <interface operation="merge"> <name>Ethernet3</name> <ingress-policer-name>test_tr_1</ingress-policer-name> </interface> </interfaces> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Get Port Traffic Behavior
Section titled “Get Port Traffic Behavior”Request example to retrieve qos traffic behavior binding configuration via get-config with subtree filter.
<filter type="subtree"> <top> <interfaces> <interface> <name>Ethernet3</name> </interface> </interfaces> </top></filter>Response example
<data> <top> <interfaces xmlns="http://asterfusion.com/ns/yang/asternos-interfaces"> <interface> <name>Ethernet3</name> <admin-status>true</admin-status> <interface-mode>none</interface-mode> <mtu>9216</mtu> <ingress-policer-name>test_tr_1</ingress-policer-name> <ethernet-config xmlns="http://asterfusion.com/ns/yang/asternos-ports"> <auto-negotiate>false</auto-negotiate> <port-speed>SPEED_1G</port-speed> </ethernet-config> </interface> </interfaces> </top></data>Get Traffic Behavior Counters
Section titled “Get Traffic Behavior Counters”Request example to retrieve traffic behavior counters via rpc show-traffic-behavior-counters.
<show-traffic-behavior-counters/>Response example
<data xmlns="http://asterfusion.com/ns/yang/asternos-qos"> PolicerId Forward(Packet/Byte) DROP(Packet/Byte) Remark-Forward(Packet/Byte) Meter_type ----------- ---------------------- ------------------- ----------------------------- ------------ test_sr_1 100 0 0 packets test_tr_1 50 0 0 packets</data>Clear Traffic Behavior Counters
Section titled “Clear Traffic Behavior Counters”Request example to retrieve traffic behavior counters via rpc clear-traffic-behavior-counters.
<clear-traffic-behavior-counters/>Response example
<data xmlns="http://asterfusion.com/ns/yang/asternos-qos"> Clear and update saved counters</data>Show Interface Traffic Behavior
Section titled “Show Interface Traffic Behavior”Request example to retrieve interface traffic behavior via rpc show-interface-traffic-behavior.
<show-interface-traffic-behavior/>Response example
<data xmlns="http://asterfusion.com/ns/yang/asternos-qos"> Name Policer_Id --------- ------------ Ethernet1 test1 Ethernet3 test1</data>QoS Scheduler
Section titled “QoS Scheduler”This chapter provides examples on how to use Netconf to manage Qos Scheduler on AsterNOS devices.
QoS Scheduler Parameters
Table 1: QoS Scheduler Parameters
Section titled “Table 1: QoS Scheduler Parameters”| Parameter | Type | Valid Values / Format | Description |
|---|---|---|---|
| queue | integer | 0 - 7 | Queue index |
| algorithm | enum | STRICT, DWRR | Scheduling algorithm |
| weight | integer | 1 - 100 | Queue weight; only effective with weighted algorithms like DWRR. |
| pir | integer | For CX202P-16S, CX204Y-48S, CX206P-24S/48S: 1 - bandwidth (in Bps) Others: 313000 - bandwidth (in Bps) | Peak Information Rate - limits max traffic rate for the queue. |
| pbs | integer | For CX202P-16S, CX204Y-48S, CX206P-24S/48S: 1 – 4095 (in 4KBytes) Others: 1 – 1023 (in 4KBytes) | Peak Burst Size - allows burst data transfer up to this size. |
Create Scheduler
Section titled “Create Scheduler”Request example to create qos scheduler via edit-config.
<config> <top> <qos> <schedulers operation="create"> <scheduler> <name>Ethernet1</name> <queue>3</queue> <algorithm>DWRR</algorithm> <weight>30</weight> <pir>500000</pir> <pbs>100</pbs> </scheduler> <scheduler> <name>Ethernet1</name> <queue>4</queue> <algorithm>DWRR</algorithm> <weight>20</weight> <pir>600000</pir> <pbs>200</pbs> </scheduler> </schedulers> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Modify Scheduler
Section titled “Modify Scheduler”Request example to modify qos scheduler via edit-config.
<config> <top> <qos> <schedulers> <scheduler operation="merge"> <name>Ethernet1</name> <queue>3</queue> <algorithm>STRICT</algorithm> <pir>500000</pir> <pbs>100</pbs> </scheduler> </schedulers> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Delete Single Scheduler
Section titled “Delete Single Scheduler”Request example to delete qos scheduler via edit-config.
<config> <top> <qos> <schedulers> <scheduler operation="delete"> <name>Ethernet1</name> <queue>3</queue> </scheduler> </schedulers> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Delete All Scheduler
Section titled “Delete All Scheduler”Request example to delete qos scheduler via edit-config.
<config> <top> <qos> <schedulers operation="delete"> </schedulers> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Get Single Schedulers
Section titled “Get Single Schedulers”Request example to retrieve single scheduler via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <schedulers> <scheduler> <name>Ethernet1</name> <queue>3</queue> </scheduler> </schedulers> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <schedulers> <scheduler> <name>Ethernet1</name> <queue>3</queue> <algorithm>STRICT</algorithm> <pir>500000</pir> <pbs>100</pbs> </scheduler> </schedulers> </qos> </top></data>Get All Schedulers
Section titled “Get All Schedulers”Request example to retrieve qos scheduler via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <schedulers/> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <schedulers> <scheduler> <name>Ethernet1</name> <queue>3</queue> <algorithm>STRICT</algorithm> <pir>500000</pir> <pbs>100</pbs> </scheduler> <scheduler> <name>Ethernet1</name> <queue>4</queue> <algorithm>DWRR</algorithm> <weight>20</weight> <pir>600000</pir> <pbs>200</pbs> </scheduler> </schedulers> </qos> </top></data>Get Scheduler Via RPC
Section titled “Get Scheduler Via RPC”Request example to retrieve scheduler configuration via rpc show-interface-uc-tx-queue.
<show-interface-uc-tx-queue/>Response example
<data> <name>Ethernet1</name> <queue>4</queue> <algorithm>DWRR</algorithm> <weight>10</weight> <pir>600000</pir> <pbs>200</pbs></data>QoS PortShaper
Section titled “QoS PortShaper”This chapter provides examples on how to use Netconf to manage Qos PortShaper on AsterNOS devices.
QoS PortShaper Parameters
Table 1: QoS PortShaper Parameters
Section titled “Table 1: QoS PortShaper Parameters”| Parameter | Type | Valid Values / Format | Description |
|---|---|---|---|
| pir | integer | For CX202P-16S, CX204Y-48S, CX206P-24S/48S: 1 - bandwidth (in Bps) Others: 313000 - bandwidth (in Bps) | Peak Information Rate - limits max traffic rate for the queue. |
| pbs | integer | For CX202P-16S, CX204Y-48S, CX206P-24S/48S: 1 – 4095 (in 4KBytes) Others: 1 – 1023 (in 4KBytes) | Peak Burst Size - allows burst data transfer up to this size. |
Create PortShaper
Section titled “Create PortShaper”Request example to create qos portShaper via edit-config.
<config> <top> <qos> <port-shapers operation="create"> <port-shaper> <name>Ethernet3</name> <pbs>125</pbs> <pir>1000000</pir> </port-shaper> </port-shapers> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:4adf96bf-6345-47b5-80fd-981eafd62df5"> <ok/></rpc-reply>Modify PortShaper
Section titled “Modify PortShaper”Request example to modify qos portShaper via edit-config.
<config> <top> <qos> <port-shapers operation="merge"> <port-shaper> <name>Ethernet2</name> <pbs>512</pbs> <pir>800000</pir> </port-shaper> </port-shapers> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:4adf96bf-6345-47b5-80fd-981eafd62df5"> <ok/></rpc-reply>Delete Single PortShaper
Section titled “Delete Single PortShaper”Request example to delete qos portShaper via edit-config.
<config> <top> <qos> <port-shapers> <port-shaper operation="delete"> <name>Ethernet2</name> </port-shaper> </port-shapers> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:4adf96bf-6345-47b5-80fd-981eafd62df5"> <ok/></rpc-reply>Delete All PortShaper
Section titled “Delete All PortShaper”Request example to delete qos portShaper via edit-config.
<config> <top> <qos> <port-shapers operation="delete"> </port-shapers> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:4adf96bf-6345-47b5-80fd-981eafd62df5"> <ok/></rpc-reply>Get Single PortShaper
Section titled “Get Single PortShaper”Request example to retrieve single qos portShaper via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <port-shapers> <port-shaper> <name>Ethernet2</name> </port-shaper> </port-shapers> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <port-shapers> <port-shaper> <name>Ethernet2</name> <pir>800000</pir> <pbs>512</pbs> </port-shaper> </port-shapers> </qos> </top></data>Get All PortShaper
Section titled “Get All PortShaper”Request example to retrieve all qos portShaper via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <port-shapers/> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <port-shapers> <port-shaper> <name>Ethernet2</name> <pir>800000</pir> <pbs>512</pbs> </port-shaper> <port-shaper> <name>Ethernet3</name> <pir>1000000</pir> <pbs>125</pbs> </port-shaper> </port-shapers> </qos> </top></data>Get PortShaper Via RPC
Section titled “Get PortShaper Via RPC”Request example to retrieve portShaper configuration via rpc show-interface-port-shaper.
<show-interface-port-shaper/>Response example
<data xmlns="http://asterfusion.com/ns/yang/asternos-qos"> { Ethernet2:{ SCHEDULER|port_shaper_scheduler.Ethernet2:{ pbs:2097152, pir:800000 } } }</data>QoS Limit Rate
Section titled “QoS Limit Rate”This chapter provides examples on how to use Netconf to manage Qos limit rate on AsterNOS devices.
QoS Limit Rate Parameters
Table 1: QoS Limit Rate Parameters
Section titled “Table 1: QoS Limit Rate Parameters”| Parameter | Type | Valid Values / Format | Description |
|---|---|---|---|
| direction | enum | ingress, egress | Apply rules to ingress or egress direction |
| cir | integer | > 0 (in KBps) | Committed information rate. |
| cbs | integer | > 0 (in Bytes) | Committed burst size. |
Create Port Limit Rate
Section titled “Create Port Limit Rate”Request example to create qos limit rate rules for port via edit-config.
<config> <top> <qos> <limit-rates operation="create"> <limit-rate> <port>Ethernet3</port> <direction>ingress</direction> <cir>3</cir> <cbs>4000</cbs> </limit-rate> <limit-rate> <port>Ethernet3</port> <direction>egress</direction> <cir>5</cir> <cbs>6000</cbs> </limit-rate> </limit-rates> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Modify Port Limit Rate
Section titled “Modify Port Limit Rate”Request example to modify qos limit rate rules for port via edit-config.
<config> <top> <qos> <limit-rates operation="merge"> <limit-rate> <port>Ethernet4</port> <direction>ingress</direction> <cir>5</cir> <cbs>6000</cbs> </limit-rate> </limit-rates> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Delete Ingress Port Limit Rate
Section titled “Delete Ingress Port Limit Rate”Request example to delete qos limit rate rules for ingress port via edit-config.
<config> <top> <qos> <limit-rates> <limit-rate operation="delete"> <port>Ethernet3</port> <direction>ingress</direction> </limit-rate> </limit-rates> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Delete Port Limit Rate
Section titled “Delete Port Limit Rate”Request example to delete qos limit rate rules for port via edit-config.
<config> <top> <qos> <limit-rates> <limit-rate operation="delete"> <port>Ethernet3</port> </limit-rate> </limit-rates> </qos> </top></config>Response example
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9c68d96e-3bdd-4b50-9161-060947d27bd5"> <ok/></rpc-reply>Get Ingress Port Limit Rate
Section titled “Get Ingress Port Limit Rate”Request example to retrieve qos limit rate rules for ingress port via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <limit-rates> <limit-rate> <port>Ethernet3</port> <direction>ingress</direction> </limit-rate> </limit-rates> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <limit-rates> <limit-rate> <port>Ethernet3</port> <direction>ingress</direction> <cir>3</cir> <cbs>4000</cbs> </limit-rate> </limit-rates> </qos> </top></data>Get Port Limit Rate
Section titled “Get Port Limit Rate”Request example to retrieve qos limit rate rules for port via get-config with subtree filter.
<filter type="subtree"> <top> <qos> <limit-rates> <limit-rate> <port>Ethernet3</port> </limit-rate> </limit-rates> </qos> </top></filter>Response example
<data> <top> <qos xmlns="http://asterfusion.com/ns/yang/asternos-qos"> <limit-rates> <limit-rate> <port>Ethernet3</port> <direction>ingress</direction> <cir>3</cir> <cbs>4000</cbs> </limit-rate> <limit-rate> <port>Ethernet3</port> <direction>egress</direction> <cir>5</cir> <cbs>6000</cbs> </limit-rate> </limit-rates> </qos> </top></data>Queue Counters
Section titled “Queue Counters”This chapter provides examples on how to use Netconf to manage queue counters on AsterNOS devices.
Get Queue Counters
Section titled “Get Queue Counters”Request example to retrieve queue counters for specific interface via rpc show-queue-counters.
<show-queue-counters> <interface_num>2</interface_num></show-queue-counters>Response example
<data xmlns="http://asterfusion.com/ns/yang/asternos-qos">For namespace : Port TxQ Counter/pkts Counter/bytes Drop/pkts Drop/bytes --------- ----- -------------- --------------- ----------- ------------ Ethernet2 ALL0 0 0 0 0 Ethernet2 ALL1 0 0 0 0 Ethernet2 ALL2 0 0 0 0 Ethernet2 ALL3 0 0 0 0 Ethernet2 ALL4 0 0 0 0 Ethernet2 ALL5 0 0 0 0 Ethernet2 ALL6 0 0 0 0 Ethernet2 ALL7 0 0 0 0</data>Get All Queue Counters
Section titled “Get All Queue Counters”Request example to retrieve all queue counters via edit-config.
<show-queue-counters/>Response example
<data xmlns="http://asterfusion.com/ns/yang/asternos-qos"> Port RxQ Counter/pkts Drop/pkts Rate/pkts ------ ----- -------------- ----------- ----------- CPU ALL0 16664 0 0.00/s CPU ALL1 0 0 0.00/s CPU ALL2 8 0 0.00/s CPU ALL3 0 0 0.00/s CPU ALL4 63760 0 0.00/s CPU ALL5 0 0 0.00/s CPU ALL6 0 0 0.00/s CPU ALL7 0 0 0.00/s
<!-- The counters in the middle have been omitted --> For namespace : Port TxQ Counter/pkts Counter/bytes Drop/pkts Drop/bytes ---------- ----- -------------- --------------- ----------- ------------ Ethernet77 ALL0 0 0 0 0 Ethernet77 ALL1 0 0 0 0 Ethernet77 ALL2 0 0 0 0 Ethernet77 ALL3 0 0 0 0 Ethernet77 ALL4 0 0 0 0 Ethernet77 ALL5 0 0 0 0 Ethernet77 ALL6 0 0 0 0 Ethernet77 ALL7 0 0 0 0</data>Clear Queue Counters
Section titled “Clear Queue Counters”Request example to clear all queue counters via rpc clear-queue-counters.
<show-queue-counters> <interface_num>2</interface_num></show-queue-counters>Response example
<data xmlns="http://asterfusion.com/ns/yang/asternos-qos"> Clear and update saved counters for CPU Clear and update saved counters for Ethernet1 <!-- The output in the middle have been omitted --> Clear and update saved counters for Ethernet77</data>Get CPU Queue Counters
Section titled “Get CPU Queue Counters”Request example to retrieve CPU queue counters for specific interface via rpc show-queue-cpu-port.
<show-queue-cpu-port/>Response example
<data xmlns="http://asterfusion.com/ns/yang/asternos-qos"> Port RxQ Counter/pkts Drop/pkts Rate/pkts------ ----- -------------- ----------- ----------- CPU ALL0 104 0 2.00/s CPU ALL1 0 0 0.00/s CPU ALL2 0 0 0.00/s CPU ALL3 0 0 0.00/s CPU ALL4 0 0 0.00/s CPU ALL5 0 0 0.00/s CPU ALL6 0 0 0.00/s CPU ALL7 0 0 0.00/s</data>Properties Descriptions
Section titled “Properties Descriptions”Top-level container for QoS data
Section titled “Top-level container for QoS data”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps | +--rw dscp-tc-maps | | +--rw dscp-tc-map* [name] | | +--rw name string | | +--rw mapping* [dscp] | | +--rw dscp uint8 | | +--rw tc? uint8 | +--rw dot1p-tc-maps | | +--rw dot1p-tc-map* [name] | | +--rw name string | | +--rw mapping* [dot1p] | | +--rw dot1p uint8 | | +--rw tc? uint8 | +--rw mpls-exp-tc-maps | | +--rw mpls-exp-tc-map* [name] | | +--rw name string | | +--rw mapping* [exp] | | +--rw exp uint8 | | +--rw tc? uint8 | +--rw tc-queue-maps | | +--rw tc-queue-map* [name] | | +--rw name string | | +--rw mapping* [tc] | | +--rw tc uint8 | | +--rw queue? uint8 | +--rw tc-mpls-exp-maps | | +--rw tc-mpls-exp-map* [name] | | +--rw name string | | +--rw mapping* [tc] | | +--rw tc uint8 | | +--rw exp? uint8 | +--rw tc-dscp-maps | | +--rw tc-dscp-map* [name] | | +--rw name string | | +--rw mapping* [tc] | | +--rw tc uint8 | | +--rw dscp? uint8 | +--rw tc-dot1p-maps | | +--rw tc-dot1p-map* [name] | | +--rw name string | | +--rw mapping* [tc] | | +--rw tc uint8 | | +--rw dot1p? uint8 | +--rw switch-qos-map | | +--rw tc-queue-map-name? -> /qos/qos-maps/tc-queue-maps/tc-queue-map/name | +--rw port-qos-maps | +--rw port-qos-map* [name] | +--rw name cmn:ethernet-port-name | +--rw dscp-tc-map-name? string | +--rw dot1p-tc-map-name? string | +--rw mpls-exp-tc-map-name? string | +--rw tc-dscp-map-name? string | +--rw tc-dot1p-map-name? string | +--rw tc-mpls-exp-map-name? string +--rw traffic-behaviors | +--rw traffic-behavior* [name] | +--rw name string | +--rw mode policy-mode | +--rw meter-type? meter-type | +--ro color-source? string | +--rw cir uint64 | +--rw cbs? uint64 | +--rw pir? uint64 | +--rw pbs? uint64 | +--rw yellow-packet-action? packet-action | +--rw red-packet-action? packet-action | +--rw remark-dot1p? uint8 | +--rw remark-dscp? uint8 | +--rw remark-tc? uint8 +--rw port-shapers | +--rw port-shaper* [name] | +--rw name cmn:ethernet-port-name | +--rw pir uint64 | +--rw pbs uint64 +--rw schedulers | +--rw scheduler* [name queue] | +--rw name cmn:ethernet-port-name | +--rw queue uint8 | +--rw algorithm enumeration | +--rw weight? uint8 | +--rw pir? uint64 | +--rw pbs? uint64 +--rw limit-rates +--rw limit-rate* [port direction] +--rw port cmn:ethernet-port-name +--rw direction limit-direction-type +--rw cir uint64 +--rw cbs? uint64
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| qos | M | Path-only node, has no configurable value. Top-level container for QoS data. | |
| qos-maps | M | Path-only node, has no configurable value. There are two types of QoS Maps. The first type allows user to create QoS mapping to Traffic Class/color based on DSCP/Dot1p fields. These mappings are applied to inbound ports to classify the packets into different traffic classes/colors based on DSCP/Dot1p fields. Different traffic classes/colors can be associated with different SAI QoS objects (e.g., queues, wred) to provides differentiated services. User can also create map between traffic class to egress queue. ^ DCSP -> Traffic Class/Color ^ Dot1p -> Traffic Class/Color ^ MPLS Exp -> Traffic Class/Color ^ Traffic Class -> egress queue ^ Traffic Class -> MPLS Exp ^ Traffic Class -> DSCP ^ Traffic Class -> Dot1p The second type allows use to map incoming traffic to ingress buffer as well as set the priority field in the PFC frames. ^ Traffic Class to ingress buffer: This maps incoming traffic to ingress buffer. | |
| dscp-tc-maps | M | Path-only node, has no configurable value. Mapping of DSCP to Traffic Class. | |
| dscp-tc-map | M | Path-only node, has no configurable value. In the new RFC 2474 specification, the ToS field in the IP header has been redefined and is now referred to as the DS (Differentiated Services) field, which is also a single byte (8 bits). In total, the 0-5 bits (6 bits in total) are used to indicate the DSCP (Differentiated Services Code Point) priority, ranging from 0 to 63, which can identify 64 priority values (the higher the value, the higher the priority), and the last two bits are reserved. Explicit Congestion Notification (ECN). ^ DCSP -> Traffic Class/Color | |
| name | O | string | Name of dscp-tc-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dscp value and traffic class. | |
| dscp | O | 0..63 | The value of dscp. |
| tc | O | 0..7 | The value of traffic class. |
| dot1p-tc-maps | M | Path-only node, has no configurable value. Mapping of dot1p to Traffic Class. | |
| dot1p-tc-map | M | Path-only node, has no configurable value. The priority in the VLAN frame is the value 802.1p priority (defined by the IEEE 802.1p protocol), which is located in the ‘PRI’ subfield of the ‘802.1Q Tag’ field in the VLAN frame. ^ Dot1p -> Traffic Class/Color | |
| name | O | string | Name of dot1p-tc-map. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dot1p value and traffic class. | |
| dot1p | O | 0..7 | The value of dot1p. |
| tc | O | 0..7 | The value of Traffic Class. |
| mpls-exp-tc-maps | M | Path-only node, has no configurable value. Mapping of MPLS Exp to Traffic Class. | |
| mpls-exp-tc-map | M | Path-only node, has no configurable value. ^ MPLS Exp -> Traffic Class/Color | |
| name | O | string | Name of exp-tc-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between exp value and traffic class. | |
| exp | O | 0..7 | The value of MPLS exp. |
| tc | O | 0..7 | The value of traffic class. |
| tc-queue-maps | M | Path-only node, has no configurable value. Mapping of Traffic Class to Queue. | |
| tc-queue-map | M | Path-only node, has no configurable value. The map between traffic class to egress queue. ^ Traffic Class -> egress queue | |
| name | O | string | Name of tc-queue-map. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between traffic class and egress queue. | |
| tc | O | 0..7 | The value of Traffic Class. |
| queue | O | 0..7 | The value of egress queue. |
| tc-mpls-exp-maps | M | Path-only node, has no configurable value. Mapping of Traffic Class To MPLS Exp. | |
| tc-mpls-exp-map | M | Path-only node, has no configurable value. ^ Traffic Class/Color -> MPLS Exp | |
| name | O | string | Name of tc-exp-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between exp value and traffic class. | |
| tc | O | 0..7 | The value of MPLS exp. |
| exp | O | 0..7 | The value of traffic class. |
| tc-dscp-maps | M | Path-only node, has no configurable value. Mapping of Traffic Class to DSCP. | |
| tc-dscp-map | M | Path-only node, has no configurable value. In the new RFC 2474 specification, the ToS field in the IP header has been redefined and is now referred to as the DS (Differentiated Services) field, which is also a single byte (8 bits). In total, the 0-5 bits (6 bits in total) are used to indicate the DSCP (Differentiated Services Code Point) priority, ranging from 0 to 63, which can identify 64 priority values (the higher the value, the higher the priority), and the last two bits are reserved. Explicit Congestion Notification (ECN). ^ Traffic Class/Color -> DCSP | |
| name | O | string | Name of dscp-tc-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dscp value and traffic class. | |
| tc | O | 0..7 | The value of traffic class. |
| dscp | O | 0..63 | The value of dscp. |
| tc-dot1p-maps | M | Path-only node, has no configurable value. Mapping of do Traffic Class to dot1p. | |
| tc-dot1p-map | M | Path-only node, has no configurable value. The priority in the VLAN frame is the value 802.1p priority (defined by the IEEE 802.1p protocol), which is located in the ‘PRI’ subfield of the ‘802.1Q Tag’ field in the VLAN frame. ^ Traffic Class/Color -> Dot1p | |
| name | O | string | Name of tc-dot1p-map. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dot1p value and traffic class. | |
| tc | O | 0..7 | The value of Traffic Class. |
| dot1p | O | 0..7 | The value of dot1p. |
| switch-qos-map | M | Path-only node, has no configurable value. TC to Queue map for Switch. | |
| tc-queue-map-name | O | → leafref | TC to Queue map name. |
| port-qos-maps | M | Path-only node, has no configurable value. QoS map for port. include dscp-tc and dot1p-tc. | |
| port-qos-map | M | Path-only node, has no configurable value. QoS map for port. | |
| name | O | cmn:ethernet-port-name | Port name. |
| dscp-tc-map-name | O | string | DSCP to TC map name. |
| dot1p-tc-map-name | O | string | Dot1p to TC map name. |
| mpls-exp-tc-map-name | O | string | MPLS exp to TC map name. |
| tc-dscp-map-name | O | string | TC to DSCP map name. |
| tc-dot1p-map-name | O | string | TC to Dot1p map name. |
| tc-mpls-exp-map-name | O | string | TC to MPLS exp map name. |
| traffic-behaviors | M | Path-only node, has no configurable value. qos module, traffic behavior container configuration. | |
| traffic-behavior | M | Path-only node, has no configurable value. The token bucket algorithm is used to implement the Policer rate-limiting function. Currently, both sr_tcm and tr_tcm token bucket modes are supported, where sr_tcm stands for single bucket, single speed mode (EBS=0). tr_tcm stands for two-bucket, two-speed mode. sr_tcm focuses on the burst of packet size, while tr_tcm focuses on the burst of packet rate. To configure the speed limit, it is necessary to configure cir, cbs and other parameters, where cir refers to the commitment information rate, that is, the average rate that is guaranteed to pass. cbs refers to the commitment burst size, that is, the commitment burst traffic that can pass in an instant. pir refers to the peak information rate, which is the maximum allowed rate. pbs refers to the peak burst size, which is the maximum burst flow allowed to pass in an instant | |
| name | O | string | Name of traffic behavior. |
| mode | M | ”sr-tcm" "tr-tcm” | Policer mode. |
| meter-type | O | ”packets" "bytes” | Policer Meter Type, default is bytes. Default value: bytes |
| color-source | RO | string | Policer Color Source; Currently only the configuration is supported as ‘AWARE’. |
| cir | M | 0..13653229 | Committed information rate KBPS/KPPS based on. |
| cbs | O | 0..27961600 | Committed burst size bytes/packets based on. |
| pir | O | 0..16383875 | Peak information rate KBPS/KPPS based on, It works when the mode is tr-tcm. |
| pbs | O | 0..33553920 | Peak burst size bytes/packets based on, It works when the mode is tr-tcm. |
| yellow-packet-action | O | ”FORWARD" "DROP" "REMARK” | Action to take for Yellow color packets. Default value: FORWARD |
| red-packet-action | O | ”FORWARD" "DROP" "REMARK” | Action to take for RED color packets. Default value: DROP |
| remark-dot1p | O | 0..7 | The value of dot1p for remark action. |
| remark-dscp | O | 0..63 | The value of dscp for remark action. |
| remark-tc | O | 0..7 | The value of tc for remark action. |
| port-shapers | M | Path-only node, has no configurable value. QoS port-shapers for port. | |
| port-shaper | M | Path-only node, has no configurable value. QoS port-shapers for port. | |
| name | O | cmn:ethernet-port-name | Port name. |
| pir | M | integer | Maximum port shape rate [bytes]. |
| pbs | M | integer | Maximum Burst for port shape rate [bytes]. |
| schedulers | M | Path-only node, has no configurable value. QoS scheduler(uc-tx-queue) for port. | |
| scheduler | M | Path-only node, has no configurable value. QoS scheduler(uc-tx-queue) for port. | |
| name | O | cmn:ethernet-port-name | Port name. |
| queue | O | 0..7 | The value of egress queue. |
| algorithm | M | ”STRICT" "DWRR” | Users can put important protocol packets and delay-sensitive service packets into the queue scheduled by PQ, and allocate the specified bandwidth to the queue. Other packets are put into each queue scheduled by DWRR according to their priority, and each queue is scheduled circularly according to their weight. Note: By standard, the queue priority of all DWRRS should be less than the priority of all PQ queues. |
| weight | O | 1..100 | The weighted value of the queue scheduling algorithm. |
| pir | O | integer | Maximum queue rate [bytes]. |
| pbs | O | integer | Maximum Burst for queue rate [bytes]. |
| limit-rates | M | Path-only node, has no configurable value. qos module, limit rate container configuration. | |
| limit-rate | M | Path-only node, has no configurable value. To configure the speed limit, it is necessary to configure cir, cbs and other parameters, where cir refers to the commitment information rate, that is, the average rate that is guaranteed to pass. cbs refers to the commitment burst size, that is, the commitment burst traffic that can pass in an instant. | |
| port | O | cmn:ethernet-port-name | Port name |
| direction | O | ”ingress" "egress” | Export or import router. |
| cir | M | 0..13653229 | Committed information rate KBPS/KPPS based on. |
| cbs | O | 0..27961600 | Committed burst size bytes/packets based on. |
qos module, limit rate container configuration
Section titled “qos module, limit rate container configuration”Tree Diagram
module: asternos-qos +--rw qos +--rw limit-rates +--rw limit-rate* [port direction] +--rw port cmn:ethernet-port-name +--rw direction limit-direction-type +--rw cir uint64 +--rw cbs? uint64
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| limit-rates | M | Path-only node, has no configurable value. qos module, limit rate container configuration. | |
| limit-rate | M | Path-only node, has no configurable value. To configure the speed limit, it is necessary to configure cir, cbs and other parameters, where cir refers to the commitment information rate, that is, the average rate that is guaranteed to pass. cbs refers to the commitment burst size, that is, the commitment burst traffic that can pass in an instant. | |
| port | O | cmn:ethernet-port-name | Port name |
| direction | O | ”ingress" "egress” | Export or import router. |
| cir | M | 0..13653229 | Committed information rate KBPS/KPPS based on. |
| cbs | O | 0..27961600 | Committed burst size bytes/packets based on. |
QoS port-shapers for port
Section titled “QoS port-shapers for port”Tree Diagram
module: asternos-qos +--rw qos +--rw port-shapers +--rw port-shaper* [name] +--rw name cmn:ethernet-port-name +--rw pir uint64 +--rw pbs uint64
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| port-shapers | M | Path-only node, has no configurable value. QoS port-shapers for port. | |
| port-shaper | M | Path-only node, has no configurable value. QoS port-shapers for port. | |
| name | O | cmn:ethernet-port-name | Port name. |
| pir | M | integer | Maximum port shape rate [bytes]. |
| pbs | M | integer | Maximum Burst for port shape rate [bytes]. |
Qos Maps
Section titled “Qos Maps”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw dscp-tc-maps | +--rw dscp-tc-map* [name] | +--rw name string | +--rw mapping* [dscp] | +--rw dscp uint8 | +--rw tc? uint8 +--rw dot1p-tc-maps | +--rw dot1p-tc-map* [name] | +--rw name string | +--rw mapping* [dot1p] | +--rw dot1p uint8 | +--rw tc? uint8 +--rw mpls-exp-tc-maps | +--rw mpls-exp-tc-map* [name] | +--rw name string | +--rw mapping* [exp] | +--rw exp uint8 | +--rw tc? uint8 +--rw tc-queue-maps | +--rw tc-queue-map* [name] | +--rw name string | +--rw mapping* [tc] | +--rw tc uint8 | +--rw queue? uint8 +--rw tc-mpls-exp-maps | +--rw tc-mpls-exp-map* [name] | +--rw name string | +--rw mapping* [tc] | +--rw tc uint8 | +--rw exp? uint8 +--rw tc-dscp-maps | +--rw tc-dscp-map* [name] | +--rw name string | +--rw mapping* [tc] | +--rw tc uint8 | +--rw dscp? uint8 +--rw tc-dot1p-maps | +--rw tc-dot1p-map* [name] | +--rw name string | +--rw mapping* [tc] | +--rw tc uint8 | +--rw dot1p? uint8 +--rw switch-qos-map | +--rw tc-queue-map-name? -> /qos/qos-maps/tc-queue-maps/tc-queue-map/name +--rw port-qos-maps +--rw port-qos-map* [name] +--rw name cmn:ethernet-port-name +--rw dscp-tc-map-name? string +--rw dot1p-tc-map-name? string +--rw mpls-exp-tc-map-name? string +--rw tc-dscp-map-name? string +--rw tc-dot1p-map-name? string +--rw tc-mpls-exp-map-name? string
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| qos-maps | M | Path-only node, has no configurable value. There are two types of QoS Maps. The first type allows user to create QoS mapping to Traffic Class/color based on DSCP/Dot1p fields. These mappings are applied to inbound ports to classify the packets into different traffic classes/colors based on DSCP/Dot1p fields. Different traffic classes/colors can be associated with different SAI QoS objects (e.g., queues, wred) to provides differentiated services. User can also create map between traffic class to egress queue. ^ DCSP -> Traffic Class/Color ^ Dot1p -> Traffic Class/Color ^ MPLS Exp -> Traffic Class/Color ^ Traffic Class -> egress queue ^ Traffic Class -> MPLS Exp ^ Traffic Class -> DSCP ^ Traffic Class -> Dot1p The second type allows use to map incoming traffic to ingress buffer as well as set the priority field in the PFC frames. ^ Traffic Class to ingress buffer: This maps incoming traffic to ingress buffer. | |
| dscp-tc-maps | M | Path-only node, has no configurable value. Mapping of DSCP to Traffic Class. | |
| dscp-tc-map | M | Path-only node, has no configurable value. In the new RFC 2474 specification, the ToS field in the IP header has been redefined and is now referred to as the DS (Differentiated Services) field, which is also a single byte (8 bits). In total, the 0-5 bits (6 bits in total) are used to indicate the DSCP (Differentiated Services Code Point) priority, ranging from 0 to 63, which can identify 64 priority values (the higher the value, the higher the priority), and the last two bits are reserved. Explicit Congestion Notification (ECN). ^ DCSP -> Traffic Class/Color | |
| name | O | string | Name of dscp-tc-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dscp value and traffic class. | |
| dscp | O | 0..63 | The value of dscp. |
| tc | O | 0..7 | The value of traffic class. |
| dot1p-tc-maps | M | Path-only node, has no configurable value. Mapping of dot1p to Traffic Class. | |
| dot1p-tc-map | M | Path-only node, has no configurable value. The priority in the VLAN frame is the value 802.1p priority (defined by the IEEE 802.1p protocol), which is located in the ‘PRI’ subfield of the ‘802.1Q Tag’ field in the VLAN frame. ^ Dot1p -> Traffic Class/Color | |
| name | O | string | Name of dot1p-tc-map. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dot1p value and traffic class. | |
| dot1p | O | 0..7 | The value of dot1p. |
| tc | O | 0..7 | The value of Traffic Class. |
| mpls-exp-tc-maps | M | Path-only node, has no configurable value. Mapping of MPLS Exp to Traffic Class. | |
| mpls-exp-tc-map | M | Path-only node, has no configurable value. ^ MPLS Exp -> Traffic Class/Color | |
| name | O | string | Name of exp-tc-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between exp value and traffic class. | |
| exp | O | 0..7 | The value of MPLS exp. |
| tc | O | 0..7 | The value of traffic class. |
| tc-queue-maps | M | Path-only node, has no configurable value. Mapping of Traffic Class to Queue. | |
| tc-queue-map | M | Path-only node, has no configurable value. The map between traffic class to egress queue. ^ Traffic Class -> egress queue | |
| name | O | string | Name of tc-queue-map. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between traffic class and egress queue. | |
| tc | O | 0..7 | The value of Traffic Class. |
| queue | O | 0..7 | The value of egress queue. |
| tc-mpls-exp-maps | M | Path-only node, has no configurable value. Mapping of Traffic Class To MPLS Exp. | |
| tc-mpls-exp-map | M | Path-only node, has no configurable value. ^ Traffic Class/Color -> MPLS Exp | |
| name | O | string | Name of tc-exp-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between exp value and traffic class. | |
| tc | O | 0..7 | The value of MPLS exp. |
| exp | O | 0..7 | The value of traffic class. |
| tc-dscp-maps | M | Path-only node, has no configurable value. Mapping of Traffic Class to DSCP. | |
| tc-dscp-map | M | Path-only node, has no configurable value. In the new RFC 2474 specification, the ToS field in the IP header has been redefined and is now referred to as the DS (Differentiated Services) field, which is also a single byte (8 bits). In total, the 0-5 bits (6 bits in total) are used to indicate the DSCP (Differentiated Services Code Point) priority, ranging from 0 to 63, which can identify 64 priority values (the higher the value, the higher the priority), and the last two bits are reserved. Explicit Congestion Notification (ECN). ^ Traffic Class/Color -> DCSP | |
| name | O | string | Name of dscp-tc-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dscp value and traffic class. | |
| tc | O | 0..7 | The value of traffic class. |
| dscp | O | 0..63 | The value of dscp. |
| tc-dot1p-maps | M | Path-only node, has no configurable value. Mapping of do Traffic Class to dot1p. | |
| tc-dot1p-map | M | Path-only node, has no configurable value. The priority in the VLAN frame is the value 802.1p priority (defined by the IEEE 802.1p protocol), which is located in the ‘PRI’ subfield of the ‘802.1Q Tag’ field in the VLAN frame. ^ Traffic Class/Color -> Dot1p | |
| name | O | string | Name of tc-dot1p-map. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dot1p value and traffic class. | |
| tc | O | 0..7 | The value of Traffic Class. |
| dot1p | O | 0..7 | The value of dot1p. |
| switch-qos-map | M | Path-only node, has no configurable value. TC to Queue map for Switch. | |
| tc-queue-map-name | O | → leafref | TC to Queue map name. |
| port-qos-maps | M | Path-only node, has no configurable value. QoS map for port. include dscp-tc and dot1p-tc. | |
| port-qos-map | M | Path-only node, has no configurable value. QoS map for port. | |
| name | O | cmn:ethernet-port-name | Port name. |
| dscp-tc-map-name | O | string | DSCP to TC map name. |
| dot1p-tc-map-name | O | string | Dot1p to TC map name. |
| mpls-exp-tc-map-name | O | string | MPLS exp to TC map name. |
| tc-dscp-map-name | O | string | TC to DSCP map name. |
| tc-dot1p-map-name | O | string | TC to Dot1p map name. |
| tc-mpls-exp-map-name | O | string | TC to MPLS exp map name. |
Mapping of dot1p to Traffic Class
Section titled “Mapping of dot1p to Traffic Class”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw dot1p-tc-maps +--rw dot1p-tc-map* [name] +--rw name string +--rw mapping* [dot1p] +--rw dot1p uint8 +--rw tc? uint8
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| dot1p-tc-maps | M | Path-only node, has no configurable value. Mapping of dot1p to Traffic Class. | |
| dot1p-tc-map | M | Path-only node, has no configurable value. The priority in the VLAN frame is the value 802.1p priority (defined by the IEEE 802.1p protocol), which is located in the ‘PRI’ subfield of the ‘802.1Q Tag’ field in the VLAN frame. ^ Dot1p -> Traffic Class/Color | |
| name | O | string | Name of dot1p-tc-map. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dot1p value and traffic class. | |
| dot1p | O | 0..7 | The value of dot1p. |
| tc | O | 0..7 | The value of Traffic Class. |
Mapping
Section titled “Mapping”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw dot1p-tc-maps
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameMapping of DSCP to Traffic Class
Section titled “Mapping of DSCP to Traffic Class”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw dscp-tc-maps +--rw dscp-tc-map* [name] +--rw name string +--rw mapping* [dscp] +--rw dscp uint8 +--rw tc? uint8
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| dscp-tc-maps | M | Path-only node, has no configurable value. Mapping of DSCP to Traffic Class. | |
| dscp-tc-map | M | Path-only node, has no configurable value. In the new RFC 2474 specification, the ToS field in the IP header has been redefined and is now referred to as the DS (Differentiated Services) field, which is also a single byte (8 bits). In total, the 0-5 bits (6 bits in total) are used to indicate the DSCP (Differentiated Services Code Point) priority, ranging from 0 to 63, which can identify 64 priority values (the higher the value, the higher the priority), and the last two bits are reserved. Explicit Congestion Notification (ECN). ^ DCSP -> Traffic Class/Color | |
| name | O | string | Name of dscp-tc-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dscp value and traffic class. | |
| dscp | O | 0..63 | The value of dscp. |
| tc | O | 0..7 | The value of traffic class. |
Mapping
Section titled “Mapping”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw dscp-tc-maps
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameMapping of MPLS Exp to Traffic Class
Section titled “Mapping of MPLS Exp to Traffic Class”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw mpls-exp-tc-maps +--rw mpls-exp-tc-map* [name] +--rw name string +--rw mapping* [exp] +--rw exp uint8 +--rw tc? uint8
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| mpls-exp-tc-maps | M | Path-only node, has no configurable value. Mapping of MPLS Exp to Traffic Class. | |
| mpls-exp-tc-map | M | Path-only node, has no configurable value. ^ MPLS Exp -> Traffic Class/Color | |
| name | O | string | Name of exp-tc-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between exp value and traffic class. | |
| exp | O | 0..7 | The value of MPLS exp. |
| tc | O | 0..7 | The value of traffic class. |
Mapping
Section titled “Mapping”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw mpls-exp-tc-maps
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameQoS map for port. include dscp-tc and dot1p-tc
Section titled “QoS map for port. include dscp-tc and dot1p-tc”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw port-qos-maps +--rw port-qos-map* [name] +--rw name cmn:ethernet-port-name +--rw dscp-tc-map-name? string +--rw dot1p-tc-map-name? string +--rw mpls-exp-tc-map-name? string +--rw tc-dscp-map-name? string +--rw tc-dot1p-map-name? string +--rw tc-mpls-exp-map-name? string
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| port-qos-maps | M | Path-only node, has no configurable value. QoS map for port. include dscp-tc and dot1p-tc. | |
| port-qos-map | M | Path-only node, has no configurable value. QoS map for port. | |
| name | O | cmn:ethernet-port-name | Port name. |
| dscp-tc-map-name | O | string | DSCP to TC map name. |
| dot1p-tc-map-name | O | string | Dot1p to TC map name. |
| mpls-exp-tc-map-name | O | string | MPLS exp to TC map name. |
| tc-dscp-map-name | O | string | TC to DSCP map name. |
| tc-dot1p-map-name | O | string | TC to Dot1p map name. |
| tc-mpls-exp-map-name | O | string | TC to MPLS exp map name. |
TC to Queue map for Switch
Section titled “TC to Queue map for Switch”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw switch-qos-map +--rw tc-queue-map-name? -> /qos/qos-maps/tc-queue-maps/tc-queue-map/name
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| switch-qos-map | M | Path-only node, has no configurable value. TC to Queue map for Switch. | |
| tc-queue-map-name | O | → leafref | TC to Queue map name. |
Mapping of do Traffic Class to dot1p
Section titled “Mapping of do Traffic Class to dot1p”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw tc-dot1p-maps +--rw tc-dot1p-map* [name] +--rw name string +--rw mapping* [tc] +--rw tc uint8 +--rw dot1p? uint8
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| tc-dot1p-maps | M | Path-only node, has no configurable value. Mapping of do Traffic Class to dot1p. | |
| tc-dot1p-map | M | Path-only node, has no configurable value. The priority in the VLAN frame is the value 802.1p priority (defined by the IEEE 802.1p protocol), which is located in the ‘PRI’ subfield of the ‘802.1Q Tag’ field in the VLAN frame. ^ Traffic Class/Color -> Dot1p | |
| name | O | string | Name of tc-dot1p-map. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dot1p value and traffic class. | |
| tc | O | 0..7 | The value of Traffic Class. |
| dot1p | O | 0..7 | The value of dot1p. |
Mapping
Section titled “Mapping”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw tc-dot1p-maps
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameMapping of Traffic Class to DSCP
Section titled “Mapping of Traffic Class to DSCP”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw tc-dscp-maps +--rw tc-dscp-map* [name] +--rw name string +--rw mapping* [tc] +--rw tc uint8 +--rw dscp? uint8
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| tc-dscp-maps | M | Path-only node, has no configurable value. Mapping of Traffic Class to DSCP. | |
| tc-dscp-map | M | Path-only node, has no configurable value. In the new RFC 2474 specification, the ToS field in the IP header has been redefined and is now referred to as the DS (Differentiated Services) field, which is also a single byte (8 bits). In total, the 0-5 bits (6 bits in total) are used to indicate the DSCP (Differentiated Services Code Point) priority, ranging from 0 to 63, which can identify 64 priority values (the higher the value, the higher the priority), and the last two bits are reserved. Explicit Congestion Notification (ECN). ^ Traffic Class/Color -> DCSP | |
| name | O | string | Name of dscp-tc-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between dscp value and traffic class. | |
| tc | O | 0..7 | The value of traffic class. |
| dscp | O | 0..63 | The value of dscp. |
Mapping
Section titled “Mapping”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw tc-dscp-maps
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameMapping of Traffic Class To MPLS Exp
Section titled “Mapping of Traffic Class To MPLS Exp”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw tc-mpls-exp-maps +--rw tc-mpls-exp-map* [name] +--rw name string +--rw mapping* [tc] +--rw tc uint8 +--rw exp? uint8
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| tc-mpls-exp-maps | M | Path-only node, has no configurable value. Mapping of Traffic Class To MPLS Exp. | |
| tc-mpls-exp-map | M | Path-only node, has no configurable value. ^ Traffic Class/Color -> MPLS Exp | |
| name | O | string | Name of tc-exp-map, Represents a set of mappings. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between exp value and traffic class. | |
| tc | O | 0..7 | The value of MPLS exp. |
| exp | O | 0..7 | The value of traffic class. |
Mapping
Section titled “Mapping”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw tc-mpls-exp-maps
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameMapping of Traffic Class to Queue
Section titled “Mapping of Traffic Class to Queue”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw tc-queue-maps +--rw tc-queue-map* [name] +--rw name string +--rw mapping* [tc] +--rw tc uint8 +--rw queue? uint8
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| tc-queue-maps | M | Path-only node, has no configurable value. Mapping of Traffic Class to Queue. | |
| tc-queue-map | M | Path-only node, has no configurable value. The map between traffic class to egress queue. ^ Traffic Class -> egress queue | |
| name | O | string | Name of tc-queue-map. |
| mapping | M | Path-only node, has no configurable value. Mapping relationship between traffic class and egress queue. | |
| tc | O | 0..7 | The value of Traffic Class. |
| queue | O | 0..7 | The value of egress queue. |
Mapping
Section titled “Mapping”Tree Diagram
module: asternos-qos +--rw qos +--rw qos-maps +--rw tc-queue-maps
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameQoS scheduler(uc-tx-queue) for port
Section titled “QoS scheduler(uc-tx-queue) for port”Tree Diagram
module: asternos-qos +--rw qos +--rw schedulers +--rw scheduler* [name queue] +--rw name cmn:ethernet-port-name +--rw queue uint8 +--rw algorithm enumeration +--rw weight? uint8 +--rw pir? uint64 +--rw pbs? uint64
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| schedulers | M | Path-only node, has no configurable value. QoS scheduler(uc-tx-queue) for port. | |
| scheduler | M | Path-only node, has no configurable value. QoS scheduler(uc-tx-queue) for port. | |
| name | O | cmn:ethernet-port-name | Port name. |
| queue | O | 0..7 | The value of egress queue. |
| algorithm | M | ”STRICT" "DWRR” | Users can put important protocol packets and delay-sensitive service packets into the queue scheduled by PQ, and allocate the specified bandwidth to the queue. Other packets are put into each queue scheduled by DWRR according to their priority, and each queue is scheduled circularly according to their weight. Note: By standard, the queue priority of all DWRRS should be less than the priority of all PQ queues. |
| weight | O | 1..100 | The weighted value of the queue scheduling algorithm. |
| pir | O | integer | Maximum queue rate [bytes]. |
| pbs | O | integer | Maximum Burst for queue rate [bytes]. |
qos module, traffic behavior container configuration
Section titled “qos module, traffic behavior container configuration”Tree Diagram
module: asternos-qos +--rw qos +--rw traffic-behaviors +--rw traffic-behavior* [name] +--rw name string +--rw mode policy-mode +--rw meter-type? meter-type +--ro color-source? string +--rw cir uint64 +--rw cbs? uint64 +--rw pir? uint64 +--rw pbs? uint64 +--rw yellow-packet-action? packet-action +--rw red-packet-action? packet-action +--rw remark-dot1p? uint8 +--rw remark-dscp? uint8 +--rw remark-tc? uint8
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/nameTable of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| traffic-behaviors | M | Path-only node, has no configurable value. qos module, traffic behavior container configuration. | |
| traffic-behavior | M | Path-only node, has no configurable value. The token bucket algorithm is used to implement the Policer rate-limiting function. Currently, both sr_tcm and tr_tcm token bucket modes are supported, where sr_tcm stands for single bucket, single speed mode (EBS=0). tr_tcm stands for two-bucket, two-speed mode. sr_tcm focuses on the burst of packet size, while tr_tcm focuses on the burst of packet rate. To configure the speed limit, it is necessary to configure cir, cbs and other parameters, where cir refers to the commitment information rate, that is, the average rate that is guaranteed to pass. cbs refers to the commitment burst size, that is, the commitment burst traffic that can pass in an instant. pir refers to the peak information rate, which is the maximum allowed rate. pbs refers to the peak burst size, which is the maximum burst flow allowed to pass in an instant | |
| name | O | string | Name of traffic behavior. |
| mode | M | ”sr-tcm" "tr-tcm” | Policer mode. |
| meter-type | O | ”packets" "bytes” | Policer Meter Type, default is bytes. Default value: bytes |
| color-source | RO | string | Policer Color Source; Currently only the configuration is supported as ‘AWARE’. |
| cir | M | 0..13653229 | Committed information rate KBPS/KPPS based on. |
| cbs | O | 0..27961600 | Committed burst size bytes/packets based on. |
| pir | O | 0..16383875 | Peak information rate KBPS/KPPS based on, It works when the mode is tr-tcm. |
| pbs | O | 0..33553920 | Peak burst size bytes/packets based on, It works when the mode is tr-tcm. |
| yellow-packet-action | O | ”FORWARD" "DROP" "REMARK” | Action to take for Yellow color packets. Default value: FORWARD |
| red-packet-action | O | ”FORWARD" "DROP" "REMARK” | Action to take for RED color packets. Default value: DROP |
| remark-dot1p | O | 0..7 | The value of dot1p for remark action. |
| remark-dscp | O | 0..63 | The value of dscp for remark action. |
| remark-tc | O | 0..7 | The value of tc for remark action. |
Clear Queue Counters
Section titled “Clear Queue Counters”Tree Diagram
module: asternos-qos
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/name
rpcs: +---x clear-queue-counters +--ro output +--ro data? <anydata>Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| clear-queue-counters | O | ||
| data | O | Display the clear execution result. |
Clear Traffic Behavior Counters
Section titled “Clear Traffic Behavior Counters”Tree Diagram
module: asternos-qos
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/name
rpcs: +---x clear-traffic-behavior-counters +--ro output +--ro data? <anydata>Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| clear-traffic-behavior-counters | O | ||
| data | O | Display counters of traffic behavior. |
Show Interface Port Shaper
Section titled “Show Interface Port Shaper”Tree Diagram
module: asternos-qos
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/name
rpcs: +---x show-interface-port-shaper +--ro output +--ro data? <anydata>Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-interface-port-shaper | O | ||
| data | O | Display the port-shaper of binding port. |
Show Interface Qos Map Bind
Section titled “Show Interface Qos Map Bind”Tree Diagram
module: asternos-qos
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/name
rpcs: +---x show-interface-qos-map-bind +--ro output +--ro data? <anydata>Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-interface-qos-map-bind | O | ||
| data | O | Display the qos-map of binding port. |
Show Interface Traffic Behavior
Section titled “Show Interface Traffic Behavior”Tree Diagram
module: asternos-qos
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/name
rpcs: +---x show-interface-traffic-behavior +--ro output +--ro data? <anydata>Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-interface-traffic-behavior | O | ||
| data | O | Display the traffic-behavior of binding port. |
Show Interface Uc Tx Queue
Section titled “Show Interface Uc Tx Queue”Tree Diagram
module: asternos-qos
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/name
rpcs: +---x show-interface-uc-tx-queue +--ro output +--ro data? <anydata>Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-interface-uc-tx-queue | O | ||
| data | O | Display the uc-tx-queue of binding port. |
Show Qos Map
Section titled “Show Qos Map”Tree Diagram
module: asternos-qos
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/name
rpcs: +---x show-qos-map +---w input | +---w name? string +--ro output +--ro data? <anydata>Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-qos-map | O | ||
| name | O | string | qos map name. |
| data | O | Display the qos map of the name specified by input. |
Show Queue Counters
Section titled “Show Queue Counters”Tree Diagram
module: asternos-qos
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/name
rpcs: +---x show-queue-counters +---w input | +---w interface_num? uint16 +--ro output +--ro data? <anydata>Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-queue-counters | O | ||
| interface_num | O | integer | Interface name. |
| data | O | Display the queue counters of each port. |
Show Queue Cpu Port
Section titled “Show Queue Cpu Port”Tree Diagram
module: asternos-qos
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/name
rpcs: +---x show-queue-cpu-port +--ro output +--ro data? <anydata>Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-queue-cpu-port | O | ||
| data | O | Display the queue counters of cpu port. |
Show Traffic Behavior Counters
Section titled “Show Traffic Behavior Counters”Tree Diagram
module: asternos-qos
augment /if:interfaces/if:interface: +--rw ingress-policer-name? -> /qos/traffic-behaviors/traffic-behavior/name
rpcs: +---x show-traffic-behavior-counters +--ro output +--ro data? <anydata>Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-traffic-behavior-counters | O | ||
| data | O | Display counters of traffic behavior. |