-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Why I did it Created SONiC Yang model for the following CBF MAPs: DSCP_TO_FC_MAP EXP_TO_FC How I did it Defined Yang models for CBF MAPs based on Guideline doc: https://github.com/Azure/SONiC/blob/master/doc/mgmt/SONiC_YANG_Model_Guidelines.md and https://github.com/Azure/sonic-utilities/blob/master/doc/Command-Reference.md How to verify it sonic_yang_models package build Signed-off-by: v-cjinga@microsoft.com
- Loading branch information
Cosmin Jinga
committed
Nov 2, 2021
1 parent
51c9c98
commit b9cc150
Showing
7 changed files
with
352 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 24 additions & 0 deletions
24
src/sonic-yang-models/tests/yang_model_tests/tests/cbfmaps.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
{ | ||
"DSCP_TO_FC_MAP_CREATE": { | ||
"desc": "Configure a DSCP to Forwarding class map." | ||
}, | ||
"DSCP_TO_FC_MAP_CREATE_INVALID_DSCP": { | ||
"desc": "Configure a DSCP to Forwarding class map with invalid key.", | ||
"eStr": "Invalid DSCP" | ||
}, | ||
"DSCP_TO_FC_MAP_CREATE_INVALID_FC": { | ||
"desc": "Configure a DSCP to Forwarding class map with invalid value.", | ||
"eStr": "Invalid Forwarding Class" | ||
}, | ||
"EXP_TO_FC_MAP_CREATE": { | ||
"desc": "Configure a EXP to Forwarding class map." | ||
}, | ||
"EXP_TO_FC_MAP_CREATE_INVALID_EXP": { | ||
"desc": "Configure a EXP to Forwarding class map with invalid key.", | ||
"eStr": "Invalid EXP" | ||
}, | ||
"EXP_TO_FC_MAP_CREATE_INVALID_FC": { | ||
"desc": "Configure a EXP to Forwarding class map with invalid value.", | ||
"eStr": "Invalid Forwarding Class" | ||
} | ||
} |
159 changes: 159 additions & 0 deletions
159
src/sonic-yang-models/tests/yang_model_tests/tests_config/cbfmaps.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
{ | ||
"DSCP_TO_FC_MAP_CREATE": { | ||
"sonic-dscp-fc-map:sonic-dscp-fc-map": { | ||
"sonic-dscp-fc-map:DSCP_TO_FC_MAP": { | ||
"DSCP_TO_FC_MAP_LIST": [ | ||
{ | ||
"name": "map1", | ||
"DSCP_TO_FC_MAP": [ | ||
{ | ||
"dscp": "1", | ||
"fc": "1" | ||
}, | ||
{ | ||
"dscp":"2", | ||
"fc":"2" | ||
} | ||
] | ||
}, | ||
{ | ||
"name": "map2", | ||
"DSCP_TO_FC_MAP": [ | ||
{ | ||
"dscp": "1", | ||
"fc": "1" | ||
}, | ||
{ | ||
"dscp":"2", | ||
"fc":"2" | ||
} | ||
] | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
|
||
"DSCP_TO_FC_MAP_CREATE_INVALID_DSCP": { | ||
"sonic-dscp-fc-map:sonic-dscp-fc-map": { | ||
"sonic-dscp-fc-map:DSCP_TO_FC_MAP": { | ||
"DSCP_TO_FC_MAP_LIST": [ | ||
{ | ||
"name": "map3", | ||
"DSCP_TO_FC_MAP": [ | ||
{ | ||
"dscp": "64", | ||
"fc": "1" | ||
}, | ||
{ | ||
"dscp":"2", | ||
"fc":"2" | ||
} | ||
] | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
|
||
"DSCP_TO_FC_MAP_CREATE_INVALID_FC": { | ||
"sonic-dscp-fc-map:sonic-dscp-fc-map": { | ||
"sonic-dscp-fc-map:DSCP_TO_FC_MAP": { | ||
"DSCP_TO_FC_MAP_LIST": [ | ||
{ | ||
"name": "map3", | ||
"DSCP_TO_FC_MAP": [ | ||
{ | ||
"dscp": "1", | ||
"fc": "8" | ||
}, | ||
{ | ||
"dscp":"2", | ||
"fc":"2" | ||
} | ||
] | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
|
||
"EXP_TO_FC_MAP_CREATE": { | ||
"sonic-exp-fc-map:sonic-exp-fc-map": { | ||
"sonic-exp-fc-map:EXP_TO_FC_MAP": { | ||
"EXP_TO_FC_MAP_LIST": [ | ||
{ | ||
"name": "map1", | ||
"EXP_TO_FC_MAP": [ | ||
{ | ||
"exp": "1", | ||
"fc": "1" | ||
}, | ||
{ | ||
"exp":"2", | ||
"fc":"2" | ||
} | ||
] | ||
}, | ||
{ | ||
"name": "map2", | ||
"EXP_TO_FC_MAP": [ | ||
{ | ||
"exp": "1", | ||
"fc": "1" | ||
}, | ||
{ | ||
"exp":"2", | ||
"fc":"2" | ||
} | ||
] | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
|
||
"EXP_TO_FC_MAP_CREATE_INVALID_EXP": { | ||
"sonic-exp-fc-map:sonic-exp-fc-map": { | ||
"sonic-exp-fc-map:EXP_TO_FC_MAP": { | ||
"EXP_TO_FC_MAP_LIST": [ | ||
{ | ||
"name": "map3", | ||
"EXP_TO_FC_MAP": [ | ||
{ | ||
"exp": "8", | ||
"fc": "1" | ||
}, | ||
{ | ||
"exp":"2", | ||
"fc":"2" | ||
} | ||
] | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
|
||
"EXP_TO_FC_MAP_CREATE_INVALID_FC": { | ||
"sonic-exp-fc-map:sonic-exp-fc-map": { | ||
"sonic-exp-fc-map:EXP_TO_FC_MAP": { | ||
"EXP_TO_FC_MAP_LIST": [ | ||
{ | ||
"name": "map3", | ||
"EXP_TO_FC_MAP": [ | ||
{ | ||
"exp": "1", | ||
"fc": "8" | ||
}, | ||
{ | ||
"exp":"2", | ||
"fc":"2" | ||
} | ||
] | ||
} | ||
] | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
module sonic-dscp-fc-map { | ||
|
||
yang-version 1.1; | ||
|
||
namespace "http://github.com/Azure/sonic-dscp-fc-map"; | ||
|
||
prefix dtm; | ||
|
||
organization | ||
"SONiC"; | ||
|
||
contact | ||
"SONiC"; | ||
|
||
description | ||
"DSCP_TO_FC_MAP yang Module for SONiC OS"; | ||
|
||
revision 2021-10-29 { | ||
description | ||
"Initial revision."; | ||
} | ||
|
||
container sonic-dscp-fc-map { | ||
|
||
container DSCP_TO_FC_MAP { | ||
|
||
description "DSCP_TO_FC_MAP part of config_db.json"; | ||
|
||
list DSCP_TO_FC_MAP_LIST { | ||
|
||
key "name"; | ||
|
||
leaf name { | ||
type string { | ||
pattern '[a-zA-Z0-9]{1}([-a-zA-Z0-9_]{0,31})'; | ||
length 1..32 { | ||
error-message "Invalid length for map name."; | ||
error-app-tag map-name-invalid-length; | ||
} | ||
} | ||
} | ||
|
||
list DSCP_TO_FC_MAP { //this is list inside list for storing mapping between two fields | ||
|
||
key "dscp"; | ||
|
||
leaf dscp { | ||
type string { | ||
pattern "6[0-3]|[1-5][0-9]?|[0-9]?" { | ||
error-message "Invalid DSCP"; | ||
error-app-tag dscp-invalid; | ||
} | ||
} | ||
} | ||
|
||
leaf fc { | ||
type string { | ||
pattern "[0-7]?" { | ||
error-message "Invalid Forwarding Class"; | ||
error-app-tag fc-invalid; | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
Oops, something went wrong.