跳转到内容
Ask AI

QOS-Netconf

此内容尚不支持你的语言。

YANG Pathget/get-configedit-configrpc
/clear-queue-counters——Y
/clear-traffic-behavior-counters——Y
/qosYmerge, replace, create, delete—
/qos/limit-rates/{port}/{direction}Ymerge, replace, create, delete—
/qos/port-shapers/{name}Ymerge, replace, create, delete—
/qos/qos-mapsYmerge, replace, create, delete—
/qos/qos-maps/dot1p-tc-maps/{name}Ymerge, replace, create, delete—
/qos/qos-maps/dot1p-tc-maps/{name}/mapping/{dot1p}Ymerge, replace, create, delete—
/qos/qos-maps/dscp-tc-maps/{name}Ymerge, replace, create, delete—
/qos/qos-maps/dscp-tc-maps/{name}/mapping/{dscp}Ymerge, replace, create, delete—
/qos/qos-maps/mpls-exp-tc-maps/{name}Ymerge, replace, create, delete—
/qos/qos-maps/mpls-exp-tc-maps/{name}/mapping/{exp}Ymerge, replace, create, delete—
/qos/qos-maps/port-qos-maps/{name}Ymerge, replace, create, delete—
/qos/qos-maps/switch-qos-mapYmerge, replace, create, delete—
/qos/qos-maps/tc-dot1p-maps/{name}Ymerge, replace, create, delete—
/qos/qos-maps/tc-dot1p-maps/{name}/mapping/{tc}Ymerge, replace, create, delete—
/qos/qos-maps/tc-dscp-maps/{name}Ymerge, replace, create, delete—
/qos/qos-maps/tc-dscp-maps/{name}/mapping/{tc}Ymerge, replace, create, delete—
/qos/qos-maps/tc-mpls-exp-maps/{name}Ymerge, replace, create, delete—
/qos/qos-maps/tc-mpls-exp-maps/{name}/mapping/{tc}Ymerge, replace, create, delete—
/qos/qos-maps/tc-queue-maps/{name}Ymerge, replace, create, delete—
/qos/qos-maps/tc-queue-maps/{name}/mapping/{tc}Ymerge, replace, create, delete—
/qos/schedulers/{name}/{queue}Ymerge, replace, create, delete—
/qos/traffic-behaviors/{name}Ymerge, 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

This chapter provides examples on how to use Netconf to manage QoS on AsterNOS devices.

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>

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>

This chapter provides examples on how to use Netconf to manage QoS Map, Port QoS Map and Switch QoS Map on AsterNOS devices.

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

This chapter provides examples on how to use Netconf to manage Qos traffic behavior on AsterNOS devices.

QoS Traffic Behavior Parameters

ParameterTypeValid Values / FormatDescription
modeenumsr–tcm, tr–tcmPolicer 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–typeenumpackets, bytesPolicer Meter Type
Policer Meter Type, default is bytes.
color–sourcestringAWAREPolicer Color Source, readonly.
cirinteger> 0 (in KBps or Kpps)Committed burst size
cbsinteger> 0 (in Bytes or packets)Committed information rate.
pirinteger> 0 (in KBps or Kpps)Peak Information Rate – It works when the mode is tr–tcm.
pbsinteger> 0 (in KBps or Kpps)Peak Burst Size – It works when the mode is tr–tcm.
yellow–packet–actionenumFORWARD, DROP or REMARKAction to take for Yellow color packets, default is FORWARD.
red–packet–actionenumFORWARD, DROP or REMARKAction to take for Red color packets, default is FORWARD.
remark–dot1pinteger0–7The value of dot1p for remark action, it works when yellow/red–packet–action is REMARK.
dscpinteger0–63The value of dscp for remark action, it works when yellow/red–packet–action is REMARK.
remark–tcinteger0–7The value of tc for remark action, it works when yellow/red–packet–action is REMARK.

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

This chapter provides examples on how to use Netconf to manage Qos Scheduler on AsterNOS devices.

QoS Scheduler Parameters

ParameterTypeValid Values / FormatDescription
queueinteger0 - 7Queue index
algorithmenumSTRICT, DWRRScheduling algorithm
weightinteger1 - 100Queue weight; only effective with weighted algorithms like DWRR.
pirintegerFor 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.
pbsintegerFor 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.

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>

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>

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>

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>

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>

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>

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>

This chapter provides examples on how to use Netconf to manage Qos PortShaper on AsterNOS devices.

QoS PortShaper Parameters

