From 137f5bedff9523f436bb0946da09e0c80a58cad4 Mon Sep 17 00:00:00 2001
From: gifrerenom <lluis.gifre@cttc.es>
Date: Tue, 23 Apr 2024 10:30:09 +0000
Subject: [PATCH] Device component - OpenConfig driver:

- Recovered removed blocks
- Adapted IP address assignment to interfaces being part of a network instance
---
 .../interface/subinterface/edit_config.xml    | 16 ++++++++++
 .../interface/edit_config.xml                 | 32 +------------------
 2 files changed, 17 insertions(+), 31 deletions(-)

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 9cff1afd3..eb7f49d76 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,6 +30,22 @@
                     </match>
                 </vlan>
                 {% endif %}
+                {% if address_ip is defined %}
+                <oc-ip:ipv4>
+                    <oc-ip:config>
+                        <oc-ip:mtu>1500</mtu>
+                    </oc-ip:config>
+                    <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/interface/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml
index 96e13cc37..e926796d0 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
@@ -3,7 +3,7 @@
         <name>{{name}}</name>
         <config>
             <name>{{name}}</name>
-            <type xmlns:oc-ni-types="http://openconfig.net/yang/network-instance-types">oc-ni-types:L3VRF</type>
+            <type xmlns:oc-ni-types="http://openconfig.net/yang/network-instance-types">oc-ni-types:{{type}}</type>
         </config>
         <interfaces>
             <interface{% if operation is defined %} xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="{{operation}}"{% endif %}>
@@ -17,33 +17,3 @@
         </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>
-- 
GitLab