diff --git a/src/sonic-yang-models/tests/files/sample_config_db.json b/src/sonic-yang-models/tests/files/sample_config_db.json index f75a8602fc10..353c26096b37 100644 --- a/src/sonic-yang-models/tests/files/sample_config_db.json +++ b/src/sonic-yang-models/tests/files/sample_config_db.json @@ -1597,7 +1597,7 @@ "BGP_MONITORS": { "5.6.7.8": { "admin_status": "up", - "asn": "65000", + "asn": "0", "holdtime": "180", "keepalive": "60", "local_addr": "10.0.0.11", diff --git a/src/sonic-yang-models/yang-models/sonic-bgp-common.yang b/src/sonic-yang-models/yang-models/sonic-bgp-common.yang index 9e3d1638b25a..e035c1be261c 100644 --- a/src/sonic-yang-models/yang-models/sonic-bgp-common.yang +++ b/src/sonic-yang-models/yang-models/sonic-bgp-common.yang @@ -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"; } diff --git a/src/sonic-yang-models/yang-models/sonic-bgp-internal-neighbor.yang b/src/sonic-yang-models/yang-models/sonic-bgp-internal-neighbor.yang index a58f404cb693..163a6aaed374 100644 --- a/src/sonic-yang-models/yang-models/sonic-bgp-internal-neighbor.yang +++ b/src/sonic-yang-models/yang-models/sonic-bgp-internal-neighbor.yang @@ -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; diff --git a/src/sonic-yang-models/yang-models/sonic-bgp-neighbor.yang b/src/sonic-yang-models/yang-models/sonic-bgp-neighbor.yang index a48b4228637a..c8ce6ec4adf3 100644 --- a/src/sonic-yang-models/yang-models/sonic-bgp-neighbor.yang +++ b/src/sonic-yang-models/yang-models/sonic-bgp-neighbor.yang @@ -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 { diff --git a/src/sonic-yang-models/yang-models/sonic-bgp-voq-chassis-neighbor.yang b/src/sonic-yang-models/yang-models/sonic-bgp-voq-chassis-neighbor.yang index ad4d227ee0a8..db7088ecc312 100644 --- a/src/sonic-yang-models/yang-models/sonic-bgp-voq-chassis-neighbor.yang +++ b/src/sonic-yang-models/yang-models/sonic-bgp-voq-chassis-neighbor.yang @@ -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;