ParameterTypeValid Values / FormatDescription
pirintegerFor 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.
pbsintegerFor 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.

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>

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>

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>

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>

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>

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>

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>

This chapter provides examples on how to use Netconf to manage Qos limit rate on AsterNOS devices.

QoS Limit Rate Parameters

ParameterTypeValid Values / FormatDescription
directionenumingress, egressApply rules to ingress or egress direction
cirinteger> 0 (in KBps)Committed information rate.
cbsinteger> 0 (in Bytes)Committed burst size.

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>

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>

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>

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>

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>

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>

This chapter provides examples on how to use Netconf to manage queue counters on AsterNOS devices.

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>

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>

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>

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>

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/name

Table of Properties

NameRequiredType/RangeDescription
qosMPath-only node, has no configurable value.
Top-level container for QoS data.
qos-mapsMPath-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-mapsMPath-only node, has no configurable value.
Mapping of DSCP to Traffic Class.
dscp-tc-mapMPath-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
nameOstringName of dscp-tc-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between dscp value and traffic class.
dscpO0..63The value of dscp.
tcO0..7The value of traffic class.
dot1p-tc-mapsMPath-only node, has no configurable value.
Mapping of dot1p to Traffic Class.
dot1p-tc-mapMPath-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
nameOstringName of dot1p-tc-map.
mappingMPath-only node, has no configurable value.
Mapping relationship between dot1p value and traffic class.
dot1pO0..7The value of dot1p.
tcO0..7The value of Traffic Class.
mpls-exp-tc-mapsMPath-only node, has no configurable value.
Mapping of MPLS Exp to Traffic Class.
mpls-exp-tc-mapMPath-only node, has no configurable value.
^ MPLS Exp -> Traffic Class/Color
nameOstringName of exp-tc-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between exp value and traffic class.
expO0..7The value of MPLS exp.
tcO0..7The value of traffic class.
tc-queue-mapsMPath-only node, has no configurable value.
Mapping of Traffic Class to Queue.
tc-queue-mapMPath-only node, has no configurable value.
The map between traffic class to egress queue.

^ Traffic Class -> egress queue
nameOstringName of tc-queue-map.
mappingMPath-only node, has no configurable value.
Mapping relationship between traffic class and egress queue.
tcO0..7The value of Traffic Class.
queueO0..7The value of egress queue.
tc-mpls-exp-mapsMPath-only node, has no configurable value.
Mapping of Traffic Class To MPLS Exp.
tc-mpls-exp-mapMPath-only node, has no configurable value.
^ Traffic Class/Color -> MPLS Exp
nameOstringName of tc-exp-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between exp value and traffic class.
tcO0..7The value of MPLS exp.
expO0..7The value of traffic class.
tc-dscp-mapsMPath-only node, has no configurable value.
Mapping of Traffic Class to DSCP.
tc-dscp-mapMPath-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
nameOstringName of dscp-tc-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between dscp value and traffic class.
tcO0..7The value of traffic class.
dscpO0..63The value of dscp.
tc-dot1p-mapsMPath-only node, has no configurable value.
Mapping of do Traffic Class to dot1p.
tc-dot1p-mapMPath-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
nameOstringName of tc-dot1p-map.
mappingMPath-only node, has no configurable value.
Mapping relationship between dot1p value and traffic class.
tcO0..7The value of Traffic Class.
dot1pO0..7The value of dot1p.
switch-qos-mapMPath-only node, has no configurable value.
TC to Queue map for Switch.
tc-queue-map-nameO→ leafrefTC to Queue map name.
port-qos-mapsMPath-only node, has no configurable value.
QoS map for port. include dscp-tc and dot1p-tc.
port-qos-mapMPath-only node, has no configurable value.
QoS map for port.
nameOcmn:ethernet-port-namePort name.
dscp-tc-map-nameOstringDSCP to TC map name.
dot1p-tc-map-nameOstringDot1p to TC map name.
mpls-exp-tc-map-nameOstringMPLS exp to TC map name.
tc-dscp-map-nameOstringTC to DSCP map name.
tc-dot1p-map-nameOstringTC to Dot1p map name.
tc-mpls-exp-map-nameOstringTC to MPLS exp map name.
traffic-behaviorsMPath-only node, has no configurable value.
qos module, traffic behavior container configuration.
traffic-behaviorMPath-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
nameOstringName of traffic behavior.
modeM”sr-tcm"
"tr-tcm”
Policer mode.
meter-typeO”packets"
"bytes”
Policer Meter Type, default is bytes.
Default value: bytes
color-sourceROstringPolicer Color Source; Currently only the configuration is supported as ‘AWARE’.
cirM0..13653229Committed information rate KBPS/KPPS based on.
cbsO0..27961600Committed burst size bytes/packets based on.
pirO0..16383875Peak information rate KBPS/KPPS based on, It works when the mode is tr-tcm.
pbsO0..33553920Peak burst size bytes/packets based on, It works when the mode is tr-tcm.
yellow-packet-actionO”FORWARD"
"DROP"
"REMARK”
Action to take for Yellow color packets.
Default value: FORWARD
red-packet-actionO”FORWARD"
"DROP"
"REMARK”
Action to take for RED color packets.
Default value: DROP
remark-dot1pO0..7The value of dot1p for remark action.
remark-dscpO0..63The value of dscp for remark action.
remark-tcO0..7The value of tc for remark action.
port-shapersMPath-only node, has no configurable value.
QoS port-shapers for port.
port-shaperMPath-only node, has no configurable value.
QoS port-shapers for port.
nameOcmn:ethernet-port-namePort name.
pirMintegerMaximum port shape rate [bytes].
pbsMintegerMaximum Burst for port shape rate [bytes].
schedulersMPath-only node, has no configurable value.
QoS scheduler(uc-tx-queue) for port.
schedulerMPath-only node, has no configurable value.
QoS scheduler(uc-tx-queue) for port.
nameOcmn:ethernet-port-namePort name.
queueO0..7The value of egress queue.
algorithmM”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.
weightO1..100The weighted value of the queue scheduling algorithm.
pirOintegerMaximum queue rate [bytes].
pbsOintegerMaximum Burst for queue rate [bytes].
limit-ratesMPath-only node, has no configurable value.
qos module, limit rate container configuration.
limit-rateMPath-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.
portOcmn:ethernet-port-namePort name
directionO”ingress"
"egress”
Export or import router.
cirM0..13653229Committed information rate KBPS/KPPS based on.
cbsO0..27961600Committed 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/name

