[yang] Change asn to start from 0 for bgp monitor (#15350)

#### Why I did it
The asn 0 in BGP_MONITOR is invalid by YANG definition. However, the asn 0 in BGP_MONITOR is found in many devices. 
It was introduced by minigraph where its value is set to 0.
To unblock Config Updater test, the short term fix is to accept the asn 0 in BGP_MONITOR. 
We can revert this after NGS team make all the ASN change in minigraph.
##### Work item tracking
- Microsoft ADO **(24186140)**:

#### How I did it
Change the range
#### How to verify it
Unit test.
This commit is contained in:
jingwenxie 2023-06-12 21:59:34 -07:00 committed by GitHub
parent 05f1a5a31e
commit 54a1ad10f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 15 additions and 3 deletions

View File

@ -1598,7 +1598,7 @@
"BGP_MONITORS": {
"5.6.7.8": {
"admin_status": "up",
"asn": "65000",
"asn": "0",
"holdtime": "180",
"keepalive": "60",
"local_addr": "10.0.0.11",

View File

@ -534,7 +534,7 @@ module sonic-bgp-common {
grouping sonic-bgp-cmn-neigh {
leaf asn {
type uint32 {
range "1..4294967295";
range "0..4294967295";
}
description "Peer AS number";
}

View File

@ -43,6 +43,9 @@ module sonic-bgp-internal-neighbor {
must "(current() = /dm:sonic-device_metadata/dm:DEVICE_METADATA/dm:localhost/dm:bgp_asn)" {
error-message "Internal iBGP neighbors should have same ASN as defined in device metadata";
}
must ". >= 1" {
error-message "ASN must be greater than 0";
}
}
refine local_addr {
mandatory true;

View File

@ -61,7 +61,13 @@ module sonic-bgp-neighbor {
description "BGP Neighbor address";
}
uses bgpcmn:sonic-bgp-cmn-neigh;
uses bgpcmn:sonic-bgp-cmn-neigh {
refine asn {
must ". >= 1" {
error-message "ASN must be greater than 0";
}
}
}
}
list BGP_NEIGHBOR_LIST {

View File

@ -45,6 +45,9 @@ module sonic-bgp-voq-chassis-neighbor {
must "(current() = /dm:sonic-device_metadata/dm:DEVICE_METADATA/dm:localhost/dm:bgp_asn)" {
error-message "Voq chassis BGP neighbors should have same ASN as defined in device metadata";
}
must ". >= 1" {
error-message "ASN must be greater than 0";
}
}
refine local_addr {
mandatory true;