Add yang model for scheduler in PORT_QOS_MAP (#16244) (#16359)

Signed-off-by: Stephen Sun <stephens@nvidia.com>
This commit is contained in:
Stephen Sun 2023-09-19 10:06:32 +08:00 committed by GitHub
parent 9ffa92cc61
commit 7ea54f53d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 84 additions and 10 deletions

View File

@ -1684,6 +1684,15 @@
"pbs": "2048", "pbs": "2048",
"pir": "2560000", "pir": "2560000",
"type": "STRICT" "type": "STRICT"
},
"port_scheduler": {
"cbs": "256",
"cir": "1250000",
"meter_type": "bytes",
"pbs": "1024",
"pir": "25000000",
"type": "DWRR",
"weight": "10"
} }
}, },
@ -1848,14 +1857,15 @@
}, },
"PORT_QOS_MAP": { "PORT_QOS_MAP": {
"Ethernet0": { "Ethernet0": {
"dot1p_to_tc_map" : "Dot1p_to_tc_map1", "dot1p_to_tc_map" : "Dot1p_to_tc_map1",
"dscp_to_tc_map": "Dscp_to_tc_map1", "dscp_to_tc_map": "Dscp_to_tc_map1",
"tc_to_queue_map": "tc_to_q_map1", "tc_to_queue_map": "tc_to_q_map1",
"tc_to_pg_map": "tc_to_pg_map1", "tc_to_pg_map": "tc_to_pg_map1",
"pfc_to_queue_map": "pfc_prio_to_q_map1", "pfc_to_queue_map": "pfc_prio_to_q_map1",
"pfc_to_pg_map" : "pfc_prio_to_pg_map1", "pfc_to_pg_map" : "pfc_prio_to_pg_map1",
"pfc_enable" : "3,4", "pfc_enable" : "3,4",
"pfcwd_sw_enable" : "3,4" "pfcwd_sw_enable" : "3,4",
"scheduler" : "port_scheduler"
}, },
"Ethernet4": { "Ethernet4": {
"dot1p_to_tc_map" : "Dot1p_to_tc_map2", "dot1p_to_tc_map" : "Dot1p_to_tc_map2",

View File

@ -96,6 +96,11 @@
"eStrKey": "LeafRef" "eStrKey": "LeafRef"
}, },
"PORT_QOS_MAP_APPLY_NON_EXISTS_SCHEDULER": {
"desc": "Configure non exists scheduler on port.",
"eStrKey": "LeafRef"
},
"PORT_QOS_MAP_APPLY_NON_EXISTS_PORT": { "PORT_QOS_MAP_APPLY_NON_EXISTS_PORT": {
"desc": "Configure port qos map entry on non exists port.", "desc": "Configure port qos map entry on non exists port.",
"eStr": "Invalid value" "eStr": "Invalid value"

View File

@ -657,6 +657,24 @@
] ]
} }
}, },
"sonic-scheduler:sonic-scheduler":{
"sonic-scheduler:SCHEDULER": {
"SCHEDULER_LIST": [
{
"name":"port_scheduler",
"cbs": "256",
"cir": "1250000",
"meter_type": "bytes",
"pbs": "1024",
"pir": "25000000",
"type": "DWRR",
"weight": "10"
}
]
}
},
"sonic-port-qos-map:sonic-port-qos-map": { "sonic-port-qos-map:sonic-port-qos-map": {
"sonic-port-qos-map:PORT_QOS_MAP": { "sonic-port-qos-map:PORT_QOS_MAP": {
"PORT_QOS_MAP_LIST": [ "PORT_QOS_MAP_LIST": [
@ -670,7 +688,8 @@
"dscp_to_tc_map": "map1", "dscp_to_tc_map": "map1",
"dot1p_to_tc_map": "map1", "dot1p_to_tc_map": "map1",
"pfc_enable": "2,3,4,6", "pfc_enable": "2,3,4,6",
"pfcwd_sw_enable" : "2,3,4,6" "pfcwd_sw_enable" : "2,3,4,6",
"scheduler" : "port_scheduler"
} }
] ]
} }
@ -750,7 +769,36 @@
} }
} }
}, },
"PORT_QOS_MAP_APPLY_NON_EXISTS_SCHEDULER": {
"sonic-port:sonic-port": {
"sonic-port:PORT": {
"PORT_LIST": [
{
"admin_status": "up",
"alias": "eth0",
"description": "Ethernet0",
"lanes": "65",
"mtu": "9000",
"name": "Ethernet0",
"tpid": "0x8100",
"speed": "25000"
}
]
}
},
"sonic-port-qos-map:sonic-port-qos-map": {
"sonic-port-qos-map:PORT_QOS_MAP": {
"PORT_QOS_MAP_LIST": [
{
"ifname": "Ethernet0",
"scheduler": "scheduler1"
}
]
}
}
},
"PORT_QOS_MAP_APPLY_NON_EXISTS_PORT": { "PORT_QOS_MAP_APPLY_NON_EXISTS_PORT": {
"sonic-port:sonic-port": { "sonic-port:sonic-port": {
"sonic-port:PORT": { "sonic-port:PORT": {

View File

@ -34,6 +34,10 @@ module sonic-port-qos-map {
prefix dot1ptm; prefix dot1ptm;
} }
import sonic-scheduler {
prefix sch;
}
organization organization
"SONiC"; "SONiC";
@ -117,6 +121,13 @@ module sonic-port-qos-map {
path "/dot1ptm:sonic-dot1p-tc-map/dot1ptm:DOT1P_TO_TC_MAP/dot1ptm:DOT1P_TO_TC_MAP_LIST/dot1ptm:name"; path "/dot1ptm:sonic-dot1p-tc-map/dot1ptm:DOT1P_TO_TC_MAP/dot1ptm:DOT1P_TO_TC_MAP_LIST/dot1ptm:name";
} }
} }
leaf scheduler {
type leafref {
path "/sch:sonic-scheduler/sch:SCHEDULER/sch:SCHEDULER_LIST/sch:name"; //Reference to SCHEDULER table
}
description "Scheduler for port.";
}
} }
} }
} }