diff --git a/src/device/service/drivers/openconfig/OpenConfigDriver.py b/src/device/service/drivers/openconfig/OpenConfigDriver.py
index 452f2f7c816e4f7bf2222a41dd185e52c99cb0e8..476c2f0ccc4e80854b641ca2f0f8285509b71ddd 100644
--- a/src/device/service/drivers/openconfig/OpenConfigDriver.py
+++ b/src/device/service/drivers/openconfig/OpenConfigDriver.py
@@ -227,11 +227,8 @@ def edit_config(
                 chk_length(str_resource_name, resource, min_length=2, max_length=2)
                 resource_key,resource_value = resource
                 chk_string(str_resource_name + '.key', resource_key, allow_empty=False)
-
                 str_config_messages = compose_config(                                                                          # get template for configuration
-                    resource_key, resource_value, delete=delete, vendor=netconf_handler.vendor, message_renderer='pyangbind')
-                # str_config_messages = compose_config(                                                                          # get template for configuration
-                #     resource_key, resource_value, delete=delete, vendor=netconf_handler.vendor, message_renderer=netconf_handler.message_renderer)
+                    resource_key, resource_value, delete=delete, vendor=netconf_handler.vendor, message_renderer=netconf_handler.message_renderer)
                 for str_config_message in str_config_messages:                                                                 # configuration of the received templates 
                     if str_config_message is None: raise UnsupportedResourceKeyException(resource_key)
                     logger.debug('[{:s}] str_config_message[{:d}] = {:s}'.format(
diff --git a/src/device/service/drivers/openconfig/templates/__init__.py b/src/device/service/drivers/openconfig/templates/__init__.py
index 87eea1f0b6673c4bff3222598d81a16b383b4c3b..b1d8de5113edd6ec6c91bd66d8bed73ebe5eab97 100644
--- a/src/device/service/drivers/openconfig/templates/__init__.py
+++ b/src/device/service/drivers/openconfig/templates/__init__.py
@@ -121,7 +121,7 @@ def compose_config( # template generation
             templates.append(JINJA_ENV.get_template('acl/acl-set/acl-entry/edit_config.xml'))
             templates.append(JINJA_ENV.get_template('acl/interfaces/ingress/edit_config.xml'))
         data : Dict[str, Any] = json.loads(resource_value)
-        operation = 'delete' if delete else 'merge'
+        operation = 'delete' if delete else ''
 
         return [
             '<config>{:s}</config>'.format(
diff --git a/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml b/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml
index e441004006e4cdd445f1d0244a9582b57956af40..9cff1afd3375c34f8f9d2c3e8447b7b1172b40e5 100644
--- a/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml
+++ b/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml
@@ -30,19 +30,6 @@
                     </match>
                 </vlan>
                 {% endif %}
-                {% if address_ip is defined %}
-                <oc-ip:ipv4>
-                    <oc-ip:addresses>
-                        <oc-ip:address>
-                            <oc-ip:ip>{{address_ip}}</oc-ip:ip>
-                            <oc-ip:config>
-                                <oc-ip:ip>{{address_ip}}</oc-ip:ip>
-                                <oc-ip:prefix-length>{{address_prefix}}</oc-ip:prefix-length>
-                            </oc-ip:config>
-                        </oc-ip:address>
-                    </oc-ip:addresses>
-                </oc-ip:ipv4>
-                {% endif %}
             </subinterface>
         </subinterfaces>
         {% endif %}
diff --git a/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml
index 6b6b733dab12a107bf0420907da9c9683173faeb..891881867f66f52ad87cc8d539be31502dddc48c 100644
--- a/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml
+++ b/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml
@@ -1,5 +1,5 @@
 <network-instances xmlns="http://openconfig.net/yang/network-instance">
-    <network-instance{% if operation is defined %} xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="{{operation}}"{% endif %}>
+    <network-instance{% if operation is defined  %} xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="{{operation}}"{% endif %}>
         <name>{{name}}</name>
         {% if operation is not defined or operation != 'delete' %}
         <config>
diff --git a/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml
index 855f321b4a69ba1e660487c108a05d0ec4b5d475..96e13cc37b2783879df762a568be918ff95b2453 100644
--- a/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml
+++ b/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml
@@ -1,6 +1,10 @@
 <network-instances xmlns="http://openconfig.net/yang/network-instance">
     <network-instance>
         <name>{{name}}</name>
+        <config>
+            <name>{{name}}</name>
+            <type xmlns:oc-ni-types="http://openconfig.net/yang/network-instance-types">oc-ni-types:L3VRF</type>
+        </config>
         <interfaces>
             <interface{% if operation is defined %} xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="{{operation}}"{% endif %}>
                 <id>{{id}}</id>
@@ -13,3 +17,33 @@
         </interfaces>
     </network-instance>
 </network-instances>
+<interfaces xmlns="http://openconfig.net/yang/interfaces">
+    <interface>
+        <name>{{interface}}</name>
+        <config>
+            <name>{{interface}}</name>
+        </config>
+        <subinterfaces>
+            <subinterface>
+                <index>{{subinterface}}</index>
+                <config>
+                    <index>{{subinterface}}</index>
+                </config>
+                <ipv4 xmlns="http://openconfig.net/yang/interfaces/ip">
+                    <config>
+                        <mtu>1500</mtu>
+                    </config>
+                    <addresses>
+                        <address>
+                            <ip>{{address_ip}}</ip>
+                            <config>
+                                <ip>{{address_ip}}</ip>
+                                <prefix-length>{{address_prefix}}</prefix-length>
+                            </config>
+                        </address>
+                    </addresses>
+                </ipv4>
+            </subinterface>
+        </subinterfaces>
+    </interface>
+</interfaces>
diff --git a/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml
index c9c068e480c0569cfe5f97b78b28fbe03e2595f8..da66d97f053f509a1a595cdb1abc0bd1791ad0bc 100644
--- a/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml
+++ b/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml
@@ -9,15 +9,37 @@
                 <config>
                     <identifier xmlns:oc-pol-types="http://openconfig.net/yang/policy-types">oc-pol-types:{{identifier}}</identifier>
                     <name>{{protocol_name}}</name>
+                    <enabled>true</enabled>
                 </config>
                 {% if identifier=='BGP' %}
                 <bgp>
+                    <name>{{as}}</name>
                     <global>
                         <config>
                             <as>{{as}}</as>
                             <router-id>{{router_id}}</router-id>
                         </config>
                     </global>
+                    {% if neighbors is defined %}
+                    <neighbors>
+                        {% for neighbor in neighbors %}
+                        <neighbor>
+                            <neighbor-address>{{neighbor['ip_address']}}</neighbor-address>
+                            <afi-safis>
+                                <afi-safi xmlns:oc-bgp-types="http://openconfig.net/yang/bgp-types">
+                                    <afi-safi-name>oc-bgp-types:IPV4_UNICAST</afi-safi-name>
+                                    <enabled>true</enabled>
+                                </afi-safi>
+                            </afi-safis>
+                            <config>
+                                <neighbor-address>{{neighbor['ip_address']}}</neighbor-address>
+                                <enabled>true</enabled>
+                                <peer-as>{{as}}</peer-as>
+                            </config>
+                        </neighbor>
+                        {% endfor %}
+                    </neighbors>
+                    {% endif %}
                 </bgp>
                 {% endif %}
                 {% endif %}
diff --git a/src/device/service/drivers/openconfig/templates/network_instance/table_connections/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/table_connections/edit_config.xml
index 46bf5e387789c7efc800ad96ed759748273bed34..bd1dac1b326c9d14645d059bafefd73319497593 100644
--- a/src/device/service/drivers/openconfig/templates/network_instance/table_connections/edit_config.xml
+++ b/src/device/service/drivers/openconfig/templates/network_instance/table_connections/edit_config.xml
@@ -11,6 +11,7 @@
                     <src-protocol xmlns:oc-pol-types="http://openconfig.net/yang/policy-types">oc-pol-types:{{src_protocol}}</src-protocol>
                     <dst-protocol xmlns:oc-pol-types="http://openconfig.net/yang/policy-types">oc-pol-types:{{dst_protocol}}</dst-protocol>
                     <address-family xmlns:oc-types="http://openconfig.net/yang/openconfig-types">oc-types:{{address_family}}</address-family>
+                    <dst-instance xmlns="http://www.ipinfusion.com/yang/ocnos/ipi-oc-ni-augments">{{as}}</dst-instance>
                     {% if default_import_policy is defined %}<default-import-policy>{{default_import_policy}}</default-import-policy>{% endif %}
                 </config>
                 {% endif %}
diff --git a/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml b/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml
index eda2d99c9f6299f7345767db8bed8e8cc58284ae..1bf1cf3220342d1c0aa98e18c53ed7b954a16e27 100644
--- a/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml
+++ b/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml
@@ -8,9 +8,9 @@
             </config>
             <statements>
                 <statement>
-                    <name>{{statement_name}}</name>
+                    <name>{{sequence_id}}</name>
                     <config>
-                        <name>{{statement_name}}</name>
+                        <name>{{sequence_id}}</name>
                     </config>
                     <conditions>
                          <config>
diff --git a/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py b/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py
index cee44641a73853597844b4de2c1e643fd900ad2a..87556c36b92fc59a0f24539518c08990e84f84ca 100644
--- a/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py
+++ b/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py
@@ -195,6 +195,7 @@ def setup_config_rules(
                 'dst_protocol'         : 'BGP',
                 'address_family'       : 'IPV4',
                 'default_import_policy': 'ACCEPT_ROUTE',
+                'as'                   : bgp_as,
         }),
 
         json_config_rule_set(
@@ -204,6 +205,7 @@ def setup_config_rules(
                 'dst_protocol'         : 'BGP',
                 'address_family'       : 'IPV4',
                 'default_import_policy': 'ACCEPT_ROUTE',
+                'as'                   : bgp_as,
         }),
 
     ]