[YANG] add peer switch model (#11828)
Why I did it
Address issue #10966
sign-off: Jing Zhang zhangjing@microsoft.com
How I did it
Add sonic-peer-switch.yang and unit tests.
How to verify it
Compile Compile target/python-wheels/sonic_yang_mgmt-1.0-py3-none-any.whl and target/python-wheels/sonic_yang_models-1.0-py3-none-any.whl.
Which release branch to backport (provide reason below if selected)
201811
201911
202006
202012
202106
202111
202205
Description for the changelog
Link to config_db schema for YANG module changes
b721ff87b9/src/sonic-yang-models/doc/Configuration.md (peer-switch)
This commit is contained in:
parent
83704d9955
commit
0cdef2ebc6
@ -36,6 +36,7 @@ Table of Contents
|
||||
* [MAP_PFC_PRIORITY_TO_QUEUE](#map_pfc_priority_to_queue)
|
||||
* [NTP Global Configuration](#ntp-global-configuration)
|
||||
* [NTP and SYSLOG servers](#ntp-and-syslog-servers)
|
||||
* [Peer Switch](#peer-switch)
|
||||
* [Policer](#policer)
|
||||
* [Port](#port)
|
||||
* [Port Channel](#port-channel)
|
||||
@ -1160,6 +1161,19 @@ attributes in those objects.
|
||||
}
|
||||
```
|
||||
|
||||
### Peer Switch
|
||||
|
||||
Below is an exmaple of the peer switch table configuration.
|
||||
```
|
||||
{
|
||||
"PEER_SWITCH": {
|
||||
"vlab-05": {
|
||||
"address_ipv4": "10.1.0.33"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Policer
|
||||
|
||||
Below is an example of the policer table configuration.
|
||||
|
@ -152,6 +152,7 @@ setup(
|
||||
'./yang-models/sonic-storm-control.yang',
|
||||
'./yang-models/sonic-tc-priority-group-map.yang',
|
||||
'./yang-models/sonic-tc-queue-map.yang',
|
||||
'./yang-models/sonic-peer-switch.yang',
|
||||
'./yang-models/sonic-pfc-priority-queue-map.yang',
|
||||
'./yang-models/sonic-pfc-priority-priority-group-map.yang',
|
||||
'./yang-models/sonic-port-qos-map.yang',
|
||||
|
@ -1798,6 +1798,11 @@
|
||||
}
|
||||
},
|
||||
|
||||
"PEER_SWITCH": {
|
||||
"vlab-05": {
|
||||
"address_ipv4": "10.1.0.33"
|
||||
}
|
||||
},
|
||||
|
||||
"POLICER": {
|
||||
"everflow_static_policer": {
|
||||
|
@ -0,0 +1,13 @@
|
||||
{
|
||||
"PEER_SWITCH_LOAD_NORMAL": {
|
||||
"desc": "Load PEER_SWITCH for dualtor device."
|
||||
},
|
||||
"PEER_SWITCH_MISSING_DEVICE__NAME": {
|
||||
"desc": "Load PEER_SWITCH missing PEER Device name.",
|
||||
"eStrKey": "Mandatory"
|
||||
},
|
||||
"PEER_SWITCH_INVALID_IP_ADDRESS": {
|
||||
"desc": "Load PEER_SWITCH with invalid IPv4 Address.",
|
||||
"eStrKey": "Pattern"
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
{
|
||||
"PEER_SWITCH_LOAD_NORMAL": {
|
||||
"sonic-peer-switch:sonic-peer-switch": {
|
||||
"sonic-peer-switch:PEER_SWITCH": {
|
||||
"PEER_SWITCH_LIST": [
|
||||
{
|
||||
"peer_switch": "vlab-05",
|
||||
"address_ipv4": "10.1.0.33"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"PEER_SWITCH_MISSING_DEVICE__NAME": {
|
||||
"sonic-peer-switch:sonic-peer-switch": {
|
||||
"sonic-peer-switch:PEER_SWITCH": {
|
||||
"PEER_SWITCH_LIST": [
|
||||
{
|
||||
"address_ipv4": "10.1.0.33"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"PEER_SWITCH_INVALID_IP_ADDRESS": {
|
||||
"sonic-peer-switch:sonic-peer-switch": {
|
||||
"sonic-peer-switch:PEER_SWITCH": {
|
||||
"PEER_SWITCH_LIST": [
|
||||
{
|
||||
"peer_switch": "vlab-05",
|
||||
"address_ipv4": "10.1.0.33/32"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
49
src/sonic-yang-models/yang-models/sonic-peer-switch.yang
Normal file
49
src/sonic-yang-models/yang-models/sonic-peer-switch.yang
Normal file
@ -0,0 +1,49 @@
|
||||
module sonic-peer-switch {
|
||||
yang-version 1.1;
|
||||
namespace "http://github.com/Azure/sonic-peer-switch";
|
||||
prefix peer_switch;
|
||||
|
||||
import ietf-inet-types {
|
||||
prefix inet;
|
||||
}
|
||||
|
||||
import sonic-types {
|
||||
prefix stypes;
|
||||
}
|
||||
|
||||
organization
|
||||
"SONiC";
|
||||
|
||||
contact
|
||||
"SONiC";
|
||||
|
||||
description
|
||||
"SONiC DualToR peer switch data";
|
||||
|
||||
revision 2022-08-23 {
|
||||
description
|
||||
"Initial revision";
|
||||
}
|
||||
|
||||
container sonic-peer-switch {
|
||||
container PEER_SWITCH {
|
||||
list PEER_SWITCH_LIST {
|
||||
max-elements 1;
|
||||
|
||||
key "peer_switch";
|
||||
|
||||
leaf peer_switch {
|
||||
type stypes:hostname;
|
||||
|
||||
description "SONiC DualToR peer host name.";
|
||||
}
|
||||
|
||||
leaf address_ipv4 {
|
||||
type inet:ipv4-address;
|
||||
|
||||
description "SONiC DualToR peer's IPv4 address.";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user