Table of Properties

NameRequiredType/RangeDescription
limit-ratesMPath-only node, has no configurable value.
qos module, limit rate container configuration.
limit-rateMPath-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.
portOcmn:ethernet-port-namePort name
directionO”ingress"
"egress”
Export or import router.
cirM0..13653229Committed information rate KBPS/KPPS based on.
cbsO0..27961600Committed burst size bytes/packets based on.

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/name

Table of Properties

NameRequiredType/RangeDescription
port-shapersMPath-only node, has no configurable value.
QoS port-shapers for port.
port-shaperMPath-only node, has no configurable value.
QoS port-shapers for port.
nameOcmn:ethernet-port-namePort name.
pirMintegerMaximum port shape rate [bytes].
pbsMintegerMaximum Burst for port shape rate [bytes].

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/name

Table of Properties

NameRequiredType/RangeDescription
qos-mapsMPath-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-mapsMPath-only node, has no configurable value.
Mapping of DSCP to Traffic Class.
dscp-tc-mapMPath-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
nameOstringName of dscp-tc-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between dscp value and traffic class.
dscpO0..63The value of dscp.
tcO0..7The value of traffic class.
dot1p-tc-mapsMPath-only node, has no configurable value.
Mapping of dot1p to Traffic Class.
dot1p-tc-mapMPath-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
nameOstringName of dot1p-tc-map.
mappingMPath-only node, has no configurable value.
Mapping relationship between dot1p value and traffic class.
dot1pO0..7The value of dot1p.
tcO0..7The value of Traffic Class.
mpls-exp-tc-mapsMPath-only node, has no configurable value.
Mapping of MPLS Exp to Traffic Class.
mpls-exp-tc-mapMPath-only node, has no configurable value.
^ MPLS Exp -> Traffic Class/Color
nameOstringName of exp-tc-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between exp value and traffic class.
expO0..7The value of MPLS exp.
tcO0..7The value of traffic class.
tc-queue-mapsMPath-only node, has no configurable value.
Mapping of Traffic Class to Queue.
tc-queue-mapMPath-only node, has no configurable value.
The map between traffic class to egress queue.

