Skip to content

Commit

Permalink
[202211][yang]Add missing fields in PortChannel yang model (#14045) (#…
Browse files Browse the repository at this point in the history
…14145)

Manual cherry-pick of #14045

Why I did it
Fixing issue #13983 Added Missing fields in sonic-portchannel yang model. "fallback" and "fast_rate" fields are present in configuration schema but not in yang model. This leads to traceback when yang is validated

sonic_yang(3):All Keys are not parsed in PORTCHANNEL dict_keys(['PortChannel100'])
sonic_yang(3):exceptionList:["'fast_rate'"]
sonic_yang(3):Data Loading Failed:All Keys are not parsed in PORTCHANNEL dict_keys(['PortChannel100'])
exceptionList:["'fast_rate'"]
Data Loading Failed
All Keys are not parsed in PORTCHANNEL
dict_keys(['PortChannel100'])
exceptionList:["'fast_rate'"]
ConfigMgmt Class creation failed
Failed to break out Port. Error: Failed to load the config. Error: ConfigMgmtDPB Class creation failed

How I did it
Updated yang model

How to verify it
Added tests to verify
  • Loading branch information
dgsudharsan authored Mar 14, 2023
1 parent 05b8945 commit bc414bb
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 3 deletions.
4 changes: 3 additions & 1 deletion src/sonic-yang-models/doc/Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -1365,7 +1365,9 @@ name as object key and member list as attribute.
"members": [
"Ethernet56"
],
"mtu": "9100"
"mtu": "9100",
"fallback": "false",
"fast_rate": "true"
}
}
}
Expand Down
4 changes: 3 additions & 1 deletion src/sonic-yang-models/tests/files/sample_config_db.json
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,9 @@
],
"min_links": "2",
"mtu": "9100",
"tpid": "0x8100"
"tpid": "0x8100",
"fast_rate": "false",
"fallback" : "true"
}
},
"PORTCHANNEL_INTERFACE": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,16 @@
"eStrKey" : "Pattern",
"eStr": ["0x8100|0x9100|0x9200|0x88a8|0x88A8"]
},
"PORT_CHANNEL_INVALID_FALLBACK": {
"desc": "INCORRECT PORTCHANNEL FALLBACK IN PORT_CHANNEL TABLE.",
"eStrKey" : "Pattern",
"eStr": ["false|true|False|True"]
},
"PORT_CHANNEL_INVALID_FAST_RATE": {
"desc": "INCORRECT PORTCHANNEL FAST_RATE IN PORT_CHANNEL TABLE.",
"eStrKey" : "Pattern",
"eStr": ["false|true|False|True"]
},
"PORTCHANNEL_INTERFACE_IP_ADDR_TEST": {
"desc": "Configure IP address on PORTCHANNEL_INTERFACE table."
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
"mtu": "9100",
"tpid": "0x8100",
"lacp_key": "auto",
"name": "PortChannel0001"
"name": "PortChannel0001",
"fast_rate": "false",
"fallback" : "false"
}
]
}
Expand Down Expand Up @@ -125,6 +127,36 @@
}
}
},
"PORT_CHANNEL_INVALID_FALLBACK": {
"sonic-portchannel:sonic-portchannel": {
"sonic-portchannel:PORTCHANNEL": {
"PORTCHANNEL_LIST": [
{
"admin_status": "up",
"mtu": "9100",
"tpid": "0x9100",
"name": "PortChannel0001",
"fallback": "enabled"
}
]
}
}
},
"PORT_CHANNEL_INVALID_FAST_RATE": {
"sonic-portchannel:sonic-portchannel": {
"sonic-portchannel:PORTCHANNEL": {
"PORTCHANNEL_LIST": [
{
"admin_status": "up",
"mtu": "9100",
"tpid": "0x9100",
"name": "PortChannel0001",
"fast_rate": "TRUE"
}
]
}
}
},
"PORTCHANNEL_INTERFACE_IP_ADDR_TEST": {
"sonic-portchannel:sonic-portchannel": {
"sonic-portchannel:PORTCHANNEL": {
Expand Down
9 changes: 9 additions & 0 deletions src/sonic-yang-models/yang-models/sonic-portchannel.yang
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,15 @@ module sonic-portchannel {
type stypes:tpid_type;
}

leaf fallback {
description "Enable LACP fallback feature";
type stypes:boolean_type;
}
leaf fast_rate {
description "Enable LACP fast rate";
type stypes:boolean_type;
}

} /* end of list PORTCHANNEL_LIST */

} /* end of container PORTCHANNEL */
Expand Down

0 comments on commit bc414bb

Please sign in to comment.