From ec53aaa825656d75f47d18bc39e01d5dc52f7f55 Mon Sep 17 00:00:00 2001
From: gifrerenom <lluis.gifre@cttc.es>
Date: Tue, 7 Mar 2023 23:28:02 +0000
Subject: [PATCH] Service component:

- Updated config rules for L2NM Emulated/OpenConfig Service Handlers
---
 .../l2nm_emulated/ConfigRules.py              | 64 +++++++++----------
 .../l2nm_openconfig/ConfigRules.py            | 51 ++++++++-------
 2 files changed, 57 insertions(+), 58 deletions(-)

diff --git a/src/service/service/service_handlers/l2nm_emulated/ConfigRules.py b/src/service/service/service_handlers/l2nm_emulated/ConfigRules.py
index 84467dd2d..363983b86 100644
--- a/src/service/service/service_handlers/l2nm_emulated/ConfigRules.py
+++ b/src/service/service/service_handlers/l2nm_emulated/ConfigRules.py
@@ -32,7 +32,7 @@ def setup_config_rules(
     #bgp_as              = json_settings.get('bgp_as',              0    )    # 65000
     #bgp_route_target    = json_settings.get('bgp_route_target',    '0:0')    # 65000:333
 
-    router_id           = json_endpoint_settings.get('router_id',           '0.0.0.0')  # '10.95.0.10'
+    #router_id           = json_endpoint_settings.get('router_id',           '0.0.0.0')  # '10.95.0.10'
     #route_distinguisher = json_endpoint_settings.get('route_distinguisher', '0:0'    )  # '60001:801'
     sub_interface_index = json_endpoint_settings.get('sub_interface_index', 0        )  # 1
     vlan_id             = json_endpoint_settings.get('vlan_id',             1        )  # 400
@@ -46,17 +46,17 @@ def setup_config_rules(
     connection_point_id   = 'VC-1'
 
     json_config_rules = [
-        json_config_rule_set(
-            '/network_instance[default]',
-            {'name': 'default', 'type': 'DEFAULT_INSTANCE', 'router_id': router_id}),
+        #json_config_rule_set(
+        #    '/network_instance[default]',
+        #    {'name': 'default', 'type': 'DEFAULT_INSTANCE', 'router_id': router_id}),
 
-        json_config_rule_set(
-            '/network_instance[default]/protocols[OSPF]',
-            {'name': 'default', 'identifier': 'OSPF', 'protocol_name': 'OSPF'}),
+        #json_config_rule_set(
+        #    '/network_instance[default]/protocols[OSPF]',
+        #    {'name': 'default', 'identifier': 'OSPF', 'protocol_name': 'OSPF'}),
 
-        json_config_rule_set(
-            '/network_instance[default]/protocols[STATIC]',
-            {'name': 'default', 'identifier': 'STATIC', 'protocol_name': 'STATIC'}),
+        #json_config_rule_set(
+        #    '/network_instance[default]/protocols[STATIC]',
+        #    {'name': 'default', 'identifier': 'STATIC', 'protocol_name': 'STATIC'}),
 
         json_config_rule_set(
             '/network_instance[{:s}]'.format(network_instance_name),
@@ -69,7 +69,7 @@ def setup_config_rules(
         json_config_rule_set(
             '/network_instance[{:s}]/interface[{:s}]'.format(network_instance_name, if_cirid_name),
             {'name': network_instance_name, 'id': if_cirid_name, 'interface': if_cirid_name,
-            'subinterface': sub_interface_index}),
+             'subinterface': sub_interface_index}),
 
         json_config_rule_set(
             '/network_instance[{:s}]/connection_point[{:s}]'.format(network_instance_name, connection_point_id),
@@ -94,7 +94,7 @@ def teardown_config_rules(
     #bgp_as              = json_settings.get('bgp_as',              0    )    # 65000
     #bgp_route_target    = json_settings.get('bgp_route_target',    '0:0')    # 65000:333
 
-    router_id           = json_endpoint_settings.get('router_id',           '0.0.0.0')  # '10.95.0.10'
+    #router_id           = json_endpoint_settings.get('router_id',           '0.0.0.0')  # '10.95.0.10'
     #route_distinguisher = json_endpoint_settings.get('route_distinguisher', '0:0'    )  # '60001:801'
     sub_interface_index = json_endpoint_settings.get('sub_interface_index', 0        )  # 1
     #vlan_id             = json_endpoint_settings.get('vlan_id',             1        )  # 400
@@ -105,36 +105,36 @@ def teardown_config_rules(
 
     if_cirid_name         = '{:s}.{:s}'.format(endpoint_name, str(circuit_id))
     network_instance_name = 'ELAN-AC:{:s}'.format(str(circuit_id))
-    connection_point_id   = 'VC-1'
+    #connection_point_id   = 'VC-1'
 
     json_config_rules = [
-        json_config_rule_delete(
-            '/network_instance[{:s}]/connection_point[{:s}]'.format(network_instance_name, connection_point_id),
-            {'name': network_instance_name, 'connection_point': connection_point_id}),
-
-        json_config_rule_delete(
-            '/network_instance[{:s}]/interface[{:s}]'.format(network_instance_name, if_cirid_name),
-            {'name': network_instance_name, 'id': if_cirid_name, 'interface': if_cirid_name,
-            'subinterface': sub_interface_index}),
+        #json_config_rule_delete(
+        #    '/network_instance[{:s}]/connection_point[{:s}]'.format(network_instance_name, connection_point_id),
+        #    {'name': network_instance_name, 'connection_point': connection_point_id}),
 
-        json_config_rule_delete(
-            '/interface[{:s}]/subinterface[{:d}]'.format(if_cirid_name, sub_interface_index),
-            {'name': if_cirid_name, 'index': sub_interface_index}),
+        #json_config_rule_delete(
+        #    '/network_instance[{:s}]/interface[{:s}]'.format(network_instance_name, if_cirid_name),
+        #    {'name': network_instance_name, 'id': if_cirid_name, 'interface': if_cirid_name,
+        #    'subinterface': sub_interface_index}),
 
         json_config_rule_delete(
             '/network_instance[{:s}]'.format(network_instance_name),
             {'name': network_instance_name}),
 
         json_config_rule_delete(
-            '/network_instance[default]/protocols[STATIC]',
-            {'name': 'default', 'identifier': 'STATIC', 'protocol_name': 'STATIC'}),
+            '/interface[{:s}]/subinterface[{:d}]'.format(if_cirid_name, sub_interface_index),
+            {'name': if_cirid_name, 'index': sub_interface_index}),
 
-        json_config_rule_delete(
-            '/network_instance[default]/protocols[OSPF]',
-            {'name': 'default', 'identifier': 'OSPF', 'protocol_name': 'OSPF'}),
+        #json_config_rule_delete(
+        #    '/network_instance[default]/protocols[STATIC]',
+        #    {'name': 'default', 'identifier': 'STATIC', 'protocol_name': 'STATIC'}),
 
-        json_config_rule_delete(
-            '/network_instance[default]',
-            {'name': 'default', 'type': 'DEFAULT_INSTANCE', 'router_id': router_id}),
+        #json_config_rule_delete(
+        #    '/network_instance[default]/protocols[OSPF]',
+        #    {'name': 'default', 'identifier': 'OSPF', 'protocol_name': 'OSPF'}),
+
+        #json_config_rule_delete(
+        #    '/network_instance[default]',
+        #    {'name': 'default', 'type': 'DEFAULT_INSTANCE', 'router_id': router_id}),
     ]
     return json_config_rules
diff --git a/src/service/service/service_handlers/l2nm_openconfig/ConfigRules.py b/src/service/service/service_handlers/l2nm_openconfig/ConfigRules.py
index f3f00a3bd..63e818a83 100644
--- a/src/service/service/service_handlers/l2nm_openconfig/ConfigRules.py
+++ b/src/service/service/service_handlers/l2nm_openconfig/ConfigRules.py
@@ -20,7 +20,7 @@ def setup_config_rules(
     service_uuid : str, connection_uuid : str, device_uuid : str, endpoint_uuid : str, endpoint_name : str,
     service_settings : TreeNode, endpoint_settings : TreeNode
 ) -> List[Dict]:
-    
+
     if service_settings  is None: return []
     if endpoint_settings is None: return []
 
@@ -49,31 +49,21 @@ def setup_config_rules(
 
         json_config_rule_set(
             '/network_instance[{:s}]'.format(network_instance_name),
-            {'name': network_instance_name, 
-             'type': 'L2VSI'}),
+            {'name': network_instance_name, 'type': 'L2VSI'}),
 
         json_config_rule_set(
-            '/interface[{:s}]/subinterface[0]'.format(if_cirid_name),
-            {'name': if_cirid_name, 
-             'type': 'l2vlan', 
-             'index': sub_interface_index, 
-             'vlan_id': vlan_id}),
+            '/interface[{:s}]/subinterface[{:d}]'.format(if_cirid_name, sub_interface_index),
+            {'name': if_cirid_name, 'type': 'l2vlan', 'index': sub_interface_index, 'vlan_id': vlan_id}),
 
         json_config_rule_set(
             '/network_instance[{:s}]/interface[{:s}]'.format(network_instance_name, if_cirid_name),
-            {'name': network_instance_name, 
-             'id': if_cirid_name, 
-             'interface': if_cirid_name,
-             'subinterface': 0
-            }),
+            {'name': network_instance_name, 'id': if_cirid_name, 'interface': if_cirid_name,
+             'subinterface': sub_interface_index}),
 
         json_config_rule_set(
             '/network_instance[{:s}]/connection_point[{:s}]'.format(network_instance_name, connection_point_id),
-            {'name': network_instance_name, 
-             'connection_point': connection_point_id, 
-             'VC_ID': circuit_id,
-             'remote_system': remote_router
-            }),
+            {'name': network_instance_name, 'connection_point': connection_point_id, 'VC_ID': circuit_id,
+             'remote_system': remote_router}),
     ]
     return json_config_rules
 
@@ -95,7 +85,7 @@ def teardown_config_rules(
 
     #router_id           = json_endpoint_settings.get('router_id',           '0.0.0.0')  # '10.95.0.10'
     #route_distinguisher = json_endpoint_settings.get('route_distinguisher', '0:0'    )  # '60001:801'
-    #sub_interface_index = json_endpoint_settings.get('sub_interface_index', 0        )  # 1
+    sub_interface_index = json_endpoint_settings.get('sub_interface_index', 0        )  # 1
     #vlan_id             = json_endpoint_settings.get('vlan_id',             1        )  # 400
     #address_ip          = json_endpoint_settings.get('address_ip',          '0.0.0.0')  # '2.2.2.1'
     #address_prefix      = json_endpoint_settings.get('address_prefix',      24       )  # 30
@@ -104,17 +94,26 @@ def teardown_config_rules(
 
     if_cirid_name         = '{:s}.{:s}'.format(endpoint_name, str(circuit_id))
     network_instance_name = 'ELAN-AC:{:s}'.format(str(circuit_id))
-    #connection_point_id   = 'VC-1'
+    connection_point_id   = 'VC-1'
 
     json_config_rules = [
+
+        json_config_rule_delete(
+            '/network_instance[{:s}]/connection_point[{:s}]'.format(network_instance_name, connection_point_id),
+            {'name': network_instance_name, 'connection_point': connection_point_id, 'VC_ID': circuit_id}),
+
+        json_config_rule_delete(
+            '/network_instance[{:s}]/interface[{:s}]'.format(network_instance_name, if_cirid_name),
+            {'name': network_instance_name, 'id': if_cirid_name, 'interface': if_cirid_name,
+             'subinterface': sub_interface_index}),
+
+        json_config_rule_delete(
+            '/interface[{:s}]/subinterface[{:d}]'.format(if_cirid_name, sub_interface_index),
+            {'name': if_cirid_name, 'index': sub_interface_index}),
+
         json_config_rule_delete(
             '/network_instance[{:s}]'.format(network_instance_name),
             {'name': network_instance_name}),
-        
-        json_config_rule_delete(
-            '/interface[{:s}]/subinterface[0]'.format(if_cirid_name),{
-            'name': if_cirid_name,
-        }),
-        
+
     ]
     return json_config_rules
-- 
GitLab