^ Traffic Class -> egress queue
nameOstringName of tc-queue-map.
mappingMPath-only node, has no configurable value.
Mapping relationship between traffic class and egress queue.
tcO0..7The value of Traffic Class.
queueO0..7The value of egress queue.
tc-mpls-exp-mapsMPath-only node, has no configurable value.
Mapping of Traffic Class To MPLS Exp.
tc-mpls-exp-mapMPath-only node, has no configurable value.
^ Traffic Class/Color -> MPLS Exp
nameOstringName of tc-exp-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between exp value and traffic class.
tcO0..7The value of MPLS exp.
expO0..7The value of traffic class.
tc-dscp-mapsMPath-only node, has no configurable value.
Mapping of Traffic Class to DSCP.
tc-dscp-mapMPath-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
nameOstringName of dscp-tc-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between dscp value and traffic class.
tcO0..7The value of traffic class.
dscpO0..63The value of dscp.
tc-dot1p-mapsMPath-only node, has no configurable value.
Mapping of do Traffic Class to dot1p.
tc-dot1p-mapMPath-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
nameOstringName of tc-dot1p-map.
mappingMPath-only node, has no configurable value.
Mapping relationship between dot1p value and traffic class.
tcO0..7The value of Traffic Class.
dot1pO0..7The value of dot1p.
switch-qos-mapMPath-only node, has no configurable value.
TC to Queue map for Switch.
tc-queue-map-nameO→ leafrefTC to Queue map name.
port-qos-mapsMPath-only node, has no configurable value.
QoS map for port. include dscp-tc and dot1p-tc.
port-qos-mapMPath-only node, has no configurable value.
QoS map for port.
nameOcmn:ethernet-port-namePort name.
dscp-tc-map-nameOstringDSCP to TC map name.
dot1p-tc-map-nameOstringDot1p to TC map name.
mpls-exp-tc-map-nameOstringMPLS exp to TC map name.
tc-dscp-map-nameOstringTC to DSCP map name.
tc-dot1p-map-nameOstringTC to Dot1p map name.
tc-mpls-exp-map-nameOstringTC to MPLS exp map name.

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/name

Table of Properties

NameRequiredType/RangeDescription
dot1p-tc-mapsMPath-only node, has no configurable value.
Mapping of dot1p to Traffic Class.
dot1p-tc-mapMPath-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
nameOstringName of dot1p-tc-map.
mappingMPath-only node, has no configurable value.
Mapping relationship between dot1p value and traffic class.
dot1pO0..7The value of dot1p.
tcO0..7The value of Traffic Class.

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/name

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/name

Table of Properties

NameRequiredType/RangeDescription
dscp-tc-mapsMPath-only node, has no configurable value.
Mapping of DSCP to Traffic Class.
dscp-tc-mapMPath-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
nameOstringName of dscp-tc-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between dscp value and traffic class.
dscpO0..63The value of dscp.
tcO0..7The value of traffic class.

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/name

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/name

Table of Properties

NameRequiredType/RangeDescription
mpls-exp-tc-mapsMPath-only node, has no configurable value.
Mapping of MPLS Exp to Traffic Class.
mpls-exp-tc-mapMPath-only node, has no configurable value.
^ MPLS Exp -> Traffic Class/Color
nameOstringName of exp-tc-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between exp value and traffic class.
expO0..7The value of MPLS exp.
tcO0..7The value of traffic class.

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/name

QoS 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/name

Table of Properties

NameRequiredType/RangeDescription
port-qos-mapsMPath-only node, has no configurable value.
QoS map for port. include dscp-tc and dot1p-tc.
port-qos-mapMPath-only node, has no configurable value.
QoS map for port.
nameOcmn:ethernet-port-namePort name.
dscp-tc-map-nameOstringDSCP to TC map name.
dot1p-tc-map-nameOstringDot1p to TC map name.
mpls-exp-tc-map-nameOstringMPLS exp to TC map name.
tc-dscp-map-nameOstringTC to DSCP map name.
tc-dot1p-map-nameOstringTC to Dot1p map name.
tc-mpls-exp-map-nameOstringTC to MPLS exp map name.

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/name

Table of Properties

NameRequiredType/RangeDescription
switch-qos-mapMPath-only node, has no configurable value.
TC to Queue map for Switch.
tc-queue-map-nameO→ leafrefTC to Queue map name.

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/name

Table of Properties

NameRequiredType/RangeDescription
tc-dot1p-mapsMPath-only node, has no configurable value.
Mapping of do Traffic Class to dot1p.
tc-dot1p-mapMPath-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
nameOstringName of tc-dot1p-map.
mappingMPath-only node, has no configurable value.
Mapping relationship between dot1p value and traffic class.
tcO0..7The value of Traffic Class.
dot1pO0..7The value of dot1p.

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/name

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/name

Table of Properties

