From 7f45af9710a262da7199e174816f16117397e5f1 Mon Sep 17 00:00:00 2001
From: Shi Su <67605788+shi-su@users.noreply.github.com>
Date: Mon, 15 Nov 2021 21:57:12 -0800
Subject: [PATCH] [YANG] Add YANG model for synchronous mode (#9194)

Add YANG model leaf for synchronous mode and default value
---
 .../tests/yang_model_tests/tests/device_metadata.json |  9 +++++++++
 .../tests_config/device_metadata.json                 | 11 +++++++++++
 .../yang-models/sonic-device_metadata.yang            |  8 ++++++++
 3 files changed, 28 insertions(+)

diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json b/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json
index 8147f8a3ea..c661de08ee 100644
--- a/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json
+++ b/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json
@@ -32,6 +32,15 @@
     "DEVICE_METADATA_TYPE_INCORRECT_PATTERN": {
 	"desc": "DEVICE_METADATA_TYPE_INCORRECT_PATTERN pattern failure.",
 	"eStrKey" : "Pattern"
+    },
+	"DEVICE_METADATA_DEFAULT_SYNCHRONOUS_MODE": {
+	"desc": "DEVICE_METADATA DEFAULT VALUE FOR SYNCHRONOUS MODE.",
+	"eStrKey" : "Verify",
+	"verify": {
+	    "xpath": "/sonic-device_metadata:sonic-device_metadata/DEVICE_METADATA/localhost/hostname",
+	    "key": "sonic-device_metadata:synchronous_mode",
+	    "value": "enable"
+	}
     },
     "DEVICE_METADATA_CORRECT_BUFFER_MODEL_PATTERN": {
         "desc": "DEVICE_METADATA correct value for BUFFER_MODEL field"
diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json
index 501ad9bb2c..976716e087 100644
--- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json
+++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json
@@ -44,6 +44,17 @@
             }
         }
     },
+    "DEVICE_METADATA_DEFAULT_SYNCHRONOUS_MODE": {
+        "sonic-device_metadata:sonic-device_metadata": {
+            "sonic-device_metadata:DEVICE_METADATA": {
+                "sonic-device_metadata:localhost": {
+                    "bgp_asn": "65001",
+                    "hostname": "DUT-CSW",
+                    "platform": "Stone-DX010"
+                }
+            }
+        }
+    },
     "DEV_META_DEV_NEIGH_VERSION_TABLE": {
         "sonic-device_metadata:sonic-device_metadata": {
             "sonic-device_metadata:DEVICE_METADATA": {
diff --git a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang
index 400cbf3bcd..2177158581 100644
--- a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang
+++ b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang
@@ -113,6 +113,14 @@ module sonic-device_metadata {
                         otherwise, sonic-bgpcfgd handles the FRR configurations based on the predefined templates.";
                     default "false";
                 }
+
+                leaf synchronous_mode {
+                    type enumeration {
+                        enum enable;
+                        enum disable;
+                    }
+                    default enable;
+                }
             }
             /* end of container localhost */
         }