NameRequiredType/RangeDescription
tc-dscp-mapsMPath-only node, has no configurable value.
Mapping of Traffic Class to DSCP.
tc-dscp-mapMPath-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
nameOstringName of dscp-tc-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between dscp value and traffic class.
tcO0..7The value of traffic class.
dscpO0..63The value of dscp.

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/name

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/name

Table of Properties

NameRequiredType/RangeDescription
tc-mpls-exp-mapsMPath-only node, has no configurable value.
Mapping of Traffic Class To MPLS Exp.
tc-mpls-exp-mapMPath-only node, has no configurable value.
^ Traffic Class/Color -> MPLS Exp
nameOstringName of tc-exp-map, Represents a set of mappings.
mappingMPath-only node, has no configurable value.
Mapping relationship between exp value and traffic class.
tcO0..7The value of MPLS exp.
expO0..7The value of traffic class.

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/name

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/name

Table of Properties

NameRequiredType/RangeDescription
tc-queue-mapsMPath-only node, has no configurable value.
Mapping of Traffic Class to Queue.
tc-queue-mapMPath-only node, has no configurable value.
The map between traffic class to egress queue.

^ Traffic Class -> egress queue
nameOstringName of tc-queue-map.
mappingMPath-only node, has no configurable value.
Mapping relationship between traffic class and egress queue.
tcO0..7The value of Traffic Class.
queueO0..7The value of egress queue.

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/name

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/name

Table of Properties

NameRequiredType/RangeDescription
schedulersMPath-only node, has no configurable value.
QoS scheduler(uc-tx-queue) for port.
schedulerMPath-only node, has no configurable value.
QoS scheduler(uc-tx-queue) for port.
nameOcmn:ethernet-port-namePort name.
queueO0..7The value of egress queue.
algorithmM”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.
weightO1..100The weighted value of the queue scheduling algorithm.
pirOintegerMaximum queue rate [bytes].
pbsOintegerMaximum 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/name

Table of Properties

NameRequiredType/RangeDescription
traffic-behaviorsMPath-only node, has no configurable value.
qos module, traffic behavior container configuration.
traffic-behaviorMPath-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
nameOstringName of traffic behavior.
modeM”sr-tcm"
"tr-tcm”
Policer mode.
meter-typeO”packets"
"bytes”
Policer Meter Type, default is bytes.
Default value: bytes
color-sourceROstringPolicer Color Source; Currently only the configuration is supported as ‘AWARE’.
cirM0..13653229Committed information rate KBPS/KPPS based on.
cbsO0..27961600Committed burst size bytes/packets based on.
pirO0..16383875Peak information rate KBPS/KPPS based on, It works when the mode is tr-tcm.
pbsO0..33553920Peak burst size bytes/packets based on, It works when the mode is tr-tcm.
yellow-packet-actionO”FORWARD"
"DROP"
"REMARK”
Action to take for Yellow color packets.
Default value: FORWARD
red-packet-actionO”FORWARD"
"DROP"
"REMARK”
Action to take for RED color packets.
Default value: DROP
remark-dot1pO0..7The value of dot1p for remark action.
remark-dscpO0..63The value of dscp for remark action.
remark-tcO0..7The value of tc for remark action.

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

NameRequiredType/RangeDescription
clear-queue-countersO
dataODisplay the clear execution result.

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

NameRequiredType/RangeDescription
clear-traffic-behavior-countersO
dataODisplay counters of 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-port-shaper
+--ro output
+--ro data? <anydata>

Table of Properties

NameRequiredType/RangeDescription
show-interface-port-shaperO
dataODisplay the port-shaper of binding port.

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

NameRequiredType/RangeDescription
show-interface-qos-map-bindO
dataODisplay the qos-map of binding port.

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

NameRequiredType/RangeDescription
show-interface-traffic-behaviorO
dataODisplay the traffic-behavior of binding port.

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

NameRequiredType/RangeDescription
show-interface-uc-tx-queueO
dataODisplay the uc-tx-queue of binding port.

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

NameRequiredType/RangeDescription
show-qos-mapO
nameOstringqos map name.
dataODisplay the qos map of the name specified by input.

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

NameRequiredType/RangeDescription
show-queue-countersO
interface_numOintegerInterface name.
dataODisplay the queue counters of each 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

NameRequiredType/RangeDescription
show-queue-cpu-portO
dataODisplay the queue counters of 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-traffic-behavior-counters
+--ro output
+--ro data? <anydata>

Table of Properties

NameRequiredType/RangeDescription
show-traffic-behavior-countersO
dataODisplay counters of traffic behavior.