diff --git a/inventory_provider/config.py b/inventory_provider/config.py index 1f1ff01071fc4491140186bb2f439a2b9de60941..8e11f6e5efd37e533e78f7da7b47878731da171f 100644 --- a/inventory_provider/config.py +++ b/inventory_provider/config.py @@ -31,6 +31,16 @@ CONFIG_SCHEMA = { 'required': ['private-key', 'known-hosts'], 'additionalProperties': False }, + 'nokia-ssh-credentials': { + 'type': 'object', + 'properties': { + 'username': {'type': 'string'}, + 'private-key': {'type': 'string'}, + 'known-hosts': {'type': 'string'}, + 'password': {'type': 'string'} + }, + 'additionalProperties': False + }, 'ims': { 'type': 'object', 'properties': { @@ -204,6 +214,7 @@ CONFIG_SCHEMA = { 'properties': { 'ops-db': {'$ref': '#/definitions/database-credentials'}, 'ssh': {'$ref': '#/definitions/ssh-credentials'}, + 'nokia-ssh': {'$ref': '#/definitions/nokia-ssh-credentials'}, 'redis': {'$ref': '#/definitions/redis-credentials'}, 'sentinel': {'$ref': '#/definitions/redis-sentinel-config'}, 'ims': {'$ref': '#/definitions/ims'}, @@ -230,6 +241,7 @@ CONFIG_SCHEMA = { { 'required': [ 'ssh', + 'nokia-ssh', 'redis', 'redis-databases', 'ims', @@ -240,6 +252,7 @@ CONFIG_SCHEMA = { { 'required': [ 'ssh', + 'nokia-ssh', 'sentinel', 'redis-databases', 'ims', diff --git a/inventory_provider/db/ims.py b/inventory_provider/db/ims.py index b27f6773a6c450134b76ea2a54217c608d870d88..6932166bd840a79ce1f41d0a4a4125f3a1c3f3ac 100644 --- a/inventory_provider/db/ims.py +++ b/inventory_provider/db/ims.py @@ -61,6 +61,7 @@ CUSTOMER_RELATED_CONTACT_PROPERTIES = { } # http://149.210.162.190:81/ImsVersions/4.19.9/html/a8dc6266-d934-8162-4a55-9e1648187f2c.htm # noqa EQUIP_DEF_PROPERTIES = { + 'Vendor': 8, 'Nodes': 4096 } # http://149.210.162.190:81/ImsVersions/20.1/html/6fd3a968-26e2-e40f-e3cd-c99afa34c3e6.htm diff --git a/inventory_provider/db/ims_data.py b/inventory_provider/db/ims_data.py index 9763f70e19bb99eca1a52480f929a4d2a1995cda..43f65cc3199bad1ee24b24feec911fb165afd766 100644 --- a/inventory_provider/db/ims_data.py +++ b/inventory_provider/db/ims_data.py @@ -633,3 +633,17 @@ def lookup_geant_nodes(ds: IMS): 'Node', 'customer.Name == "GEANT"', ims.EQUIP_DEF_PROPERTIES['Nodes'])) + + +@log_entry_and_exit +def get_router_vendors(ds: IMS): + ed_nav_properties = [ + ims.EQUIP_DEF_PROPERTIES['Nodes'], + ims.EQUIP_DEF_PROPERTIES['Vendor'] + ] + for ed in ds.get_filtered_entities( + 'equipmentdefinition', + 'equipmentkind == ROUTER', + ed_nav_properties): + for r in ed.get('nodes', []): + yield r['name'], ed.get('vendor', {}).get('name', None) diff --git a/inventory_provider/nokia.py b/inventory_provider/nokia.py new file mode 100644 index 0000000000000000000000000000000000000000..3b90f846dc523ca0e231662bd968690f559ca4a0 --- /dev/null +++ b/inventory_provider/nokia.py @@ -0,0 +1,92 @@ +import ipaddress +import logging +import re + +from ncclient import manager + + +logger = logging.getLogger(__name__) + + +ROOT_NS = 'urn:ietf:params:xml:ns:netconf:base:1.0' +NOKIA_NS = 'urn:nokia.com:sros:ns:yang:sr:conf' +NS = { + 'r': ROOT_NS, + 'n': NOKIA_NS, +} + +BREAKOUT_PATTERN = re.compile( + r'c(?P<count>\d+)-(?P<speed>\d+)(?P<unit>[a-zA-Z]+)' +) +''' +For translating the breakout string to a speed +example: + c1-400g - This has a single 400G port, groups would be as follows: + 1 or 'count' - 1 + 2 or 'speed' - 400 + 3 or 'unit' - g + c4-100g - This has four 100G ports, not all of them may be used + groups would be as follows: + 1 or 'count' - 4 + 2 or 'speed' - 100 + 3 or 'unit' - g +''' +SPEED_UNITS = { + 'g': 'Gbs', + 'G': 'Gbs', +} + + +def load_config(hostname, ssh_params, hostkey_verify=False): + logger.info(f'capturing netconf data for "{hostname}"') + with manager.connect( + host=hostname, + hostkey_verify=hostkey_verify, + **ssh_params + ) as m: + return m.get_config(source='running').data + + +def get_lags(netconf_config): + def _lag_info(e): + _name = e.find('./n:lag-name', namespaces=NS).text + + def get_port(p): + return p.find('./n:port-id', namespaces=NS).text + + port_elements = e.findall('./n:port', namespaces=NS) + ports = [get_port(p) for p in port_elements] + admin_state = e.find('./n:admin-state', namespaces=NS).text + description_e = e.find('n:description', namespaces=NS) + ifc = { + 'name': _name, + 'description': ( + description_e.text if description_e is not None else '' + ), + 'admin-status': admin_state, + 'ports': ports, + } + return ifc + + lags = netconf_config.findall('./n:configure/n:lag', namespaces=NS) + for lag in lags: + yield _lag_info(lag) + + +def interface_addresses(netconf_config): + def _interface_info(e, _name): + for details_parent in e: + address = details_parent[0].text + prefix_length = details_parent[1].text + ip_string = f'{address}/{prefix_length}' + yield { + 'name': ipaddress.ip_interface(ip_string).ip.exploded, + 'interface address': ip_string, + 'interface name': _name, + } + + interfaces = netconf_config.findall('./n:configure/n:router/n:interface', namespaces=NS) + for interface in interfaces: + interface_name = interface.find('./n:interface-name', namespaces=NS).text + for element in interface.xpath('./n:ipv4|./n:ipv6', namespaces=NS): + yield from _interface_info(element, interface_name) diff --git a/inventory_provider/routes/jobs.py b/inventory_provider/routes/jobs.py index 019c1f88090a343f9e28ce6db6a2c4aed64d65ac..58cc45f6d5e2444ccaf9d9b2e290c409174a3156 100644 --- a/inventory_provider/routes/jobs.py +++ b/inventory_provider/routes/jobs.py @@ -124,9 +124,17 @@ def update(): @routes.route("reload-router-config/<equipment_name>", methods=['GET']) +@routes.route("reload-router-config-juniper/<equipment_name>", methods=['GET']) @common.require_accepts_json def reload_router_config(equipment_name): - result = worker.reload_router_config_chorded.delay(equipment_name) + result = worker.reload_router_config_juniper.delay(equipment_name) + return jsonify({'task id': result.id}) + + +@routes.route("reload-router-config-nokia/<equipment_name>", methods=['GET']) +@common.require_accepts_json +def reload_router_config_nokia(equipment_name): + result = worker.reload_router_config_nokia.delay(equipment_name) return jsonify({'task id': result.id}) diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py index 8cad6ed8ab72bd56361e144abfe659b4bab3273c..a638589739a53e960982c16227bfba59d1ad9f3b 100644 --- a/inventory_provider/tasks/worker.py +++ b/inventory_provider/tasks/worker.py @@ -15,6 +15,7 @@ from collections import defaultdict from kombu.exceptions import KombuError from lxml import etree +from ncclient.transport import TransportError from inventory_provider.db import ims_data from inventory_provider.db.ims import IMS @@ -25,7 +26,7 @@ from inventory_provider.tasks.common \ latch_db, get_latch, set_latch, update_latch_status, \ ims_sorted_service_type_key, set_single_latch from inventory_provider.tasks import monitor -from inventory_provider import config +from inventory_provider import config, nokia from inventory_provider import environment from inventory_provider import snmp from inventory_provider import juniper @@ -438,6 +439,13 @@ def check_task_status(task_id, parent=None, forget=False): yield result +def get_router_vendors(): + c = InventoryTask.config["ims"] + ds = \ + IMS(c['api'], c['username'], c['password'], c.get('verify-ssl', False)) + return {r.lower(): v.lower() for r, v in ims_data.get_router_vendors(ds)} + + @app.task(base=InventoryTask, bind=True, name='update_entry_point') @log_task_entry_and_exit def update_entry_point(self): @@ -453,17 +461,52 @@ def update_entry_point(self): ) lab_routers = InventoryTask.config.get('lab-routers', []) + ims_rv = get_router_vendors() + + def _get_router_vendor(router): + return ims_rv.get(router.lower().split('.geant.')[0], 'unknown') + + def _get_lab_router_vendor(router): + _rv = ims_rv.get(router.lower().split('.geant.')[0]) + if not _rv: + _rv = ims_rv.get(router.lower().split('.office.')[0], + 'unknown') + return _rv + + rv = {r: _get_router_vendor(r) for r in routers} + lab_rv = {r: _get_lab_router_vendor(r) for r in lab_routers} chord( ( ims_task.s().on_error(task_error_handler.s()), chord( - (reload_router_config_chorded.s(r) for r in routers), - empty_task.si('router tasks complete') + (reload_router_config_juniper.s(r) for r, v in rv.items() + if v == 'juniper'), + empty_task.si('juniper router tasks complete') + ), + chord( + (reload_lab_router_config_juniper.s(r) + for r, v in lab_rv.items() if v == 'juniper'), + empty_task.si('juniper lab router tasks complete') + ), + chord( + (reload_router_config_nokia.s(r) for r, v in rv.items() + if v == 'nokia'), + empty_task.si('nokia router tasks complete') + ), + chord( + (reload_router_config_nokia.s(r, True) + for r, v in lab_rv.items() if v == 'nokia'), + empty_task.si('nokia lab router tasks complete') ), chord( - (reload_lab_router_config_chorded.s(r) - for r in lab_routers), - empty_task.si('lab router tasks complete') + (reload_router_config_try_all.s(r) for r, v in rv.items() + if v == 'unknown'), + empty_task.si('unknown router tasks complete') + ), + chord( + (reload_router_config_try_all.s(r, True) + for r, v in lab_rv.items() if v == 'unknown'), + empty_task.si('unknown lab router tasks complete') ) ), final_task.si().on_error(task_error_handler.s()) @@ -526,85 +569,173 @@ def retrieve_and_persist_neteng_managed_device_list( return netdash_equipment -@app.task(base=InventoryTask, bind=True, name='reload_lab_router_config') +@app.task(base=InventoryTask, bind=True, name='reload_router_config_try_all') @log_task_entry_and_exit -def reload_lab_router_config_chorded(self, hostname): +def reload_router_config_try_all(self, hostname, lab=False): try: - self.log_info(f'loading netconf data for lab {hostname}') - - # load new netconf data, in this thread - netconf_str = retrieve_and_persist_netconf_config( - hostname, lab=True, update_callback=self.log_warning) - netconf_doc = etree.fromstring(netconf_str) - interface_info_str = retrieve_and_persist_interface_info( - hostname, update_callback=self.log_warning) - if interface_info_str: - interface_info = etree.fromstring(interface_info_str) - else: - interface_info = None + _reload_router_config_nokia( + hostname, lab, self.log_info, self.log_warning) + except Exception as e1: + self.log_warning( + f'error loading {hostname} info: {e1} - trying juniper') + try: + if lab: + _reload_lab_router_config_juniper( + hostname, self.log_info, self.log_warning) + else: + _reload_router_config_juniper( + hostname, self.log_info, self.log_warning) + except Exception as e2: + errmsg = f'unhandled exception loading {hostname} info: {e2}' + logger.exception(errmsg) + update_latch_status( + InventoryTask.config, pending=True, failure=True) + self.log_error(errmsg) + + +@app.task(base=InventoryTask, bind=True, name='reload_router_config_nokia') +@log_task_entry_and_exit +def reload_router_config_nokia(self, hostname, lab=False): + try: + _reload_router_config_nokia( + hostname, lab, self.log_info, self.log_warning) + except Exception as e: + errmsg = f'unhandled exception loading {hostname} info: {e}' + logger.exception(errmsg) + update_latch_status(InventoryTask.config, pending=True, failure=True) + self.log_error(errmsg) + # TODO: re-raise and handle in some common way for all tasks + + +@log_task_entry_and_exit +def _reload_router_config_nokia( + hostname, lab=False, + info_callback=lambda s: None, + warning_callback=lambda s: None): + info_callback( + f'loading netconf data for {"lab " if lab else ""} {hostname}') + netconf_doc = retrieve_and_persist_netconf_config_nokia( + hostname, lab, warning_callback) + r = get_next_redis(InventoryTask.config) + refresh_nokia_interface_list(hostname, netconf_doc, r, lab) + - refresh_juniper_interface_list(hostname, netconf_doc, interface_info, lab=True) +def retrieve_and_persist_netconf_config_nokia( + hostname, lab=False, update_callback=lambda s: None): + redis_key = f'netconf-nokia:{hostname}' + if lab: + redis_key = f'lab:{redis_key}' + + try: + netconf_config = nokia.load_config( + hostname, InventoryTask.config["nokia-ssh"]) + netconf_str = etree.tostring(netconf_config) + except (ConnectionError, TransportError) as e: + msg = f'error loading netconf data from {hostname}' + logger.exception(e) + logger.exception(msg) + update_callback(msg) + r = get_current_redis(InventoryTask.config) - # load snmp indexes - community = juniper.snmp_community_string(netconf_doc) - if not community: + netconf_str = r.get(redis_key) + if not netconf_str: + update_callback(f'no cached netconf for {redis_key}') raise InventoryTaskError( - f'error extracting community string for {hostname}') - else: - self.log_info(f'refreshing snmp interface indexes for {hostname}') - logical_systems = juniper.logical_systems(netconf_doc) + f'netconf error with {hostname}' + f' and no cached netconf data found') + netconf_config = etree.fromstring(netconf_str) + update_callback(f'Returning cached netconf data for {hostname}') + + r = get_next_redis(InventoryTask.config) + r.set(redis_key, netconf_str) + logger.info(f'netconf info loaded from {hostname}') + return netconf_config + + +def refresh_nokia_interface_list(hostname, netconf_config, redis, lab=False): + + bundles_keybase = f'netconf-interface-bundles:{hostname}' + interfaces_all_key = f'netconf-interfaces-hosts:{hostname}' + if lab: + bundles_keybase = f'lab:{bundles_keybase}' + interfaces_all_key = f'lab:{interfaces_all_key}' + + logger.debug(f'removing cached netconf-interfaces for {hostname}') + rp = redis.pipeline() + rp.delete(interfaces_all_key) + for k in redis.scan_iter(f'{bundles_keybase}:*', count=1000): + rp.delete(k) + rp.execute() + rp = redis.pipeline() + for lag in nokia.get_lags(netconf_config): + rp.set( + f'{bundles_keybase}:{lag["name"]}', + json.dumps(lag['ports'])) - # load snmp data, in this thread - snmp_refresh_interfaces_chorded( - hostname, community, logical_systems, self.log_info) + rp.set( + interfaces_all_key, + json.dumps(list(nokia.interface_addresses(netconf_config)))) + rp.execute() - self.log_info(f'updated configuration for lab {hostname}') + +@app.task(base=InventoryTask, bind=True, name='reload_lab_router_juniper') +@log_task_entry_and_exit +def reload_lab_router_config_juniper(self, hostname): + try: + _reload_lab_router_config_juniper( + hostname, self.log_info, self.log_warning) except Exception as e: errmsg = f'unhandled exception loading {hostname} info: {e}' logger.exception(errmsg) update_latch_status(InventoryTask.config, pending=True, failure=True) self.log_error(errmsg) # TODO: re-raise and handle in some common way for all tasks - # raise -@app.task(base=InventoryTask, bind=True, name='reload_router_config') @log_task_entry_and_exit -def reload_router_config_chorded(self, hostname): - try: - self.log_info(f'loading netconf data for {hostname}') - netconf_str = retrieve_and_persist_netconf_config( - hostname, update_callback=self.log_warning) +def _reload_lab_router_config_juniper( + hostname, + info_callback=lambda s: None, + warning_callback=lambda s: None +): + info_callback(f'loading netconf data for lab {hostname}') + + # load new netconf data, in this thread + netconf_str = retrieve_and_persist_netconf_config_juniper( + hostname, lab=True, update_callback=warning_callback) + netconf_doc = etree.fromstring(netconf_str) + interface_info_str = retrieve_and_persist_interface_info_juniper( + hostname, update_callback=warning_callback) + if interface_info_str: + interface_info = etree.fromstring(interface_info_str) + else: + interface_info = None - netconf_doc = etree.fromstring(netconf_str) - interface_info_str = retrieve_and_persist_interface_info( - hostname, update_callback=self.log_warning) - if interface_info_str: - interface_info = etree.fromstring(interface_info_str) - else: - interface_info = None + refresh_juniper_interface_list( + hostname, netconf_doc, interface_info, lab=True) - # clear cached classifier responses for this router, and - # refresh peering data - logger.info(f'refreshing peers & clearing cache for {hostname}') - refresh_juniper_bgp_peers(hostname, netconf_doc) - refresh_juniper_interface_list(hostname, netconf_doc, interface_info) + # load snmp indexes + community = juniper.snmp_community_string(netconf_doc) + if not community: + raise InventoryTaskError( + f'error extracting community string for {hostname}') + else: + info_callback(f'refreshing snmp interface indexes for {hostname}') + logical_systems = juniper.logical_systems(netconf_doc) - # load snmp indexes - community = juniper.snmp_community_string(netconf_doc) - if not community: - raise InventoryTaskError( - f'error extracting community string for {hostname}') - else: - self.log_info(f'refreshing snmp interface indexes for {hostname}') - logical_systems = juniper.logical_systems(netconf_doc) + # load snmp data, in this thread + snmp_refresh_interfaces_juniper( + hostname, community, logical_systems, info_callback) - # load snmp data, in this thread - snmp_refresh_interfaces_chorded( - hostname, community, logical_systems, self.log_info) - snmp_refresh_peerings_chorded(hostname, community, logical_systems) + info_callback(f'updated configuration for lab {hostname}') - logger.info(f'updated configuration for {hostname}') + +@app.task(base=InventoryTask, bind=True, name='reload_router_config_juniper') +@log_task_entry_and_exit +def reload_router_config_juniper(self, hostname): + try: + _reload_router_config_juniper( + hostname, self.log_info, self.log_warning) except Exception as e: errmsg = f'unhandled exception loading {hostname} info: {e}' logger.exception(errmsg) @@ -614,7 +745,48 @@ def reload_router_config_chorded(self, hostname): # raise -def retrieve_and_persist_netconf_config( +@log_task_entry_and_exit +def _reload_router_config_juniper( + hostname, + info_callback=lambda s: None, + warning_callback=lambda s: None +): + info_callback(f'loading netconf data for {hostname}') + netconf_str = retrieve_and_persist_netconf_config_juniper( + hostname, update_callback=warning_callback) + + netconf_doc = etree.fromstring(netconf_str) + interface_info_str = retrieve_and_persist_interface_info_juniper( + hostname, update_callback=warning_callback) + if interface_info_str: + interface_info = etree.fromstring(interface_info_str) + else: + interface_info = None + + # clear cached classifier responses for this router, and + # refresh peering data + logger.info(f'refreshing peers & clearing cache for {hostname}') + refresh_juniper_bgp_peers(hostname, netconf_doc) + refresh_juniper_interface_list(hostname, netconf_doc, interface_info) + + # load snmp indexes + community = juniper.snmp_community_string(netconf_doc) + if not community: + raise InventoryTaskError( + f'error extracting community string for {hostname}') + else: + info_callback(f'refreshing snmp interface indexes for {hostname}') + logical_systems = juniper.logical_systems(netconf_doc) + + # load snmp data, in this thread + snmp_refresh_interfaces_juniper( + hostname, community, logical_systems, info_callback) + snmp_refresh_peerings_juniper(hostname, community, logical_systems) + + logger.info(f'updated configuration for {hostname}') + + +def retrieve_and_persist_netconf_config_juniper( hostname, lab=False, update_callback=lambda s: None): redis_key = f'netconf:{hostname}' if lab: @@ -624,8 +796,10 @@ def retrieve_and_persist_netconf_config( netconf_doc = juniper.load_config( hostname, InventoryTask.config["ssh"]) netconf_str = etree.tostring(netconf_doc, encoding='unicode') - except (ConnectionError, juniper.NetconfHandlingError, InventoryTaskError): + except (ConnectionError, juniper.NetconfHandlingError, + InventoryTaskError) as e: msg = f'error loading netconf data from {hostname}' + logger.exception(e) logger.exception(msg) update_callback(msg) r = get_current_redis(InventoryTask.config) @@ -645,7 +819,7 @@ def retrieve_and_persist_netconf_config( return netconf_str -def retrieve_and_persist_interface_info( +def retrieve_and_persist_interface_info_juniper( hostname, lab=False, update_callback=lambda s: None): redis_key = f'intinfo:{hostname}' if lab: @@ -676,7 +850,7 @@ def retrieve_and_persist_interface_info( @log_task_entry_and_exit -def snmp_refresh_interfaces_chorded( +def snmp_refresh_interfaces_juniper( hostname, community, logical_systems, update_callback=lambda s: None): try: interfaces = list( @@ -714,7 +888,7 @@ def snmp_refresh_interfaces_chorded( @log_task_entry_and_exit -def snmp_refresh_peerings_chorded( +def snmp_refresh_peerings_juniper( hostname, community, logical_systems, update_callback=lambda S: None): try: peerings = list( diff --git a/test/conftest.py b/test/conftest.py index 8728c3ca39ba00d09cfb05e629f007d4b76790f0..245f1f3b97d78dba94b814833eed2a6fc13c4b6d 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -54,6 +54,11 @@ def data_config_filename(): "private-key": "private-key-filename", "known-hosts": "known-hosts=filename" }, + "nokia-ssh": { + "username": "uSeR-NaMe", + "password": "dummy-password", + "known-hosts": "known-hosts=filename" + }, "redis": { "hostname": "xxxxxx", "port": 6379, @@ -199,9 +204,9 @@ class MockedRedis: def delete(self, key): if isinstance(key, bytes): key = key.decode('utf-8') - # redis ignores delete for keys that don't exist - # ... but in our test environment we don't expect this - del self.db[key] + + if key in self.db: + del self.db[key] def scan_iter(self, glob=None, count='unused'): if not glob: diff --git a/test/data/rt0.lon.uk.lab.office.geant.net-netconf-nokia.xml b/test/data/rt0.lon.uk.lab.office.geant.net-netconf-nokia.xml new file mode 100644 index 0000000000000000000000000000000000000000..607135b0d8d2c0bedcb057f191fbedac7c570dd4 --- /dev/null +++ b/test/data/rt0.lon.uk.lab.office.geant.net-netconf-nokia.xml @@ -0,0 +1,5097 @@ +<?xml version="1.0" encoding="UTF-8"?><data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> + <configure xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> + <card> + <slot-number>1</slot-number> + <card-type>xcm2-7s</card-type> + <mda> + <mda-slot>1</mda-slot> + <admin-state>enable</admin-state> + <mda-type>x2-s36-800g-qsfpdd-12.0t</mda-type> + <level>cr9600g</level> + </mda> + </card> + <card> + <slot-number>2</slot-number> + <card-type>xcm2-7s</card-type> + <mda> + <mda-slot>1</mda-slot> + <admin-state>enable</admin-state> + <mda-type>x2-s36-800g-qsfpdd-12.0t</mda-type> + <level>cr9600g</level> + </mda> + </card> + <chassis> + <chassis-class>router</chassis-class> + <chassis-number>1</chassis-number> + <power-shelf> + <power-shelf-id>1</power-shelf-id> + <power-shelf-type>ps-b10-shelf-ac/hv</power-shelf-type> + <power-module> + <power-module-id>8</power-module-id> + <power-module-type>ps-b-ac/hv-6000</power-module-type> + </power-module> + <power-module> + <power-module-id>9</power-module-id> + <power-module-type>ps-b-ac/hv-6000</power-module-type> + </power-module> + <power-module> + <power-module-id>10</power-module-id> + <power-module-type>ps-b-ac/hv-6000</power-module-type> + </power-module> + </power-shelf> + </chassis> + <filter> + <match-list> + <ip-prefix-list> + <prefix-list-name>BGP_PEERS_BASE</prefix-list-name> + <apply-path> + <bgp-peers> + <criterion-index>1</criterion-index> + <group>.*</group> + <neighbor>.*</neighbor> + <router-instance>Base</router-instance> + </bgp-peers> + </apply-path> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>COMMUNITY_NTP</prefix-list-name> + <prefix> + <ip-prefix>192.53.103.108/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>192.87.106.2/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>193.62.22.66/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>193.204.114.233/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>195.113.144.201/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANTNCC_ADDRESS_SPACE</prefix-list-name> + <prefix> + <ip-prefix>62.40.108.192/27</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.125.250/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_ADDRESS_SPACE</prefix-list-name> + <prefix> + <ip-prefix>62.40.96.0/19</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_DASHBOARD</prefix-list-name> + <prefix> + <ip-prefix>62.40.104.48/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.104.152/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.114.0/28</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.114.16/28</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.152/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.153/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.204/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.239/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.244/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.248/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.52/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.97/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.98/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_DC</prefix-list-name> + <prefix> + <ip-prefix>62.40.120.134/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.120.136/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.121.121/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.15/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.116/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.129/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.130/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>195.169.24.66/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_DNS</prefix-list-name> + <prefix> + <ip-prefix>62.40.104.250/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.106.9/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.113.29/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.116.114/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.116.122/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.122.146/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.200/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_DNS_EXT</prefix-list-name> + <prefix> + <ip-prefix>62.40.104.250/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.116.114/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.116.122/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.200/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_GAP</prefix-list-name> + <prefix> + <ip-prefix>83.97.95.177/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_IMS</prefix-list-name> + <prefix> + <ip-prefix>83.97.94.123/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.124/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.125/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.109/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_JUMP_SERVERS</prefix-list-name> + <prefix> + <ip-prefix>83.97.94.114/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_LIBRENMS</prefix-list-name> + <prefix> + <ip-prefix>83.97.95.37/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_LOOKING_GLASS</prefix-list-name> + <prefix> + <ip-prefix>83.97.92.82/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.141/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.39/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.62/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.63/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.134/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.135/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.136/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.137/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.138/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.139/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_NEMO_SERVERS</prefix-list-name> + <prefix> + <ip-prefix>83.97.93.45/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.46/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_NE_SERVERS</prefix-list-name> + <prefix> + <ip-prefix>62.40.106.202/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.111.115/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.111.253/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.111.254/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.0/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.182/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.37/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.177/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_NTP</prefix-list-name> + <prefix> + <ip-prefix>62.40.97.11/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.97.12/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.97.14/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.123.21/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.123.23/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.123.103/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_OC_SERVERS</prefix-list-name> + <prefix> + <ip-prefix>83.97.92.61/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.87/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.92/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.99/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.23/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.37/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_OFFICE_NETWORKS</prefix-list-name> + <prefix> + <ip-prefix>62.40.96.0/24</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.98.0/23</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.99.0/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.100.0/24</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.102.0/24</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.104.40/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.104.120/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.106.202/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.109.16/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.111.27/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.114.0/23</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.116.0/23</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.118.0/24</ip-prefix> + </prefix> + <prefix> + <ip-prefix>64.40.109.16/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>64.40.112.0/22</ip-prefix> + </prefix> + <prefix> + <ip-prefix>64.40.116.0/23</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_RANCID</prefix-list-name> + <prefix> + <ip-prefix>83.97.92.216/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.217/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.220/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_ROUTERS</prefix-list-name> + <prefix> + <ip-prefix>62.40.96.0/23</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.119.0/27</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_SNMP</prefix-list-name> + <prefix> + <ip-prefix>62.40.99.32/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.99.40/30</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.99.44/31</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.99.51/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.99.52/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.99.53/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.100.166/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.100.190/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.100.194/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.100.198/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.100.202/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.106.106/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.106.182/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.106.200/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.111.47/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.111.254/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.113.88/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.114.0/28</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.114.3/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.114.16/28</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.114.18/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.114.19/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.114.114/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.118.50/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.118.224/28</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.120.18/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.120.90/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.122.138/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.122.226/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.123.162/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.91.0/24</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.0/24</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.61/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.79/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.94/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.114/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.159/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.183/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.219/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.92.228/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.22/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.23/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.37/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.39/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.45/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.52/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.53/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.59/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.84/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.122/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.137/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.151/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.152/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.153/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.154/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.155/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.195/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.196/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.204/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.238/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.239/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.244/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.248/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.249/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.93.251/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.1/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.2/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.9/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.12/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.13/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.14/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.15/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.51/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.52/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.97/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.98/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.151/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.160/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.180/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.185/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.188/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.245/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.94.246/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.9/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.10/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.11/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.12/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.37/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.84/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.193/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.194/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>83.97.95.195/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>128.86.32.16/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>130.59.11.41/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>130.59.138.43/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>146.97.48.0/24</ip-prefix> + </prefix> + <prefix> + <ip-prefix>193.62.22.48/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>193.136.2.230/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>193.136.7.64/26</ip-prefix> + </prefix> + <prefix> + <ip-prefix>193.137.4.32/28</ip-prefix> + </prefix> + <prefix> + <ip-prefix>193.177.128.0/22</ip-prefix> + </prefix> + <prefix> + <ip-prefix>193.219.48.249/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>193.219.48.250/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>194.81.18.224/27</ip-prefix> + </prefix> + <prefix> + <ip-prefix>212.51.192.2/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>212.51.192.18/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>212.51.192.185/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_SUPERPOP</prefix-list-name> + <prefix> + <ip-prefix>83.97.92.0/22</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_VPN_NETWORKS</prefix-list-name> + <prefix> + <ip-prefix>62.40.99.129/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.99.148/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.99.160/27</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.99.194/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.99.201/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.101.0/24</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.111.0/24</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.112.0/24</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.122.248/29</ip-prefix> + </prefix> + <prefix> + <ip-prefix>195.169.24.0/24</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>GEANT_VULN_SCANNER</prefix-list-name> + <prefix> + <ip-prefix>83.97.93.49/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>NCC_OOB_ADDRESS_SPACE</prefix-list-name> + <prefix> + <ip-prefix>172.16.5.252/30</ip-prefix> + </prefix> + <prefix> + <ip-prefix>172.16.14.0/24</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>NOMIOS_SUPPORT</prefix-list-name> + <prefix> + <ip-prefix>83.97.93.238/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>PUBLIC_NTP</prefix-list-name> + <prefix> + <ip-prefix>216.239.35.0/32</ip-prefix> + </prefix> + <prefix> + <ip-prefix>216.239.35.4/32</ip-prefix> + </prefix> + </ip-prefix-list> + <ip-prefix-list> + <prefix-list-name>TWAMP_CLIENTS</prefix-list-name> + <description>TWAMP Clients</description> + <prefix> + <ip-prefix>62.40.98.0/24</ip-prefix> + </prefix> + </ip-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>BGP_PEERS_BASE</prefix-list-name> + <apply-path> + <bgp-peers> + <criterion-index>1</criterion-index> + <group>.*</group> + <neighbor>.*</neighbor> + <router-instance>Base</router-instance> + </bgp-peers> + </apply-path> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_ADDRESS_SPACE</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798::/32</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_DASHBOARD</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::18e/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::18f/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::1d6/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::209/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::234/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::236/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::237/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::23f/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::245/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:f99c:18::/64</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:f99c:22::/64</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_DNS</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:2:284d::30/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::1ba/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:bb:4d::2/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:ee:f::2/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:ee:10::2/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_DNS_EXT</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:bb:4d::2/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:ee:f::2/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:ee:10::2/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_GAP</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::318/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_IMS</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::251/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::252/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::253/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_JUMP_SERVERS</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::246/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_LIBRENMS</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::317/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_LOOKING_GLASS</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::25c/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::25d/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::25e/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::25f/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::260/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::261/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_NEMO_SERVERS</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::195/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::196/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_NE_SERVERS</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::288/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::317/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::318/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:799:cb2:111::254/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_OC_SERVERS</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::55/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::6f/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::7b/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::83/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::12b/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::139/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_RANCID</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::117/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::118/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:3::128/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_ROUTERS</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:aa:1::/64</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_SNMP</prefix-list-name> + <prefix> + <ipv6-prefix>2001:620:0:a::50/128</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:620:0:1b:5054:ff:fef1:21ba/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_SUPERPOP</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::/64</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_VPN_NETWORKS</prefix-list-name> + <prefix> + <ipv6-prefix>2001:610:9d8::/62</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:610:9d8:4::/62</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:610:9d8:14::/64</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:798:4::/48</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:799:cb2::/56</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:799:cb2:100::/64</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:799:cb2:101::/64</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:799:cb2:102::/64</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:799:cb2:103::/64</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:799:cb2:104::/64</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:799:cb2:108::/64</ipv6-prefix> + </prefix> + <prefix> + <ipv6-prefix>2001:799:cb2:110::/64</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + <ipv6-prefix-list> + <prefix-list-name>GEANT_VULN_SCANNER</prefix-list-name> + <prefix> + <ipv6-prefix>2001:798:3::145/128</ipv6-prefix> + </prefix> + </ipv6-prefix-list> + </match-list> + </filter> + <lag> + <lag-name>lag-1</lag-name> + <admin-state>enable</admin-state> + <mode>network</mode> + <lacp> + <mode>active</mode> + <administrative-key>1</administrative-key> + </lacp> + <adaptive-load-balancing> + </adaptive-load-balancing> + <bfd-liveness> + <soft-reset-extension>true</soft-reset-extension> + <ipv4> + <admin-state>enable</admin-state> + <max-setup-time>30000</max-setup-time> + <multiplier>3</multiplier> + <receive-interval>500</receive-interval> + <transmit-interval>500</transmit-interval> + <local-ip-address>62.40.119.9</local-ip-address> + <remote-ip-address>62.40.119.2</remote-ip-address> + </ipv4> + </bfd-liveness> + <port> + <port-id>1/1/c8/1</port-id> + </port> + <port> + <port-id>1/1/c9/1</port-id> + </port> + </lag> + <lag> + <lag-name>lag-2</lag-name> + <admin-state>enable</admin-state> + <mode>network</mode> + <lacp> + <mode>active</mode> + <administrative-key>2</administrative-key> + </lacp> + <adaptive-load-balancing> + </adaptive-load-balancing> + <port> + <port-id>2/1/c8/1</port-id> + </port> + </lag> + <lag> + <lag-name>lag-3</lag-name> + <admin-state>enable</admin-state> + <encap-type>dot1q</encap-type> + <mode>hybrid</mode> + <lacp> + <mode>active</mode> + <administrative-key>3</administrative-key> + </lacp> + <adaptive-load-balancing> + </adaptive-load-balancing> + <port> + <port-id>1/1/c2/2</port-id> + </port> + </lag> + <lag> + <lag-name>lag-31</lag-name> + <admin-state>enable</admin-state> + <description>TEST-VC4-IMS-L2-circuit</description> + <encap-type>dot1q</encap-type> + <mode>access</mode> + <lacp> + <mode>active</mode> + <administrative-key>31</administrative-key> + </lacp> + <port> + <port-id>1/1/c2/1</port-id> + </port> + </lag> + <log> + <filter> + <filter-name>1</filter-name> + <description>SYSLOG_SERVER_83.97.94.11</description> + <named-entry> + <entry-name>user</entry-name> + <action>forward</action> + <match> + <application> + <eq>user</eq> + </application> + </match> + </named-entry> + <named-entry> + <entry-name>switch_fabric</entry-name> + <action>forward</action> + <match> + <message> + <eq>switch fabric</eq> + </message> + </match> + </named-entry> + <named-entry> + <entry-name>MINOR</entry-name> + <action>forward</action> + <match> + <message> + <eq>MINOR</eq> + </message> + </match> + </named-entry> + <named-entry> + <entry-name>MAJOR</entry-name> + <action>forward</action> + <match> + <message> + <eq>MAJOR</eq> + </message> + </match> + </named-entry> + <named-entry> + <entry-name>DHCP</entry-name> + <action>drop</action> + <match> + <message> + <eq>DHCPS</eq> + </message> + </match> + </named-entry> + </filter> + <filter> + <filter-name>61</filter-name> + <description>FORWARD_CHASSIS_PORT_LAG_ISIS_BGP</description> + <named-entry> + <entry-name>chassis</entry-name> + <action>forward</action> + <match> + <application> + <eq>chassis</eq> + </application> + </match> + </named-entry> + <named-entry> + <entry-name>port</entry-name> + <action>forward</action> + <match> + <application> + <eq>port</eq> + </application> + </match> + </named-entry> + <named-entry> + <entry-name>lag</entry-name> + <action>forward</action> + <match> + <application> + <eq>lag</eq> + </application> + </match> + </named-entry> + <named-entry> + <entry-name>isis</entry-name> + <action>forward</action> + <match> + <application> + <eq>isis</eq> + </application> + </match> + </named-entry> + <named-entry> + <entry-name>bgp</entry-name> + <action>forward</action> + <match> + <application> + <eq>bgp</eq> + </application> + </match> + </named-entry> + </filter> + <filter> + <filter-name>1001</filter-name> + <named-entry> + <entry-name>10</entry-name> + <description>Collect only events of major severity or higher</description> + <action>forward</action> + <match> + <severity> + <gte>major</gte> + </severity> + </match> + </named-entry> + </filter> + <log-id> + <name>1</name> + <admin-state>enable</admin-state> + <description>splunk-par-forwarder.geant.net</description> + <source> + <main>true</main> + <security>true</security> + <change>true</change> + <debug>true</debug> + </source> + <destination> + <syslog>1</syslog> + </destination> + </log-id> + <log-id> + <name>61</name> + <admin-state>enable</admin-state> + <description>FORWARD_CHASSIS_PORT_LAG_ISIS_BGP_TO_SNMP</description> + <filter>61</filter> + <source> + <main>true</main> + </source> + <destination> + <snmp> + </snmp> + </destination> + </log-id> + <log-id> + <name>99</name> + <description>Default System Log</description> + <source> + <main>true</main> + </source> + <destination> + <memory> + <max-entries>500</max-entries> + </memory> + </destination> + </log-id> + <log-id> + <name>100</name> + <description>Default Serious Errors Log</description> + <filter>1001</filter> + <source> + <main>true</main> + </source> + <destination> + <memory> + <max-entries>500</max-entries> + </memory> + </destination> + </log-id> + <snmp-trap-group> + <log-name>61</log-name> + <trap-target> + <name>83.97.92.228</name> + <address>83.97.92.228</address> + <version>snmpv2c</version> + <notify-community>nocalarm_test</notify-community> + </trap-target> + <trap-target> + <name>83.97.93.53</name> + <address>83.97.93.53</address> + <version>snmpv2c</version> + <notify-community>nocalarm_test</notify-community> + </trap-target> + <trap-target> + <name>83.97.94.185</name> + <address>83.97.94.185</address> + <version>snmpv2c</version> + <notify-community>nocalarm_test</notify-community> + </trap-target> + </snmp-trap-group> + <syslog> + <syslog-name>1</syslog-name> + <description>SYSLOG_SERVER_83.97.94.11</description> + <address>83.97.94.11</address> + <facility>local7</facility> + <severity>debug</severity> + <log-prefix>lo0.rt0.lon.uk.lab</log-prefix> + <port>13514</port> + </syslog> + </log> + <port> + <port-id>1/1/c2</port-id> + <admin-state>enable</admin-state> + <connector> + <breakout>c4-10g</breakout> + </connector> + </port> + <port> + <port-id>1/1/c2/1</port-id> + <admin-state>enable</admin-state> + <description>rt1.lon 4/0/4</description> + <ethernet> + <mode>access</mode> + <encap-type>dot1q</encap-type> + <mtu>9018</mtu> + <lldp> + <dest-mac> + <mac-type>nearest-bridge</mac-type> + <notification>true</notification> + <port-id-subtype>tx-if-name</port-id-subtype> + <receive>true</receive> + <transmit>true</transmit> + <tx-tlvs> + <port-desc>true</port-desc> + <sys-name>true</sys-name> + <sys-desc>true</sys-desc> + <sys-cap>true</sys-cap> + </tx-tlvs> + <tx-mgmt-address> + <mgmt-address-system-type>system</mgmt-address-system-type> + <admin-state>enable</admin-state> + </tx-mgmt-address> + </dest-mac> + </lldp> + </ethernet> + </port> + <port> + <port-id>1/1/c2/2</port-id> + <admin-state>enable</admin-state> + <description>qfx1.lab xe-0/0/14</description> + <ethernet> + <mode>hybrid</mode> + <encap-type>dot1q</encap-type> + <mtu>9018</mtu> + <lldp> + <dest-mac> + <mac-type>nearest-bridge</mac-type> + <notification>true</notification> + <port-id-subtype>tx-if-name</port-id-subtype> + <receive>true</receive> + <transmit>true</transmit> + <tx-tlvs> + <port-desc>true</port-desc> + <sys-name>true</sys-name> + <sys-desc>true</sys-desc> + <sys-cap>true</sys-cap> + </tx-tlvs> + <tx-mgmt-address> + <mgmt-address-system-type>system</mgmt-address-system-type> + <admin-state>enable</admin-state> + </tx-mgmt-address> + </dest-mac> + </lldp> + </ethernet> + </port> + <port> + <port-id>1/1/c2/3</port-id> + <admin-state>enable</admin-state> + <ethernet> + <lldp> + <dest-mac> + <mac-type>nearest-bridge</mac-type> + <notification>true</notification> + <receive>true</receive> + <transmit>true</transmit> + <tx-tlvs> + <port-desc>true</port-desc> + <sys-name>true</sys-name> + <sys-desc>true</sys-desc> + <sys-cap>true</sys-cap> + </tx-tlvs> + <tx-mgmt-address> + <mgmt-address-system-type>system</mgmt-address-system-type> + <admin-state>enable</admin-state> + </tx-mgmt-address> + </dest-mac> + </lldp> + </ethernet> + </port> + <port> + <port-id>1/1/c7</port-id> + <admin-state>enable</admin-state> + <transceiver> + <digital-coherent-optics>true</digital-coherent-optics> + </transceiver> + <connector> + <breakout>c1-400g</breakout> + </connector> + <dwdm> + <frequency>191550000</frequency> + <coherent> + <target-power>0.0</target-power> + </coherent> + </dwdm> + </port> + <port> + <port-id>1/1/c7/1</port-id> + <admin-state>enable</admin-state> + <ethernet> + <mode>hybrid</mode> + <encap-type>dot1q</encap-type> + <mtu>9192</mtu> + <lldp> + <dest-mac> + <mac-type>nearest-bridge</mac-type> + <notification>true</notification> + <port-id-subtype>tx-if-name</port-id-subtype> + <receive>true</receive> + <transmit>true</transmit> + <tx-tlvs> + <port-desc>true</port-desc> + <sys-name>true</sys-name> + </tx-tlvs> + </dest-mac> + </lldp> + </ethernet> + </port> + <port> + <port-id>1/1/c8</port-id> + <admin-state>enable</admin-state> + <description>BACKBONE LON-AMS-1</description> + <connector> + <breakout>c1-100g</breakout> + </connector> + </port> + <port> + <port-id>1/1/c8/1</port-id> + <admin-state>enable</admin-state> + <ethernet> + <mtu>9192</mtu> + <lldp> + <dest-mac> + <mac-type>nearest-bridge</mac-type> + <notification>true</notification> + <port-id-subtype>tx-if-name</port-id-subtype> + <receive>true</receive> + <transmit>true</transmit> + <tx-tlvs> + <port-desc>true</port-desc> + <sys-name>true</sys-name> + <sys-desc>true</sys-desc> + <sys-cap>true</sys-cap> + </tx-tlvs> + <tx-mgmt-address> + <mgmt-address-system-type>system</mgmt-address-system-type> + <admin-state>enable</admin-state> + </tx-mgmt-address> + </dest-mac> + </lldp> + <network> + <egress> + <queue-policy>GEANT-BASIC</queue-policy> + </egress> + </network> + </ethernet> + </port> + <port> + <port-id>1/1/c9</port-id> + <admin-state>enable</admin-state> + <description>BACKBONE LON-AMS-2</description> + <connector> + <breakout>c1-100g</breakout> + </connector> + </port> + <port> + <port-id>1/1/c9/1</port-id> + <admin-state>enable</admin-state> + <ethernet> + <mtu>9192</mtu> + <lldp> + <dest-mac> + <mac-type>nearest-bridge</mac-type> + <notification>true</notification> + <port-id-subtype>tx-if-name</port-id-subtype> + <receive>true</receive> + <transmit>true</transmit> + <tx-tlvs> + <port-desc>true</port-desc> + <sys-name>true</sys-name> + <sys-desc>true</sys-desc> + <sys-cap>true</sys-cap> + </tx-tlvs> + <tx-mgmt-address> + <mgmt-address-system-type>system</mgmt-address-system-type> + <admin-state>enable</admin-state> + </tx-mgmt-address> + </dest-mac> + </lldp> + <network> + <egress> + <queue-policy>GEANT-BASIC</queue-policy> + </egress> + </network> + </ethernet> + </port> + <port> + <port-id>1/1/c13</port-id> + <admin-state>enable</admin-state> + <transceiver> + <digital-coherent-optics>true</digital-coherent-optics> + </transceiver> + <connector> + <breakout>c1-400g</breakout> + </connector> + <dwdm> + <frequency>191550000</frequency> + <coherent> + <target-power>0.0</target-power> + </coherent> + </dwdm> + </port> + <port> + <port-id>1/1/c13/1</port-id> + <admin-state>enable</admin-state> + <ethernet> + <mode>hybrid</mode> + <encap-type>dot1q</encap-type> + <mtu>9192</mtu> + <lldp> + <dest-mac> + <mac-type>nearest-bridge</mac-type> + <notification>true</notification> + <port-id-subtype>tx-if-name</port-id-subtype> + <receive>true</receive> + <transmit>true</transmit> + <tx-tlvs> + <port-desc>true</port-desc> + <sys-name>true</sys-name> + </tx-tlvs> + </dest-mac> + </lldp> + </ethernet> + </port> + <port> + <port-id>2/1/c7</port-id> + <admin-state>enable</admin-state> + <transceiver> + <digital-coherent-optics>true</digital-coherent-optics> + </transceiver> + <connector> + <breakout>c1-400g</breakout> + </connector> + <dwdm> + <frequency>191550000</frequency> + <coherent> + <target-power>0.0</target-power> + </coherent> + </dwdm> + </port> + <port> + <port-id>2/1/c7/1</port-id> + <admin-state>enable</admin-state> + <ethernet> + <mode>hybrid</mode> + <encap-type>dot1q</encap-type> + <mtu>9192</mtu> + <lldp> + <dest-mac> + <mac-type>nearest-bridge</mac-type> + <notification>true</notification> + <port-id-subtype>tx-if-name</port-id-subtype> + <receive>true</receive> + <transmit>true</transmit> + <tx-tlvs> + <port-desc>true</port-desc> + <sys-name>true</sys-name> + </tx-tlvs> + </dest-mac> + </lldp> + </ethernet> + </port> + <port> + <port-id>2/1/c8</port-id> + <admin-state>enable</admin-state> + <connector> + <breakout>c1-100g</breakout> + </connector> + </port> + <port> + <port-id>2/1/c8/1</port-id> + <admin-state>enable</admin-state> + <ethernet> + <mtu>9192</mtu> + <lldp> + <dest-mac> + <mac-type>nearest-bridge</mac-type> + <notification>true</notification> + <port-id-subtype>tx-if-name</port-id-subtype> + <receive>true</receive> + <transmit>true</transmit> + <tx-tlvs> + <port-desc>true</port-desc> + <sys-name>true</sys-name> + <sys-desc>true</sys-desc> + <sys-cap>true</sys-cap> + </tx-tlvs> + <tx-mgmt-address> + <mgmt-address-system-type>system</mgmt-address-system-type> + <admin-state>enable</admin-state> + </tx-mgmt-address> + </dest-mac> + </lldp> + <network> + <egress> + <queue-policy>GEANT-BASIC</queue-policy> + </egress> + </network> + </ethernet> + </port> + <port> + <port-id>2/1/c13</port-id> + <admin-state>enable</admin-state> + <transceiver> + <digital-coherent-optics>true</digital-coherent-optics> + </transceiver> + <connector> + <breakout>c1-400g</breakout> + </connector> + <dwdm> + <frequency>191550000</frequency> + <coherent> + <target-power>0.0</target-power> + </coherent> + </dwdm> + </port> + <port> + <port-id>2/1/c13/1</port-id> + <admin-state>enable</admin-state> + <ethernet> + <mode>hybrid</mode> + <encap-type>dot1q</encap-type> + <mtu>9192</mtu> + <lldp> + <dest-mac> + <mac-type>nearest-bridge</mac-type> + <notification>true</notification> + <port-id-subtype>tx-if-name</port-id-subtype> + <receive>true</receive> + <transmit>true</transmit> + <tx-tlvs> + <port-desc>true</port-desc> + <sys-name>true</sys-name> + </tx-tlvs> + </dest-mac> + </lldp> + </ethernet> + </port> + <qos> + <network-queue> + <network-queue-policy>GEANT-BASIC</network-queue-policy> + <description>GEANT_BASIC_NETWORK_QUEUE</description> + <fc> + <fc-name>be</fc-name> + <queue>1</queue> + <multicast-queue>9</multicast-queue> + </fc> + <fc> + <fc-name>h2</fc-name> + <queue>5</queue> + <multicast-queue>13</multicast-queue> + </fc> + <fc> + <fc-name>ef</fc-name> + <queue>6</queue> + <multicast-queue>14</multicast-queue> + </fc> + <fc> + <fc-name>nc</fc-name> + <queue>8</queue> + <multicast-queue>16</multicast-queue> + </fc> + <queue> + <queue-id>1</queue-id> + <cbs>1.0</cbs> + <mbs>50.0</mbs> + <rate> + <pir>100</pir> + <cir>2</cir> + </rate> + <drop-tail> + <low> + <percent-reduction-from-mbs>0</percent-reduction-from-mbs> + </low> + </drop-tail> + </queue> + <queue> + <queue-id>5</queue-id> + <cbs>10.0</cbs> + <mbs>50.0</mbs> + <rate> + <pir>100</pir> + <cir>100</cir> + </rate> + <drop-tail> + <low> + <percent-reduction-from-mbs>10</percent-reduction-from-mbs> + </low> + </drop-tail> + </queue> + <queue> + <queue-id>6</queue-id> + <cbs>3.0</cbs> + <mbs>25.0</mbs> + <rate> + <pir>100</pir> + <cir>15</cir> + </rate> + <drop-tail> + <low> + <percent-reduction-from-mbs>10</percent-reduction-from-mbs> + </low> + </drop-tail> + </queue> + <queue> + <queue-id>8</queue-id> + <cbs>3.0</cbs> + <mbs>25.0</mbs> + <rate> + <pir>100</pir> + <cir>5</cir> + </rate> + <drop-tail> + <low> + <percent-reduction-from-mbs>10</percent-reduction-from-mbs> + </low> + </drop-tail> + </queue> + <queue> + <queue-id>9</queue-id> + <multipoint>true</multipoint> + <cbs>1.0</cbs> + <mbs>50.0</mbs> + <rate> + <pir>100</pir> + <cir>2</cir> + </rate> + <drop-tail> + <low> + <percent-reduction-from-mbs>0</percent-reduction-from-mbs> + </low> + </drop-tail> + </queue> + <queue> + <queue-id>13</queue-id> + <multipoint>true</multipoint> + <cbs>10.0</cbs> + <mbs>50.0</mbs> + <rate> + <pir>100</pir> + <cir>100</cir> + </rate> + <drop-tail> + <low> + <percent-reduction-from-mbs>10</percent-reduction-from-mbs> + </low> + </drop-tail> + </queue> + <queue> + <queue-id>14</queue-id> + <multipoint>true</multipoint> + <cbs>3.0</cbs> + <mbs>25.0</mbs> + <rate> + <pir>100</pir> + <cir>15</cir> + </rate> + <drop-tail> + <low> + <percent-reduction-from-mbs>10</percent-reduction-from-mbs> + </low> + </drop-tail> + </queue> + <queue> + <queue-id>16</queue-id> + <multipoint>true</multipoint> + <cbs>3.0</cbs> + <mbs>25.0</mbs> + <rate> + <pir>100</pir> + <cir>5</cir> + </rate> + <drop-tail> + <low> + <percent-reduction-from-mbs>10</percent-reduction-from-mbs> + </low> + </drop-tail> + </queue> + </network-queue> + <network> + <network-policy-name>GEANT-BASIC</network-policy-name> + <description>GEANT-BASIC</description> + <policy-id>100</policy-id> + <ingress> + <default-action> + <fc>be</fc> + <profile>in</profile> + </default-action> + <dscp> + <dscp-name>ef</dscp-name> + <fc>ef</fc> + <profile>in</profile> + </dscp> + <dscp> + <dscp-name>nc1</dscp-name> + <fc>nc</fc> + <profile>in</profile> + </dscp> + <dscp> + <dscp-name>nc2</dscp-name> + <fc>nc</fc> + <profile>in</profile> + </dscp> + <lsp-exp> + <lsp-exp-value>0</lsp-exp-value> + <fc>be</fc> + <profile>out</profile> + </lsp-exp> + <lsp-exp> + <lsp-exp-value>1</lsp-exp-value> + <fc>be</fc> + <profile>in</profile> + </lsp-exp> + <lsp-exp> + <lsp-exp-value>2</lsp-exp-value> + <fc>ef</fc> + <profile>in</profile> + </lsp-exp> + <lsp-exp> + <lsp-exp-value>3</lsp-exp-value> + <fc>h2</fc> + <profile>in</profile> + </lsp-exp> + <lsp-exp> + <lsp-exp-value>4</lsp-exp-value> + <fc>be</fc> + <profile>out</profile> + </lsp-exp> + <lsp-exp> + <lsp-exp-value>5</lsp-exp-value> + <fc>be</fc> + <profile>out</profile> + </lsp-exp> + <lsp-exp> + <lsp-exp-value>6</lsp-exp-value> + <fc>nc</fc> + <profile>in</profile> + </lsp-exp> + <lsp-exp> + <lsp-exp-value>7</lsp-exp-value> + <fc>nc</fc> + <profile>out</profile> + </lsp-exp> + </ingress> + <egress> + <fc> + <fc-name>be</fc-name> + <dscp-in-profile>be</dscp-in-profile> + <dscp-out-profile>be</dscp-out-profile> + <lsp-exp-in-profile>1</lsp-exp-in-profile> + <lsp-exp-out-profile>0</lsp-exp-out-profile> + </fc> + <fc> + <fc-name>h2</fc-name> + <dscp-in-profile>af21</dscp-in-profile> + <dscp-out-profile>af22</dscp-out-profile> + <lsp-exp-in-profile>3</lsp-exp-in-profile> + <lsp-exp-out-profile>3</lsp-exp-out-profile> + </fc> + <fc> + <fc-name>ef</fc-name> + <dscp-in-profile>ef</dscp-in-profile> + <dscp-out-profile>ef</dscp-out-profile> + <lsp-exp-in-profile>2</lsp-exp-in-profile> + <lsp-exp-out-profile>2</lsp-exp-out-profile> + </fc> + <fc> + <fc-name>nc</fc-name> + <dscp-in-profile>nc1</dscp-in-profile> + <dscp-out-profile>nc1</dscp-out-profile> + <lsp-exp-in-profile>6</lsp-exp-in-profile> + <lsp-exp-out-profile>7</lsp-exp-out-profile> + </fc> + </egress> + </network> + </qos> + <router> + <router-name>Base</router-name> + <autonomous-system>20965</autonomous-system> + <router-id>62.40.119.9</router-id> + <interface> + <interface-name>lag-1.0</interface-name> + <admin-state>enable</admin-state> + <description>SRV_GLOBAL INFRASTRUCTURE BACKBONE #AMS-LON-IPTRUNK $LGS-00012 | LON-AMS</description> + <ip-mtu>9000</ip-mtu> + <port>lag-1</port> + <ipv4> + <primary> + <address>62.40.119.85</address> + <prefix-length>31</prefix-length> + </primary> + </ipv4> + <ipv6> + <address> + <ipv6-address>2001:799:1ab:2::2a</ipv6-address> + <prefix-length>126</prefix-length> + </address> + </ipv6> + <qos> + <network-policy>GEANT-BASIC</network-policy> + </qos> + </interface> + <interface> + <interface-name>lag-2.0</interface-name> + <admin-state>enable</admin-state> + <description>SRV_GLOBAL INFRASTRUCTURE BACKBONE #LON-LON-IPTRUNK $LGS-00013| LON-LON</description> + <ip-mtu>9000</ip-mtu> + <port>lag-2</port> + <ipv4> + <primary> + <address>62.40.119.87</address> + <prefix-length>31</prefix-length> + </primary> + </ipv4> + <ipv6> + <address> + <ipv6-address>2001:798:cc::66</ipv6-address> + <prefix-length>126</prefix-length> + </address> + <address> + <ipv6-address>2001:799:1ab:2::2e</ipv6-address> + <prefix-length>126</prefix-length> + </address> + </ipv6> + <qos> + <network-policy>GEANT-BASIC</network-policy> + </qos> + </interface> + <interface> + <interface-name>system</interface-name> + <admin-state>enable</admin-state> + <ipv4> + <primary> + <address>62.40.119.9</address> + <prefix-length>32</prefix-length> + </primary> + </ipv4> + <ipv6> + <address> + <ipv6-address>2001:799:1ab::9</ipv6-address> + <prefix-length>128</prefix-length> + </address> + </ipv6> + </interface> + <interface> + <interface-name>to_rt0_ams_ZR-INFINERA</interface-name> + <ip-mtu>1500</ip-mtu> + <port>1/1/c7/1:0</port> + <ipv4> + <primary> + <address>10.211.102.1</address> + <prefix-length>24</prefix-length> + </primary> + </ipv4> + </interface> + <interface> + <interface-name>to_rt0_ams_ZR-NOKIA</interface-name> + <ip-mtu>1500</ip-mtu> + <port>1/1/c13/1:0</port> + <ipv4> + <primary> + <address>10.211.103.1</address> + <prefix-length>24</prefix-length> + </primary> + </ipv4> + </interface> + <mpls-labels> + <static-label-range>9968</static-label-range> + <sr-labels> + <start>10000</start> + <end>19999</end> + </sr-labels> + </mpls-labels> + <bgp> + <error-handling> + <update-fault-tolerance>true</update-fault-tolerance> + </error-handling> + <group> + <group-name>iGEANT-P-ONLY</group-name> + <admin-state>enable</admin-state> + <authentication-key>aX1kndQNDTAHyJttsnoyKVBRm1bxaCpuK+c= hash2</authentication-key> + <next-hop-self>true</next-hop-self> + <type>internal</type> + <peer-as>20965</peer-as> + <capability-negotiation>true</capability-negotiation> + <local-address>62.40.119.9</local-address> + <family> + <mcast-ipv4>true</mcast-ipv4> + </family> + </group> + <group> + <group-name>iGEANT6-P-ONLY</group-name> + <admin-state>enable</admin-state> + <authentication-key>aX1kndQNDTAHyJttsnoyKQiLcy8euS8do68= hash2</authentication-key> + <next-hop-self>true</next-hop-self> + <type>internal</type> + <peer-as>20965</peer-as> + <capability-negotiation>true</capability-negotiation> + <local-address>2001:799:1ab::9</local-address> + <family> + <mcast-ipv6>true</mcast-ipv6> + </family> + </group> + <neighbor> + <ip-address>62.40.119.1</ip-address> + <description>rt1.ath.gr.office.geant.net-</description> + <group>iGEANT-P-ONLY</group> + </neighbor> + <neighbor> + <ip-address>62.40.119.2</ip-address> + <description>rt1.ams.nl.office.geant.net</description> + <group>iGEANT-P-ONLY</group> + </neighbor> + <neighbor> + <ip-address>62.40.119.3</ip-address> + <description>rt1.bil.es.office.geant.net</description> + <group>iGEANT-P-ONLY</group> + </neighbor> + <neighbor> + <ip-address>62.40.119.4</ip-address> + <description>rt1.bil.es.office.geant.net</description> + <group>iGEANT-P-ONLY</group> + </neighbor> + <neighbor> + <ip-address>62.40.119.5</ip-address> + <description>rt1.lon.uk.office.geant.net</description> + <group>iGEANT-P-ONLY</group> + </neighbor> + <neighbor> + <ip-address>2001:799:1ab::1</ip-address> + <description>rt1.ath.gr.office.geant.net</description> + <group>iGEANT6-P-ONLY</group> + </neighbor> + <neighbor> + <ip-address>2001:799:1ab::2</ip-address> + <description>rt1.ams.nl.office.geant.net</description> + <group>iGEANT6-P-ONLY</group> + </neighbor> + <neighbor> + <ip-address>2001:799:1ab::3</ip-address> + <description>rt1.bil.es.office.geant.net</description> + <group>iGEANT6-P-ONLY</group> + </neighbor> + <neighbor> + <ip-address>2001:799:1ab::4</ip-address> + <description>rt1.dub.ie.office.geant.net</description> + <group>iGEANT6-P-ONLY</group> + </neighbor> + <neighbor> + <ip-address>2001:799:1ab::5</ip-address> + <description>rt1.lon.uk.office.geant.net</description> + <group>iGEANT6-P-ONLY</group> + </neighbor> + </bgp> + <isis> + <isis-instance>0</isis-instance> + <admin-state>enable</admin-state> + <advertise-router-capability>as</advertise-router-capability> + <ldp-sync>false</ldp-sync> + <ipv6-routing>native</ipv6-routing> + <level-capability>2</level-capability> + <system-id>0620.4011.9009</system-id> + <traffic-engineering>true</traffic-engineering> + <area-address>49.51e5.0001</area-address> + <multicast-import> + <ipv4>true</ipv4> + <ipv6>true</ipv6> + </multicast-import> + <overload-on-boot> + <timeout>300</timeout> + </overload-on-boot> + <loopfree-alternate> + <ti-lfa> + <node-protect> + </node-protect> + </ti-lfa> + </loopfree-alternate> + <segment-routing> + <admin-state>enable</admin-state> + <tunnel-table-pref>8</tunnel-table-pref> + <prefix-sid-range> + <global/> + </prefix-sid-range> + </segment-routing> + <interface> + <interface-name>lag-1.0</interface-name> + <interface-type>point-to-point</interface-type> + <level-capability>2</level-capability> + <level> + <level-number>2</level-number> + <metric>200</metric> + </level> + </interface> + <interface> + <interface-name>lag-2.0</interface-name> + <interface-type>point-to-point</interface-type> + <level-capability>2</level-capability> + <level> + <level-number>2</level-number> + <metric>5</metric> + </level> + </interface> + <interface> + <interface-name>system</interface-name> + <passive>true</passive> + <ipv4-node-sid> + <index>4009</index> + </ipv4-node-sid> + <ipv6-node-sid> + <index>6009</index> + </ipv6-node-sid> + </interface> + <level> + <level-number>2</level-number> + <wide-metrics-only>true</wide-metrics-only> + </level> + </isis> + <ldp> + <admin-state>enable</admin-state> + <graceful-restart> + <helper-mode>true</helper-mode> + </graceful-restart> + <targeted-session> + <sdp-auto-targeted-session>true</sdp-auto-targeted-session> + <ipv4> + <hello-reduction> + <admin-state>enable</admin-state> + </hello-reduction> + </ipv4> + <peer> + <ip-address>62.40.119.3</ip-address> + </peer> + </targeted-session> + </ldp> + <mpls> + <admin-state>enable</admin-state> + <interface> + <interface-name>lag-1.0</interface-name> + </interface> + <interface> + <interface-name>lag-2.0</interface-name> + </interface> + <interface> + <interface-name>system</interface-name> + </interface> + </mpls> + <pim> + <ipv4> + <admin-state>enable</admin-state> + <rpf-table>rtable-m</rpf-table> + </ipv4> + <ipv6> + <admin-state>enable</admin-state> + <rpf-table>rtable-m</rpf-table> + </ipv6> + <interface> + <interface-name>lag-1.0</interface-name> + </interface> + <interface> + <interface-name>lag-2.0</interface-name> + </interface> + <rp> + <ipv4> + <bsr-candidate> + <admin-state>disable</admin-state> + </bsr-candidate> + <rp-candidate> + <admin-state>disable</admin-state> + </rp-candidate> + </ipv4> + <ipv6> + <bsr-candidate> + <admin-state>disable</admin-state> + </bsr-candidate> + <embedded-rp> + <admin-state>enable</admin-state> + <group-range> + <ipv6-prefix>ff7e::/16</ipv6-prefix> + </group-range> + </embedded-rp> + <rp-candidate> + <admin-state>disable</admin-state> + </rp-candidate> + </ipv6> + </rp> + </pim> + <rsvp> + <admin-state>enable</admin-state> + <interface> + <interface-name>lag-1.0</interface-name> + <refresh-reduction> + <reliable-delivery>true</reliable-delivery> + </refresh-reduction> + </interface> + <interface> + <interface-name>lag-2.0</interface-name> + <refresh-reduction> + <reliable-delivery>true</reliable-delivery> + </refresh-reduction> + </interface> + <interface> + <interface-name>system</interface-name> + </interface> + </rsvp> + <static-routes> + <route> + <ip-prefix>0.0.0.0/0</ip-prefix> + <route-type>unicast</route-type> + <indirect> + <ip-address>62.40.119.2</ip-address> + <admin-state>enable</admin-state> + <description>TEMP_DF_MIGRATION_1</description> + </indirect> + <indirect> + <ip-address>62.40.119.5</ip-address> + <admin-state>enable</admin-state> + <description>TEMP_DF_MIGRATION_2</description> + <preference>25</preference> + </indirect> + </route> + <route> + <ip-prefix>::/0</ip-prefix> + <route-type>unicast</route-type> + <indirect> + <ip-address>2001:799:1ab::2</ip-address> + <admin-state>enable</admin-state> + <description>TEMP_V6_DF_MIGRATION_1</description> + </indirect> + <indirect> + <ip-address>2001:799:1ab::5</ip-address> + <admin-state>enable</admin-state> + <description>TEMP_V6_DF_MIGRATION_2</description> + <preference>25</preference> + </indirect> + </route> + </static-routes> + </router> + <routing-options> + <ip-fast-reroute>true</ip-fast-reroute> + </routing-options> + <service> + <customer> + <customer-name>1</customer-name> + <customer-id>1</customer-id> + </customer> + <customer> + <customer-name>2</customer-name> + <customer-id>2</customer-id> + </customer> + <customer> + <customer-name>IMS667</customer-name> + <customer-id>667</customer-id> + </customer> + <epipe> + <service-name>IMS-VC4-TEST</service-name> + <admin-state>enable</admin-state> + <service-id>667</service-id> + <customer>IMS667</customer> + <vpn-id>667</vpn-id> + <service-mtu>9014</service-mtu> + <spoke-sdp> + <sdp-bind-id>31:667</sdp-bind-id> + <admin-state>enable</admin-state> + <control-word>true</control-word> + <pw-status> + <signaling>true</signaling> + </pw-status> + </spoke-sdp> + <sap> + <sap-id>lag-31:667</sap-id> + <admin-state>enable</admin-state> + </sap> + </epipe> + <sdp> + <sdp-id>31</sdp-id> + <admin-state>enable</admin-state> + <description>TEST-VC4-IMS-TEMP</description> + <delivery-type>mpls</delivery-type> + <path-mtu>9100</path-mtu> + <sr-isis>true</sr-isis> + <far-end> + <ip-address>62.40.119.3</ip-address> + </far-end> + </sdp> + <vprn> + <service-name>ZR-MGMT</service-name> + <admin-state>enable</admin-state> + <service-id>5</service-id> + <customer>1</customer> + <interface> + <interface-name>dhcpIf</interface-name> + <admin-state>enable</admin-state> + <loopback>true</loopback> + <ipv4> + <local-dhcp-server>dhcp4</local-dhcp-server> + <primary> + <address>10.2.2.2</address> + <prefix-length>32</prefix-length> + </primary> + </ipv4> + </interface> + <interface> + <interface-name>toIPM</interface-name> + <admin-state>enable</admin-state> + <ipv4> + <primary> + <address>10.50.50.1</address> + <prefix-length>24</prefix-length> + </primary> + </ipv4> + <sap> + <sap-id>lag-3:2005</sap-id> + <admin-state>enable</admin-state> + </sap> + </interface> + <interface> + <interface-name>toModule</interface-name> + <admin-state>enable</admin-state> + <ipv4> + <local-dhcp-server>dhcp4</local-dhcp-server> + <primary> + <address>10.100.75.1</address> + <prefix-length>24</prefix-length> + </primary> + <dhcp> + <admin-state>enable</admin-state> + <server>10.2.2.2</server> + <trusted>true</trusted> + </dhcp> + </ipv4> + <sap> + <sap-id>1/1/c7/1:4090</sap-id> + </sap> + <ipv6> + <address> + <ipv6-address>2003:1a3b:fff9:8::2</ipv6-address> + <prefix-length>64</prefix-length> + </address> + </ipv6> + </interface> + <management> + <allow-ssh>true</allow-ssh> + </management> + <dhcp-server> + <dhcpv4> + <name>dhcp4</name> + <admin-state>enable</admin-state> + <pool-selection> + <use-gi-address> + <scope>pool</scope> + </use-gi-address> + </pool-selection> + <pool> + <pool-name>ZRMGMT</pool-name> + <max-lease-time>1200</max-lease-time> + <subnet> + <ipv4-prefix>10.100.75.0/24</ipv4-prefix> + <options> + <option> + <number>3</number> + <ipv4-address>10.100.75.1</ipv4-address> + </option> + <option> + <number>42</number> + <ipv4-address>10.50.50.10</ipv4-address> + </option> + </options> + <address-range> + <start>10.100.75.20</start> + <end>10.100.75.30</end> + </address-range> + </subnet> + </pool> + </dhcpv4> + </dhcp-server> + </vprn> + <vprn> + <service-name>ZR-REMOTE</service-name> + <admin-state>enable</admin-state> + <service-id>6</service-id> + <customer>2</customer> + <interface> + <interface-name>rt0_ams_infinera</interface-name> + <ip-mtu>1500</ip-mtu> + <ipv4> + <primary> + <address>10.211.102.2</address> + <prefix-length>24</prefix-length> + </primary> + </ipv4> + <sap> + <sap-id>2/1/c7/1:0</sap-id> + </sap> + </interface> + <interface> + <interface-name>rt0_ams_nokia</interface-name> + <ip-mtu>1500</ip-mtu> + <ipv4> + <primary> + <address>10.211.103.2</address> + <prefix-length>24</prefix-length> + </primary> + </ipv4> + <sap> + <sap-id>2/1/c13/1:0</sap-id> + </sap> + </interface> + </vprn> + </service> + <sfm> + <sfm-slot>1</sfm-slot> + <admin-state>enable</admin-state> + <sfm-type>sfm2-s</sfm-type> + </sfm> + <sfm> + <sfm-slot>2</sfm-slot> + <admin-state>enable</admin-state> + <sfm-type>sfm2-s</sfm-type> + </sfm> + <sfm> + <sfm-slot>3</sfm-slot> + <sfm-type>sfm2-s</sfm-type> + </sfm> + <sfm> + <sfm-slot>4</sfm-slot> + <sfm-type>sfm2-s</sfm-type> + </sfm> + <system> + <contact>GEANT OC, support@oc.geant.net, +44 (0) 1223 733033</contact> + <name>rt0.lon.uk</name> + <location>London,England,[51.49821912962843,-0.015228819041376851]</location> + <load-balancing> + <l4-load-balancing>true</l4-load-balancing> + <lsr-load-balancing>lbl-ip-l4-teid</lsr-load-balancing> + <system-ip-load-balancing>true</system-ip-load-balancing> + </load-balancing> + <grpc> + <gnmi> + <auto-config-save>false</auto-config-save> + </gnmi> + </grpc> + <management-interface> + <configuration-mode>model-driven</configuration-mode> + <cli> + <md-cli> + <auto-config-save>true</auto-config-save> + <environment> + <more>true</more> + <console> + <width>140</width> + </console> + </environment> + </md-cli> + </cli> + <configuration-save> + <configuration-backups>5</configuration-backups> + <incremental-saves>false</incremental-saves> + </configuration-save> + <netconf> + <admin-state>enable</admin-state> + <auto-config-save>true</auto-config-save> + </netconf> + <yang-modules> + <nokia-submodules>true</nokia-submodules> + <nokia-combined-modules>false</nokia-combined-modules> + </yang-modules> + </management-interface> + <power-management> + <power-zone>1</power-zone> + <mode>none</mode> + <power-safety-level>67</power-safety-level> + </power-management> + <bluetooth> + <advertising-timeout>30</advertising-timeout> + </bluetooth> + <login-control> + <idle-timeout>60</idle-timeout> + <pre-login-message> + <message>**************************************************************\r\n\r\n Warning: Unauthorized access to this equipment is strictly forbidden and will lead to prosecution.\r\n\r\n**************************************************************\r\n</message> + <name>true</name> + </pre-login-message> + </login-control> + <security> + <dist-cpu-protection> + <policy> + <policy-name>_default-network-policy</policy-name> + <protocol> + <protocol-name>icmp</protocol-name> + <enforcement> + <static> + <policer-name>ICMP_LIMIT</policer-name> + </static> + </enforcement> + </protocol> + <static-policer> + <policer-name>ICMP_LIMIT</policer-name> + <exceed-action> + <action>discard</action> + </exceed-action> + <rate> + <kbps> + <limit>10000</limit> + <mbs>100</mbs> + </kbps> + </rate> + </static-policer> + </policy> + </dist-cpu-protection> + <source-address> + <ipv4> + <application>radius</application> + <interface-name>system</interface-name> + </ipv4> + <ipv4> + <application>snmptrap</application> + <interface-name>system</interface-name> + </ipv4> + <ipv4> + <application>syslog</application> + <interface-name>system</interface-name> + </ipv4> + <ipv4> + <application>dns</application> + <interface-name>system</interface-name> + </ipv4> + <ipv4> + <application>ntp</application> + <interface-name>system</interface-name> + </ipv4> + </source-address> + <tech-support> + <ts-location>cf3:\tech_support</ts-location> + </tech-support> + <aaa> + <health-check>none</health-check> + <remote-servers> + <radius> + <authorization>true</authorization> + <server> + <index>1</index> + <address>83.97.94.129</address> + <secret>oYneem3baL16yGOeqRnqCy4vY31EW5azKXZ2s/tL6ywyw9GU hash2</secret> + </server> + <server> + <index>2</index> + <address>83.97.94.130</address> + <secret>oYneem3baL16yGOeqRnqC7OH+f/iW/z+dGseiBhyD7zynDWM hash2</secret> + </server> + </radius> + </remote-servers> + <local-profiles> + <profile> + <user-profile-name>GOC</user-profile-name> + <default-action>permit-all</default-action> + </profile> + <profile> + <user-profile-name>NOC-Class</user-profile-name> + <default-action>permit-all</default-action> + </profile> + <profile> + <user-profile-name>administrative</user-profile-name> + <default-action>permit-all</default-action> + <entry> + <entry-id>10</entry-id> + <match>configure system security</match> + <action>permit</action> + </entry> + <entry> + <entry-id>20</entry-id> + <match>show system security</match> + <action>permit</action> + </entry> + <entry> + <entry-id>30</entry-id> + <match>tools perform security</match> + <action>permit</action> + </entry> + <entry> + <entry-id>40</entry-id> + <match>tools dump security</match> + <action>permit</action> + </entry> + <entry> + <entry-id>42</entry-id> + <match>tools dump system security</match> + <action>permit</action> + </entry> + <entry> + <entry-id>50</entry-id> + <match>admin system security</match> + <action>permit</action> + </entry> + <entry> + <entry-id>100</entry-id> + <match>configure li</match> + <action>deny</action> + </entry> + <entry> + <entry-id>110</entry-id> + <match>show li</match> + <action>deny</action> + </entry> + <entry> + <entry-id>111</entry-id> + <match>clear li</match> + <action>deny</action> + </entry> + <entry> + <entry-id>112</entry-id> + <match>tools dump li</match> + <action>deny</action> + </entry> + <netconf> + <base-op-authorization> + <action>true</action> + <cancel-commit>true</cancel-commit> + <close-session>true</close-session> + <commit>true</commit> + <copy-config>true</copy-config> + <create-subscription>true</create-subscription> + <delete-config>true</delete-config> + <discard-changes>true</discard-changes> + <edit-config>true</edit-config> + <get>true</get> + <get-config>true</get-config> + <get-data>true</get-data> + <get-schema>true</get-schema> + <kill-session>true</kill-session> + <lock>true</lock> + <validate>true</validate> + </base-op-authorization> + </netconf> + </profile> + <profile> + <user-profile-name>config_backup</user-profile-name> + <default-action>deny-all</default-action> + <entry> + <entry-id>100</entry-id> + <match>logout</match> + <action>permit</action> + </entry> + <entry> + <entry-id>150</entry-id> + <match>show system information</match> + <action>permit</action> + </entry> + <entry> + <entry-id>160</entry-id> + <match>show log</match> + <action>permit</action> + </entry> + <entry> + <entry-id>170</entry-id> + <match>show card state</match> + <action>permit</action> + </entry> + <entry> + <entry-id>180</entry-id> + <match>show chassis</match> + <action>permit</action> + </entry> + <entry> + <entry-id>190</entry-id> + <match>file show</match> + <action>permit</action> + </entry> + <entry> + <entry-id>200</entry-id> + <match>admin show configuration bof</match> + <action>permit</action> + </entry> + <entry> + <entry-id>210</entry-id> + <match>admin show configuration configure</match> + <action>permit</action> + </entry> + <entry> + <entry-id>220</entry-id> + <match>admin show configuration debug</match> + <action>permit</action> + </entry> + <entry> + <entry-id>230</entry-id> + <match>environment more</match> + <action>permit</action> + </entry> + <entry> + <entry-id>240</entry-id> + <match>show mda detail</match> + <action>permit</action> + </entry> + <entry> + <entry-id>250</entry-id> + <match>show card detail</match> + <action>permit</action> + </entry> + <entry> + <entry-id>260</entry-id> + <match>show port detail</match> + <action>permit</action> + </entry> + <entry> + <entry-id>270</entry-id> + <match>show system management-interface commit-history</match> + <action>permit</action> + </entry> + <entry> + <entry-id>280</entry-id> + <match>show redundancy synchronization</match> + <action>permit</action> + </entry> + <entry> + <entry-id>290</entry-id> + <match>show version</match> + <action>permit</action> + </entry> + <entry> + <entry-id>999</entry-id> + <match>admin show configuration</match> + <action>permit</action> + </entry> + </profile> + <profile> + <user-profile-name>default</user-profile-name> + <entry> + <entry-id>10</entry-id> + <match>exec</match> + <action>permit</action> + </entry> + <entry> + <entry-id>20</entry-id> + <match>exit</match> + <action>permit</action> + </entry> + <entry> + <entry-id>30</entry-id> + <match>help</match> + <action>permit</action> + </entry> + <entry> + <entry-id>40</entry-id> + <match>logout</match> + <action>permit</action> + </entry> + <entry> + <entry-id>50</entry-id> + <match>password</match> + <action>permit</action> + </entry> + <entry> + <entry-id>60</entry-id> + <match>show config</match> + <action>deny</action> + </entry> + <entry> + <entry-id>65</entry-id> + <match>show li</match> + <action>deny</action> + </entry> + <entry> + <entry-id>66</entry-id> + <match>clear li</match> + <action>deny</action> + </entry> + <entry> + <entry-id>67</entry-id> + <match>tools dump li</match> + <action>deny</action> + </entry> + <entry> + <entry-id>68</entry-id> + <match>state li</match> + <action>deny</action> + </entry> + <entry> + <entry-id>70</entry-id> + <match>show</match> + <action>permit</action> + </entry> + <entry> + <entry-id>75</entry-id> + <match>state</match> + <action>permit</action> + </entry> + <entry> + <entry-id>80</entry-id> + <match>enable-admin</match> + <action>permit</action> + </entry> + <entry> + <entry-id>90</entry-id> + <match>enable</match> + <action>permit</action> + </entry> + <entry> + <entry-id>100</entry-id> + <match>configure li</match> + <action>deny</action> + </entry> + <netconf> + <base-op-authorization> + <action>true</action> + <cancel-commit>true</cancel-commit> + <close-session>true</close-session> + <commit>true</commit> + <copy-config>true</copy-config> + <create-subscription>true</create-subscription> + <delete-config>true</delete-config> + <discard-changes>true</discard-changes> + <edit-config>true</edit-config> + <get>true</get> + <get-config>true</get-config> + <get-data>true</get-data> + <get-schema>true</get-schema> + <validate>true</validate> + </base-op-authorization> + </netconf> + </profile> + <profile> + <user-profile-name>geantnms</user-profile-name> + <default-action>permit-all</default-action> + <entry> + <entry-id>900</entry-id> + <match>show router</match> + <action>deny</action> + </entry> + </profile> + <profile> + <user-profile-name>level1</user-profile-name> + <default-action>deny-all</default-action> + <entry> + <entry-id>100</entry-id> + <match>logout</match> + <action>permit</action> + </entry> + <entry> + <entry-id>110</entry-id> + <match>show users</match> + <action>permit</action> + </entry> + <entry> + <entry-id>120</entry-id> + <match>show port</match> + <action>permit</action> + </entry> + <entry> + <entry-id>121</entry-id> + <match>show lag</match> + <action>permit</action> + </entry> + <entry> + <entry-id>122</entry-id> + <match>monitor port</match> + <action>permit</action> + </entry> + <entry> + <entry-id>123</entry-id> + <match>monitor lag</match> + <action>permit</action> + </entry> + <entry> + <entry-id>130</entry-id> + <match>show router interface</match> + <action>permit</action> + </entry> + <entry> + <entry-id>140</entry-id> + <match>ping</match> + <action>permit</action> + </entry> + <entry> + <entry-id>141</entry-id> + <match>ssh</match> + <action>permit</action> + </entry> + <entry> + <entry-id>142</entry-id> + <match>telnet</match> + <action>permit</action> + </entry> + <entry> + <entry-id>143</entry-id> + <match>traceroute</match> + <action>permit</action> + </entry> + <entry> + <entry-id>150</entry-id> + <match>show router</match> + <action>permit</action> + </entry> + <entry> + <entry-id>160</entry-id> + <match>show snmp</match> + <action>permit</action> + </entry> + <entry> + <entry-id>170</entry-id> + <match>show system</match> + <action>permit</action> + </entry> + <entry> + <entry-id>180</entry-id> + <match>show log</match> + <action>permit</action> + </entry> + <entry> + <entry-id>999</entry-id> + <match>admin show configuration</match> + <action>permit</action> + </entry> + </profile> + <profile> + <user-profile-name>nessus</user-profile-name> + <default-action>deny-all</default-action> + <entry> + <entry-id>100</entry-id> + <match>logout</match> + <action>permit</action> + </entry> + <entry> + <entry-id>110</entry-id> + <match>show users</match> + <action>permit</action> + </entry> + <entry> + <entry-id>120</entry-id> + <match>show port</match> + <action>permit</action> + </entry> + <entry> + <entry-id>121</entry-id> + <match>show lag</match> + <action>permit</action> + </entry> + <entry> + <entry-id>122</entry-id> + <match>monitor port</match> + <action>permit</action> + </entry> + <entry> + <entry-id>123</entry-id> + <match>monitor lag</match> + <action>permit</action> + </entry> + <entry> + <entry-id>130</entry-id> + <match>show router interface</match> + <action>permit</action> + </entry> + <entry> + <entry-id>150</entry-id> + <match>show router</match> + <action>permit</action> + </entry> + <entry> + <entry-id>160</entry-id> + <match>show snmp</match> + <action>permit</action> + </entry> + <entry> + <entry-id>170</entry-id> + <match>show system</match> + <action>permit</action> + </entry> + <entry> + <entry-id>180</entry-id> + <match>show log</match> + <action>permit</action> + </entry> + <entry> + <entry-id>900</entry-id> + <match>show</match> + <action>permit</action> + </entry> + <entry> + <entry-id>999</entry-id> + <match>admin show configuration</match> + <action>permit</action> + </entry> + </profile> + <profile> + <user-profile-name>nomios</user-profile-name> + <default-action>deny-all</default-action> + <entry> + <entry-id>100</entry-id> + <match>logout</match> + <action>permit</action> + </entry> + <entry> + <entry-id>140</entry-id> + <match>ping</match> + <action>permit</action> + </entry> + <entry> + <entry-id>143</entry-id> + <match>traceroute</match> + <action>permit</action> + </entry> + <entry> + <entry-id>150</entry-id> + <match>show router</match> + <action>permit</action> + </entry> + <entry> + <entry-id>170</entry-id> + <match>show system</match> + <action>permit</action> + </entry> + <entry> + <entry-id>800</entry-id> + <match>show</match> + <action>permit</action> + </entry> + <entry> + <entry-id>820</entry-id> + <match>monitor</match> + <action>permit</action> + </entry> + <entry> + <entry-id>830</entry-id> + <match>file</match> + <action>permit</action> + </entry> + <entry> + <entry-id>999</entry-id> + <match>admin show configuration</match> + <action>permit</action> + </entry> + </profile> + <profile> + <user-profile-name>nren</user-profile-name> + <default-action>deny-all</default-action> + <entry> + <entry-id>100</entry-id> + <match>logout</match> + <action>permit</action> + </entry> + <entry> + <entry-id>120</entry-id> + <match>show port</match> + <action>permit</action> + </entry> + <entry> + <entry-id>121</entry-id> + <match>show lag</match> + <action>permit</action> + </entry> + <entry> + <entry-id>122</entry-id> + <match>monitor port</match> + <action>permit</action> + </entry> + <entry> + <entry-id>123</entry-id> + <match>monitor lag</match> + <action>permit</action> + </entry> + <entry> + <entry-id>130</entry-id> + <match>show router interface</match> + <action>permit</action> + </entry> + <entry> + <entry-id>140</entry-id> + <match>ping</match> + <action>permit</action> + </entry> + <entry> + <entry-id>143</entry-id> + <match>traceroute</match> + <action>permit</action> + </entry> + <entry> + <entry-id>150</entry-id> + <match>show router</match> + <action>permit</action> + </entry> + <entry> + <entry-id>160</entry-id> + <match>show snmp</match> + <action>permit</action> + </entry> + <entry> + <entry-id>170</entry-id> + <match>show system</match> + <action>permit</action> + </entry> + <entry> + <entry-id>180</entry-id> + <match>show log</match> + <action>permit</action> + </entry> + <entry> + <entry-id>900</entry-id> + <match>show</match> + <action>permit</action> + </entry> + <entry> + <entry-id>999</entry-id> + <match>admin show configuration</match> + <action>permit</action> + </entry> + </profile> + <profile> + <user-profile-name>nrn</user-profile-name> + <default-action>deny-all</default-action> + <entry> + <entry-id>100</entry-id> + <match>logout</match> + <action>permit</action> + </entry> + <entry> + <entry-id>120</entry-id> + <match>show port</match> + <action>permit</action> + </entry> + <entry> + <entry-id>121</entry-id> + <match>show lag</match> + <action>permit</action> + </entry> + <entry> + <entry-id>122</entry-id> + <match>monitor port</match> + <action>permit</action> + </entry> + <entry> + <entry-id>123</entry-id> + <match>monitor lag</match> + <action>permit</action> + </entry> + <entry> + <entry-id>130</entry-id> + <match>show router interface</match> + <action>permit</action> + </entry> + <entry> + <entry-id>140</entry-id> + <match>ping</match> + <action>permit</action> + </entry> + <entry> + <entry-id>143</entry-id> + <match>traceroute</match> + <action>permit</action> + </entry> + <entry> + <entry-id>150</entry-id> + <match>show router</match> + <action>permit</action> + </entry> + <entry> + <entry-id>160</entry-id> + <match>show snmp</match> + <action>permit</action> + </entry> + <entry> + <entry-id>170</entry-id> + <match>show system</match> + <action>permit</action> + </entry> + <entry> + <entry-id>180</entry-id> + <match>show log</match> + <action>permit</action> + </entry> + <entry> + <entry-id>999</entry-id> + <match>admin show configuration</match> + <action>permit</action> + </entry> + </profile> + <profile> + <user-profile-name>openssa</user-profile-name> + <default-action>deny-all</default-action> + <entry> + <entry-id>100</entry-id> + <match>logout</match> + <action>permit</action> + </entry> + <entry> + <entry-id>140</entry-id> + <match>ping</match> + <action>permit</action> + </entry> + <entry> + <entry-id>143</entry-id> + <match>traceroute</match> + <action>permit</action> + </entry> + <entry> + <entry-id>800</entry-id> + <match>show</match> + <action>permit</action> + </entry> + <entry> + <entry-id>810</entry-id> + <match>configure</match> + <action>permit</action> + </entry> + <entry> + <entry-id>820</entry-id> + <match>monitor</match> + <action>permit</action> + </entry> + <entry> + <entry-id>830</entry-id> + <match>file</match> + <action>permit</action> + </entry> + <entry> + <entry-id>999</entry-id> + <match>admin show configuration</match> + <action>permit</action> + </entry> + </profile> + <profile> + <user-profile-name>readonly-permissions</user-profile-name> + <default-action>deny-all</default-action> + <entry> + <entry-id>100</entry-id> + <match>logout</match> + <action>permit</action> + </entry> + <entry> + <entry-id>150</entry-id> + <match>show router</match> + <action>permit</action> + </entry> + <entry> + <entry-id>170</entry-id> + <match>show system</match> + <action>permit</action> + </entry> + <entry> + <entry-id>999</entry-id> + <match>admin show configuration</match> + <action>permit</action> + </entry> + </profile> + <profile> + <user-profile-name>restricted-mon</user-profile-name> + <default-action>deny-all</default-action> + <entry> + <entry-id>100</entry-id> + <match>logout</match> + <action>permit</action> + </entry> + <entry> + <entry-id>110</entry-id> + <match>show users</match> + <action>permit</action> + </entry> + <entry> + <entry-id>120</entry-id> + <match>show port</match> + <action>permit</action> + </entry> + <entry> + <entry-id>121</entry-id> + <match>show lag</match> + <action>permit</action> + </entry> + <entry> + <entry-id>122</entry-id> + <match>monitor port</match> + <action>permit</action> + </entry> + <entry> + <entry-id>123</entry-id> + <match>monitor lag</match> + <action>permit</action> + </entry> + <entry> + <entry-id>130</entry-id> + <match>show router interface</match> + <action>permit</action> + </entry> + <entry> + <entry-id>140</entry-id> + <match>ping</match> + <action>permit</action> + </entry> + <entry> + <entry-id>150</entry-id> + <match>show router</match> + <action>permit</action> + </entry> + <entry> + <entry-id>160</entry-id> + <match>show snmp</match> + <action>permit</action> + </entry> + <entry> + <entry-id>170</entry-id> + <match>show system</match> + <action>permit</action> + </entry> + <entry> + <entry-id>200</entry-id> + <match>show chassis</match> + <action>permit</action> + </entry> + <entry> + <entry-id>210</entry-id> + <match>show card</match> + <action>permit</action> + </entry> + <entry> + <entry-id>220</entry-id> + <match>show mda</match> + <action>permit</action> + </entry> + <entry> + <entry-id>230</entry-id> + <match>show sfm</match> + <action>permit</action> + </entry> + <entry> + <entry-id>240</entry-id> + <match>show service</match> + <action>permit</action> + </entry> + <entry> + <entry-id>999</entry-id> + <match>admin show configuration</match> + <action>permit</action> + </entry> + <netconf> + <base-op-authorization> + <action>true</action> + <close-session>true</close-session> + <copy-config>true</copy-config> + <get>true</get> + <get-config>true</get-config> + <get-data>true</get-data> + <get-schema>true</get-schema> + </base-op-authorization> + </netconf> + </profile> + </local-profiles> + </aaa> + <cpm-filter> + <default-action>drop</default-action> + <ip-filter> + <admin-state>disable</admin-state> + <entry> + <entry-id>110</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_OFFICE_NETWORKS</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>111</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANTNCC_ADDRESS_SPACE</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>112</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_VPN_NETWORKS</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>115</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>NCC_OOB_ADDRESS_SPACE</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>117</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_NE_SERVERS</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>118</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_VULN_SCANNER</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>120</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_LOOKING_GLASS</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>121</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_DASHBOARD</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>123</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_RANCID</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>124</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_IMS</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>127</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_LIBRENMS</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>128</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_GAP</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>130</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_OC_SERVERS</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>131</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_JUMP_SERVERS</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>132</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>NOMIOS_SUPPORT</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>133</entry-id> + <description>SSH_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_NEMO_SERVERS</ip-prefix-list> + </src-ip> + <dst-port> + <eq>22</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>140</entry-id> + <description>BGP_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>BGP_PEERS_BASE</ip-prefix-list> + </src-ip> + <port> + <eq>179</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>150</entry-id> + <description>MICRO_BFD_accept</description> + <match> + <protocol>udp</protocol> + <src-ip> + <ip-prefix-list>GEANT_ROUTERS</ip-prefix-list> + </src-ip> + <dst-port> + <eq>6784</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>180</entry-id> + <description>RADIUS_accept</description> + <match> + <protocol>udp</protocol> + <src-ip> + <ip-prefix-list>GEANT_DC</ip-prefix-list> + </src-ip> + <port> + <range> + <start>1812</start> + <end>1813</end> + </range> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>190</entry-id> + <description>NTP_accept</description> + <match> + <protocol>udp</protocol> + <src-ip> + <ip-prefix-list>GEANT_NTP</ip-prefix-list> + </src-ip> + <port> + <eq>123</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>191</entry-id> + <description>NTP_accept</description> + <match> + <protocol>udp</protocol> + <src-ip> + <ip-prefix-list>COMMUNITY_NTP</ip-prefix-list> + </src-ip> + <port> + <eq>123</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>192</entry-id> + <description>NTP_accept</description> + <match> + <protocol>udp</protocol> + <src-ip> + <ip-prefix-list>PUBLIC_NTP</ip-prefix-list> + </src-ip> + <port> + <eq>123</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>193</entry-id> + <description>NTP_accept</description> + <match> + <protocol>udp</protocol> + <src-ip> + <ip-prefix-list>GEANT_ROUTERS</ip-prefix-list> + </src-ip> + <port> + <eq>123</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>200</entry-id> + <description>NETCONF_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_SUPERPOP</ip-prefix-list> + </src-ip> + <dst-port> + <eq>830</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>201</entry-id> + <description>NETCONF_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_VPN_NETWORKS</ip-prefix-list> + </src-ip> + <port> + <eq>830</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>202</entry-id> + <description>NETCONF_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_ADDRESS_SPACE</ip-prefix-list> + </src-ip> + <port> + <eq>830</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>203</entry-id> + <description>NETCONF_accept</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <ip-prefix-list>GEANT_GAP</ip-prefix-list> + </src-ip> + <port> + <eq>830</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>210</entry-id> + <description>SNMP_accept</description> + <match> + <protocol>udp</protocol> + <src-ip> + <ip-prefix-list>GEANT_SNMP</ip-prefix-list> + </src-ip> + <dst-port> + <eq>161</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>220</entry-id> + <description>DNS_accept</description> + <match> + <protocol>udp</protocol> + <src-ip> + <ip-prefix-list>GEANT_DNS</ip-prefix-list> + </src-ip> + <port> + <eq>53</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>221</entry-id> + <description>DNS_accept</description> + <match> + <protocol>udp</protocol> + <src-ip> + <ip-prefix-list>GEANT_DNS_EXT</ip-prefix-list> + </src-ip> + <port> + <eq>53</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>230</entry-id> + <description>T-LDP_accept</description> + <match> + <protocol>tcp-udp</protocol> + <src-ip> + <ip-prefix-list>GEANT_ROUTERS</ip-prefix-list> + </src-ip> + <port> + <eq>646</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>250</entry-id> + <description>RSVP_accept</description> + <match> + <protocol>rsvp</protocol> + <src-ip> + <ip-prefix-list>GEANT_ADDRESS_SPACE</ip-prefix-list> + </src-ip> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>260</entry-id> + <description>PIM_accept</description> + <match> + <protocol>pim</protocol> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>310</entry-id> + <description>TRACEROUTE_accept</description> + <match> + <protocol>udp</protocol> + <src-ip> + <ip-prefix-list>GEANT_ADDRESS_SPACE</ip-prefix-list> + </src-ip> + <dst-port> + <range> + <start>33434</start> + <end>33534</end> + </range> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>320</entry-id> + <description>ICMP_accept</description> + <match> + <protocol>icmp</protocol> + <icmp> + <type>8</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>321</entry-id> + <description>ICMP_accept</description> + <match> + <protocol>icmp</protocol> + <icmp> + <type>0</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>322</entry-id> + <description>ICMP_accept</description> + <match> + <protocol>icmp</protocol> + <icmp> + <type>3</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>323</entry-id> + <description>ICMP_accept</description> + <match> + <protocol>icmp</protocol> + <icmp> + <type>11</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>324</entry-id> + <description>ICMP_accept</description> + <match> + <protocol>icmp</protocol> + <icmp> + <type>13</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>325</entry-id> + <description>ICMP_accept</description> + <match> + <protocol>icmp</protocol> + <icmp> + <type>14</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>340</entry-id> + <description>TWAMP_accept</description> + <match> + <protocol>tcp-udp</protocol> + <src-ip> + <ip-prefix-list>TWAMP_CLIENTS</ip-prefix-list> + </src-ip> + <port> + <eq>862</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>341</entry-id> + <description>TWAMP_accept</description> + <match> + <protocol>tcp-udp</protocol> + <src-ip> + <ip-prefix-list>TWAMP_CLIENTS</ip-prefix-list> + </src-ip> + <port> + <range> + <start>10000</start> + <end>65535</end> + </range> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>342</entry-id> + <description>ZR+ DHCP</description> + <match> + <protocol>udp</protocol> + <src-ip> + <address>0.0.0.0</address> + <mask>255.255.255.255</mask> + </src-ip> + <dst-ip> + <address>255.255.255.255</address> + <mask>255.255.255.255</mask> + </dst-ip> + <src-port> + <eq>68</eq> + </src-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>343</entry-id> + <description>ZR+ DHCP SRV</description> + <match> + <protocol>udp</protocol> + <src-port> + <range> + <start>67</start> + <end>68</end> + </range> + </src-port> + <dst-port> + <range> + <start>67</start> + <end>68</end> + </range> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>344</entry-id> + <description>RICH HATES EVERYTHING</description> + <match> + <protocol>tcp</protocol> + <src-ip> + <address>10.100.75.0</address> + <mask>255.255.255.0</mask> + </src-ip> + <src-port> + <eq>22</eq> + </src-port> + </match> + <action> + <accept/> + </action> + </entry> + </ip-filter> + <ipv6-filter> + <admin-state>enable</admin-state> + <entry> + <entry-id>110</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_DASHBOARD</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>112</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_VPN_NETWORKS</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>113</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_GAP</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>114</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_NE_SERVERS</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>115</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_OC_SERVERS</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>116</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_JUMP_SERVERS</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>117</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_VULN_SCANNER</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>118</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_LOOKING_GLASS</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>119</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_RANCID</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>120</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_IMS</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>121</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_LIBRENMS</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>122</entry-id> + <description>SSH_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_NEMO_SERVERS</ipv6-prefix-list> + </src-ip> + <port> + <eq>22</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>130</entry-id> + <description>Netconf_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_SUPERPOP</ipv6-prefix-list> + </src-ip> + <dst-port> + <eq>830</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>131</entry-id> + <description>Netconf_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_VPN_NETWORKS</ipv6-prefix-list> + </src-ip> + <dst-port> + <eq>830</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>132</entry-id> + <description>Netconf_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_ADDRESS_SPACE</ipv6-prefix-list> + </src-ip> + <dst-port> + <eq>830</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>133</entry-id> + <description>Netconf_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_GAP</ipv6-prefix-list> + </src-ip> + <dst-port> + <eq>830</eq> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>140</entry-id> + <description>BGP_accept</description> + <match> + <next-header>tcp</next-header> + <src-ip> + <ipv6-prefix-list>BGP_PEERS_BASE</ipv6-prefix-list> + </src-ip> + <port> + <eq>179</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>170</entry-id> + <description>TRACEROUTE</description> + <match> + <next-header>udp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_ADDRESS_SPACE</ipv6-prefix-list> + </src-ip> + <dst-port> + <range> + <start>33434</start> + <end>33466</end> + </range> + </dst-port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>180</entry-id> + <description>PIM_accept</description> + <match> + <next-header>pim</next-header> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>190</entry-id> + <description>IPV6_ND_LOCAL</description> + <match> + <next-header>ipv6-icmp</next-header> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>200</entry-id> + <description>IPV6_ND</description> + <match> + <dst-ip> + <address>fe80::/10</address> + </dst-ip> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>201</entry-id> + <description>IPV6_ND</description> + <match> + <dst-ip> + <address>ff02::/123</address> + </dst-ip> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>202</entry-id> + <description>IPV6_ND</description> + <match> + <dst-ip> + <address>ff02::1:ff00:0/104</address> + </dst-ip> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>210</entry-id> + <description>ICMP</description> + <match> + <next-header>ipv6-icmp</next-header> + <icmp> + <type>129</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>211</entry-id> + <description>ICMP</description> + <match> + <next-header>ipv6-icmp</next-header> + <icmp> + <type>128</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>212</entry-id> + <description>ICMP</description> + <match> + <next-header>ipv6-icmp</next-header> + <icmp> + <type>1</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>213</entry-id> + <description>ICMP</description> + <match> + <next-header>ipv6-icmp</next-header> + <icmp> + <type>3</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>214</entry-id> + <description>ICMP</description> + <match> + <next-header>ipv6-icmp</next-header> + <icmp> + <type>2</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>215</entry-id> + <description>ICMP</description> + <match> + <next-header>ipv6-icmp</next-header> + <icmp> + <type>4</type> + </icmp> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>220</entry-id> + <description>DNS_accept</description> + <match> + <next-header>udp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_DNS</ipv6-prefix-list> + </src-ip> + <port> + <eq>53</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>221</entry-id> + <description>DNS_accept</description> + <match> + <next-header>udp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_DNS_EXT</ipv6-prefix-list> + </src-ip> + <port> + <eq>53</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>230</entry-id> + <description>T-LDP_accept</description> + <match> + <next-header>tcp-udp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_ROUTERS</ipv6-prefix-list> + </src-ip> + <port> + <eq>646</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + <entry> + <entry-id>240</entry-id> + <description>SNMP_accept</description> + <match> + <next-header>udp</next-header> + <src-ip> + <ipv6-prefix-list>GEANT_SNMP</ipv6-prefix-list> + </src-ip> + <port> + <eq>161</eq> + </port> + </match> + <action> + <accept/> + </action> + </entry> + </ipv6-filter> + </cpm-filter> + <snmp> + <access> + <group>TEST02_ALL</group> + <context/> + <security-model>snmpv2c</security-model> + <security-level>no-auth-no-privacy</security-level> + <read>TEST02_ALL</read> + </access> + <access> + <group>TEST_VIEW</group> + <context/> + <security-model>snmpv2c</security-model> + <security-level>no-auth-no-privacy</security-level> + <read>TEST_VIEW</read> + </access> + <access> + <group>TIMEMAP_VIEW</group> + <context/> + <security-model>snmpv2c</security-model> + <security-level>no-auth-no-privacy</security-level> + <read>TIMEMAP_VIEW</read> + </access> + <community> + <community-string>fKmeUgu3e3Y3V86ojMHvRSC2juAhqvQ= hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <community> + <community-string>b7aBW8s016owF7TrREXkWpF6DuJeFLCo hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <community> + <community-string>oxFVrBd8a5H95Vm0EDDzJuKSuTJj3N7jgPY= hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <community> + <community-string>T/HncCuiCjJnanm/+H+wGKMUjL4lKD5aTw== hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <community> + <community-string>16uA7u9cqfT9iyJjFIU1ASGnwI6JEf25P7FCPUKbKQ== hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <community> + <community-string>lO4FkzXlh+UBzEv5BhPggdXcfzE= hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <community> + <community-string>il8dDgmQIsrKNwA+8vExpx2FTNMoekyd hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <community> + <community-string>v0HSWZzcNw2KPHnJKglurKjGFS923QwOMdg2 hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <community> + <community-string>Qr2f8qbBy/hUXEsGDHcEHHG1f4cd7/v3iiTs8Vvt1UWmZQ== hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <community> + <community-string>eP+2YXdjau3fZln3V8OhmDHNPy3/HKGrXdkvQpI= hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <community> + <community-string>zO4TNsK3Tow7RKWHoepZnX4pN2keYQGiPNU= hash2</community-string> + <access-permissions>r</access-permissions> + <version>v2c</version> + </community> + <usm-community> + <community-string>SrVB4RtXTrvi8HXjFOlK/V0VPBm9L6Jy hash2</community-string> + <group>TIMEMAP_VIEW</group> + <source-access-list>snmp_3VfrNKak</source-access-list> + </usm-community> + <usm-community> + <community-string>k36NX7tIvUlJU2zWW401xPURCUy8zKBN hash2</community-string> + <group>TEST_VIEW</group> + </usm-community> + <usm-community> + <community-string>8SAN4EbsP7Og0Hhe40PyiXsCVaDd0PZXaf8= hash2</community-string> + <group>TEST02_ALL</group> + </usm-community> + <source-access-list> + <list-name>snmp_3VfrNKak</list-name> + <source-host> + <host-name>3VfrNKak_LIBRE-TEST</host-name> + <address>62.40.111.47</address> + </source-host> + <source-host> + <host-name>3VfrNKak_TIMEMAP-01</host-name> + <address>193.219.48.249</address> + </source-host> + <source-host> + <host-name>3VfrNKak_TIMEMAP-02</host-name> + <address>193.219.48.250</address> + </source-host> + <source-host> + <host-name>3VfrNKak_TIMEMAP-03</host-name> + <address>83.97.94.180</address> + </source-host> + <source-host> + <host-name>3VfrNKak_TIMEMAP-04</host-name> + <address>83.97.95.193</address> + </source-host> + <source-host> + <host-name>3VfrNKak_TIMEMAP-05</host-name> + <address>83.97.95.194</address> + </source-host> + <source-host> + <host-name>3VfrNKak_TIMEMAP-06</host-name> + <address>83.97.95.195</address> + </source-host> + </source-access-list> + <view> + <view-name>TEST02_ALL</view-name> + <subtree>1</subtree> + <mask>ff</mask> + </view> + <view> + <view-name>TEST_VIEW</view-name> + <subtree>1.3.6.1.2.1.2.2.1.4</subtree> + <type>included</type> + </view> + <view> + <view-name>TEST_VIEW</view-name> + <subtree>1.3.6.1.2.1.2.2.1.8</subtree> + <type>included</type> + </view> + <view> + <view-name>TEST_VIEW</view-name> + <subtree>1.3.6.1.2.1.31.1.1.1.1</subtree> + <type>included</type> + </view> + <view> + <view-name>TEST_VIEW</view-name> + <subtree>1.3.6.1.2.1.31.1.1.1.15</subtree> + <type>included</type> + </view> + <view> + <view-name>TEST_VIEW</view-name> + <subtree>1.3.6.1.2.1.31.1.1.1.18</subtree> + <type>included</type> + </view> + <view> + <view-name>TIMEMAP_VIEW</view-name> + <subtree>.1.3.6.1.4.1.6527.3.1.2.92</subtree> + <type>included</type> + </view> + </snmp> + <ssh> + <preserve-key>true</preserve-key> + <server-cipher-list-v2> + <cipher> + <index>190</index> + <name>aes256-ctr</name> + </cipher> + <cipher> + <index>192</index> + <name>aes192-ctr</name> + </cipher> + <cipher> + <index>194</index> + <name>aes128-ctr</name> + </cipher> + <cipher> + <index>200</index> + <name>aes128-cbc</name> + </cipher> + <cipher> + <index>205</index> + <name>3des-cbc</name> + </cipher> + <cipher> + <index>225</index> + <name>aes192-cbc</name> + </cipher> + <cipher> + <index>230</index> + <name>aes256-cbc</name> + </cipher> + </server-cipher-list-v2> + <client-cipher-list-v2> + <cipher> + <index>190</index> + <name>aes256-ctr</name> + </cipher> + <cipher> + <index>192</index> + <name>aes192-ctr</name> + </cipher> + <cipher> + <index>194</index> + <name>aes128-ctr</name> + </cipher> + <cipher> + <index>200</index> + <name>aes128-cbc</name> + </cipher> + <cipher> + <index>205</index> + <name>3des-cbc</name> + </cipher> + <cipher> + <index>225</index> + <name>aes192-cbc</name> + </cipher> + <cipher> + <index>230</index> + <name>aes256-cbc</name> + </cipher> + </client-cipher-list-v2> + <server-mac-list-v2> + <mac> + <index>200</index> + <name>hmac-sha2-512</name> + </mac> + <mac> + <index>210</index> + <name>hmac-sha2-256</name> + </mac> + <mac> + <index>215</index> + <name>hmac-sha1</name> + </mac> + <mac> + <index>220</index> + <name>hmac-sha1-96</name> + </mac> + <mac> + <index>225</index> + <name>hmac-md5</name> + </mac> + <mac> + <index>240</index> + <name>hmac-md5-96</name> + </mac> + </server-mac-list-v2> + <client-mac-list-v2> + <mac> + <index>200</index> + <name>hmac-sha2-512</name> + </mac> + <mac> + <index>210</index> + <name>hmac-sha2-256</name> + </mac> + <mac> + <index>215</index> + <name>hmac-sha1</name> + </mac> + <mac> + <index>220</index> + <name>hmac-sha1-96</name> + </mac> + <mac> + <index>225</index> + <name>hmac-md5</name> + </mac> + <mac> + <index>240</index> + <name>hmac-md5-96</name> + </mac> + </client-mac-list-v2> + </ssh> + <user-params> + <authentication-order> + <order>radius</order> + <order>local</order> + </authentication-order> + <local-user> + <user> + <user-name>R4nC1dN0k</user-name> + <password>$2y$10$SKQqRBwvLOhdc6dJJ6FeI.1Yv4fztCf1xmoUTMCPRKIu6wDEAsR4G</password> + <access> + <console>true</console> + </access> + <console> + <member>config_backup</member> + </console> + <public-keys> + <ecdsa> + <ecdsa-key> + <ecdsa-public-key-id>1</ecdsa-public-key-id> + <key-value>AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH8Qe7NoQCFnKnXRl2sPB1yUXf4hokYsN3HUbj6fKkeDCLDL9MWxXRh2Pbns/q1Y79Ab6GkjcnhxFIMT6Wj1i5E=</key-value> + </ecdsa-key> + </ecdsa> + </public-keys> + </user> + <user> + <user-name>admin</user-name> + <password>$2y$10$k2TmajZKvyznJSnXDNCVs.UW7z1s5of1Vy/ZRtsMzKMuTKxUKzUAm</password> + <access> + <console>true</console> + </access> + <console> + <member>administrative</member> + </console> + </user> + <user> + <user-name>inprov</user-name> + <password>$2y$10$KdVzmdaM917QiD2CeK1hI.EAFgTMfjHsLOESCejQytl4bbUNu1EfW</password> + <access> + <console>true</console> + <netconf>true</netconf> + </access> + <console> + <member>administrative</member> + </console> + <public-keys> + <rsa> + <rsa-key> + <rsa-public-key-id>1</rsa-public-key-id> + <key-value>AAAAB3NzaC1yc2EAAAADAQABAAACAQC8MAtn/FRKr7NzeRZo+AURHNYbBVEp9Xy67Fa4eetETCV5IJZ7VZKuGJC/IUD8OLEAKCfpgHoQ+QeJCp5M4llKqbB9EsKHbq9SWcN0oB39jYHsYQO9/CwG3TaQPbwWDCmJowKOkfDVdNjhmD9E5hvsoazIBny29RfXCnYFcogITQ9z49npQdtF8IF+3qNYxGTJUUEt1EFymYpl9c77LFnZuppDQlTdpa8A33klcrhUKTXxn2AZcFdg5ZGBbajTBvFqG/1U/RgCdHpeLxS1UW29FTu7SFllSG/XvEL9Ai91MPMpr07vQVc8DqZFQ5o7AhHkm3fXpvIgnff2YroXZhjF1sIRS7F5WY48o/sCBN36wGmQgfvuxGeQ1B2LDMhdtX0oN0KiMZ2HFuhGJIpmUhB7iMv9aZxJV+/RCjdJIzq6S/ilPZzwOjFy8H2zDy9YPGNQgAI5JJtRcEbCgnqYWfCkY7sr9vK3wwCGDfqhRyUaTj1teVDrCEWdEPSjsTDc9D1JNr/4vnYW3OJH7Cvu+ELXMwfpkad9A0jfdAtDuUoC63sG4Z6ybRdJ80ozlbwSmXc4vLJKm9chPSu9lBsC9/1Vyvn3PeZ6c3NV0ZTwtfTWRSb5S2Go9uYWHR/wppDvhX0LWbWTXG0OJUIu3ik9/asmSF+kCuQ3+XtYSFiMm4Fz0w==</key-value> + </rsa-key> + </rsa> + </public-keys> + </user> + <user> + <user-name>lab_nomios_support</user-name> + <password>$2y$10$ZTzhOaVRQ16MzJ6WtkivM.W7CWx5oFOhkTdrroYx.3S0FuHZLeNdS</password> + <access> + <console>true</console> + </access> + <console> + <member>restricted-mon</member> + </console> + </user> + <user> + <user-name>oxidized</user-name> + <password>$2y$10$TQrZlpBDra86.qoexZUzQeBXDY1FcdDhGWdD9lLxMuFyPVSm0OGy6</password> + <access> + <console>true</console> + </access> + <console> + <member>config_backup</member> + </console> + <public-keys> + <rsa> + <rsa-key> + <rsa-public-key-id>1</rsa-public-key-id> + <key-value>AAAAB3NzaC1yc2EAAAADAQABAAABAQCsK6oYb/QBeJpHYMGtH5wgnhg6urVDCsbKYVh+0tqMMqXchpjVFts6ulBtRUumHKbeUki6W+bP9GK5UQ/aYoNnBopNZSPAQdMFo/d5wg6aUyZYXp5g6LmTQX+seVilSa11CpMmOYRykU/pMaHev/s0RBMgpskhKJxRp+ws0mTX8jaNsgs8DV7cZ9q2LNPZ6Hb01bmTQjwUDXbuZcmbgbvdSca64+X+4rQT5M0uGt6j9U9xncXtn5kdoUkYcFwYQ+n1patGssM8wU6KTxk2jha+S5bN+aK1ZtPkcRhFZjulXJjM0R1GLJuo6OvGsrfTs6yVaiXi7i3Hlv2wlcXXZ6Gb</key-value> + </rsa-key> + </rsa> + </public-keys> + </user> + <user> + <user-name>python</user-name> + <password>$2y$10$XGlShsd8pSkgNdDXusJVo.fnwZJgC.XZznTG1hB9mg3wzYSb7hGLe</password> + <access> + <console>true</console> + </access> + <console> + <member>administrative</member> + </console> + <public-keys> + <rsa> + <rsa-key> + <rsa-public-key-id>1</rsa-public-key-id> + <key-value>AAAAB3NzaC1yc2EAAAADAQABAAABAQDbIxpccubnBvn918JoKpWkzxsX3aCS7H2BUpb7r6tEboOwwpTAnQtiVjMYUsUCL7I7FdujmYK8bwC6YKYFI8fUEdDpthTbLSIfyhapo6eigz30E1RInBaLDrTKD736EMCVkwZPCLilwYuL/IbuZETbd5xXLiW8By2691OC28bKl2AXiW/6MvQ2Pu3vIN1Y3YEYkSCV8vh/rQUQmwJi6CWw+f5R4KWHyyc9t4kSfZPOTyEkaYp67ipeRtQJU2VxlG35mGdHCPHJo6icVmXcMNQRLwX71MTz1jJCtNv8xIkpZQ0u7U2qYLHTvh/HmwNc8riLFLmm24ZaiKdoCpmfnLBX</key-value> + </rsa-key> + </rsa> + </public-keys> + </user> + <user> + <user-name>ronald.vanos</user-name> + <password>$2y$10$CSna2OU95mup7naLQ0486.mWU02W2Bq3jz9RkeyPuvGeSxjtOmixu</password> + <access> + <console>true</console> + </access> + <console> + <member>administrative</member> + </console> + <public-keys> + <rsa> + <rsa-key> + <rsa-public-key-id>1</rsa-public-key-id> + <key-value>AAAAB3NzaC1yc2EAAAADAQABAAABAQC8KZQbwczDck01O8CSixnHc4w1Nz2I/WlY8jSjX0uOm3KKiZ9NnvdCMy3SzG5qNZ7fXFo07Jcav84EGJdNOErZhSEW1C/P629+Ki3sxwyXK/0Je0pNlURe2kUwdgdppRiNuM2EUSBERPMiPmvzkcVQsh/Pqlx/1bd5aYv0Q623uGfOW91z86gZfNCLl40FfcGLmrYHToHrgx8P9GxgwG1HnXC1Ng7N41wz3S6xJXpBMnhJf1selGDvZhEI9jHVYr/KPta3hPea6sP5zn6BAuI2oXOKVV6vUTPzhWmMk3rqb8Kl6g9ae2aO2owyiWlUqvq4DDVkLN8Bwlq177FSyepT</key-value> + </rsa-key> + </rsa> + </public-keys> + </user> + <user> + <user-name>ronald_admin</user-name> + <password>$2y$10$O3E8ayVveKPctz2s/OT/U.C9Dy8IIz5jgb0zmKj7FU1E4NitWcyK6</password> + <access> + <console>true</console> + </access> + <console> + <member>administrative</member> + </console> + </user> + <user> + <user-name>srv_ims_SROS</user-name> + <password>$2y$10$Wib89Y3VCmjysYTB/pAmA.IyL7P04aHDMOqLJjD0ZI4ETgM/rLBHq</password> + <access> + <console>true</console> + </access> + <console> + <member>restricted-mon</member> + </console> + </user> + <user> + <user-name>srv_ne_scripts</user-name> + <password>$2y$10$XGlShsd8pSkgNdDXusJVo.fnwZJgC.XZznTG1hB9mg3wzYSb7hGLe</password> + <access> + <console>true</console> + <netconf>true</netconf> + </access> + <console> + <member>administrative</member> + </console> + <public-keys> + <rsa> + <rsa-key> + <rsa-public-key-id>1</rsa-public-key-id> + <key-value>AAAAB3NzaC1yc2EAAAADAQABAAABAQDbIxpccubnBvn918JoKpWkzxsX3aCS7H2BUpb7r6tEboOwwpTAnQtiVjMYUsUCL7I7FdujmYK8bwC6YKYFI8fUEdDpthTbLSIfyhapo6eigz30E1RInBaLDrTKD736EMCVkwZPCLilwYuL/IbuZETbd5xXLiW8By2691OC28bKl2AXiW/6MvQ2Pu3vIN1Y3YEYkSCV8vh/rQUQmwJi6CWw+f5R4KWHyyc9t4kSfZPOTyEkaYp67ipeRtQJU2VxlG35mGdHCPHJo6icVmXcMNQRLwX71MTz1jJCtNv8xIkpZQ0u7U2qYLHTvh/HmwNc8riLFLmm24ZaiKdoCpmfnLBX</key-value> + </rsa-key> + </rsa> + </public-keys> + <ssh-authentication-method> + <server> + <public-key-only>true</public-key-only> + </server> + </ssh-authentication-method> + </user> + </local-user> + </user-params> + </security> + <time> + <zone> + <standard> + <name>utc</name> + </standard> + </zone> + <ntp> + <admin-state>enable</admin-state> + <server> + <ip-address>62.40.123.21</ip-address> + <router-instance>Base</router-instance> + <key-id>10</key-id> + </server> + <server> + <ip-address>62.40.123.23</ip-address> + <router-instance>Base</router-instance> + <key-id>10</key-id> + </server> + <server> + <ip-address>62.40.123.103</ip-address> + <router-instance>Base</router-instance> + <key-id>10</key-id> + </server> + <authentication-key> + <key-id>10</key-id> + <key>HqPnbTyN1I9H2OI6TlxzuBx8h7+GMgR3 hash2</key> + <type>message-digest</type> + </authentication-key> + </ntp> + </time> + </system> + <test-oam> + <twamp> + <server> + <admin-state>enable</admin-state> + <prefix> + <ip-prefix>62.40.98.36/31</ip-prefix> + </prefix> + <prefix> + <ip-prefix>62.40.98.52/31</ip-prefix> + </prefix> + </server> + </twamp> + </test-oam> + </configure> + </data> + diff --git a/test/per_router/test_celery_worker.py b/test/per_router/test_celery_worker.py index e8a85a93a024963beefa464fbb31356588a5bf1c..50734ddbdd510944660600851e1a0ee4b6b05eb5 100644 --- a/test/per_router/test_celery_worker.py +++ b/test/per_router/test_celery_worker.py @@ -34,7 +34,7 @@ def test_netconf_refresh_config(mocked_worker_module, router, mocked_juniper): # expected to fail pytest.skip(f'test data has no community string for {router}') del backend_db()['netconf:' + router] - worker.reload_router_config_chorded(router) + worker.reload_router_config_juniper(router) assert backend_db()['netconf:' + router] @@ -50,7 +50,7 @@ def test_snmp_refresh_interfaces(mocked_worker_module, router): for k in list(_ifc_keys()): del backend_db()[k] - worker.snmp_refresh_interfaces_chorded(router, 'fake-community', []) + worker.snmp_refresh_interfaces_juniper(router, 'fake-community', []) assert backend_db()['snmp-interfaces:' + router] assert list(_ifc_keys()) @@ -66,7 +66,7 @@ def test_snmp_refresh_peerings(mocked_worker_module, router): for k in list(_ifc_keys()): del backend_db()[k] - worker.snmp_refresh_peerings_chorded(router, 'fake-community', []) + worker.snmp_refresh_peerings_juniper(router, 'fake-community', []) assert list(_ifc_keys()) @@ -97,7 +97,8 @@ def test_reload_router_config(mocked_worker_module, router, mocker): backend_db()[key] = saved_data[key] return saved_data[key] mocker.patch( - 'inventory_provider.tasks.worker.retrieve_and_persist_netconf_config', + 'inventory_provider.tasks.worker.' + 'retrieve_and_persist_netconf_config_juniper', _mocked_retrieve_and_persist_netconf_config) def _mocked_retrieve_and_persist_interface_info(*args, **kwargs): @@ -105,7 +106,8 @@ def test_reload_router_config(mocked_worker_module, router, mocker): backend_db()[key] = saved_data[key] return saved_data[key] mocker.patch( - 'inventory_provider.tasks.worker.retrieve_and_persist_interface_info', + 'inventory_provider.tasks.worker.' + 'retrieve_and_persist_interface_info_juniper', _mocked_retrieve_and_persist_interface_info) def _mocked_snmp_refresh_interfaces_chorded(*args, **kwargs): @@ -114,14 +116,14 @@ def test_reload_router_config(mocked_worker_module, router, mocker): backend_db()[key] = saved_data[key] mocker.patch( - 'inventory_provider.tasks.worker.snmp_refresh_interfaces_chorded', + 'inventory_provider.tasks.worker.snmp_refresh_interfaces_juniper', _mocked_snmp_refresh_interfaces_chorded) def _mocked_snmp_refresh_peerings_chorded(*args, **kwargs): assert len(args) == 3 backend_db().update(saved_peerings) mocker.patch( - 'inventory_provider.tasks.worker.snmp_refresh_peerings_chorded', + 'inventory_provider.tasks.worker.snmp_refresh_peerings_juniper', _mocked_snmp_refresh_peerings_chorded) def _mocked_update_status(self, **kwargs): @@ -130,7 +132,7 @@ def test_reload_router_config(mocked_worker_module, router, mocker): 'inventory_provider.tasks.worker.InventoryTask.update_state', _mocked_update_status) - worker.reload_router_config_chorded(router) + worker.reload_router_config_juniper(router) assert 'netconf:' + router in backend_db() assert 'intinfo:' + router in backend_db() assert 'snmp-interfaces:' + router in backend_db() diff --git a/test/test_flask_config.py b/test/test_flask_config.py index 54d0e1de8ac447ef504643e546e3fabcfacc3fda..e3e010f8d0a1b1ad56539069adc7f3c827e2be41 100644 --- a/test/test_flask_config.py +++ b/test/test_flask_config.py @@ -17,6 +17,11 @@ def config(): 'private-key': 'private_key_content', 'known-hosts': 'known_hosts_content' }, + "nokia-ssh": { + "username": "uSeR-NaMe", + "password": "dummy-password", + "known-hosts": "known-hosts=filename" + }, 'redis-databases': [0, 1, 2], 'ims': { 'api': 'ims_api', diff --git a/test/test_job_routes.py b/test/test_job_routes.py index c7c86e20b091a4f976a2518a240723c0ebc01177..de622e76daea94c14eb621fc644b031539e87cf4 100644 --- a/test/test_job_routes.py +++ b/test/test_job_routes.py @@ -104,7 +104,7 @@ class MockedAsyncResult(object): def test_reload_router_config(client, mocker): delay_result = mocker.patch( - 'inventory_provider.tasks.worker.reload_router_config_chorded.delay') + 'inventory_provider.tasks.worker.reload_router_config_juniper.delay') delay_result.return_value = MockedAsyncResult('bogus task id') rv = client.get( diff --git a/test/test_nokia.py b/test/test_nokia.py new file mode 100644 index 0000000000000000000000000000000000000000..5c64d73ade05f9e305d0cdb2a2417c4dc4a3662f --- /dev/null +++ b/test/test_nokia.py @@ -0,0 +1,25 @@ +import pathlib + +from lxml import etree + +from inventory_provider.nokia import get_lags, interface_addresses + +netconf_doc = etree.parse(pathlib.Path(__file__).parent.joinpath( + 'data/rt0.lon.uk.lab.office.geant.net-netconf-nokia.xml')) + + +def test_get_lags(): + lags = list(get_lags(netconf_doc)) + assert len(lags) == 4 + found_names = {lag['name'] for lag in lags} + expected_names = {'lag-1', 'lag-2', 'lag-3', 'lag-31'} + assert found_names == expected_names + + +def test_interface_addresses(): + if_addresses = list(interface_addresses(netconf_doc)) + assert len(if_addresses) == 9 + found_names = {_interface['interface name'] for _interface in if_addresses} + expected_names = {'lag-1.0', 'lag-2.0', 'system', 'to_rt0_ams_ZR-INFINERA', + 'to_rt0_ams_ZR-NOKIA'} + assert found_names == expected_names diff --git a/test/test_worker.py b/test/test_worker.py index 9ddfe46d0ad3ec64d64b6467362d423077211dec..50be2e8f0acd6639716598ae2ac033718fa8e109 100644 --- a/test/test_worker.py +++ b/test/test_worker.py @@ -1,10 +1,14 @@ import json +import pathlib + +import jsonschema +from lxml import etree from inventory_provider.tasks import common from inventory_provider.tasks.worker import transform_ims_data, \ extract_ims_data, persist_ims_data, \ retrieve_and_persist_neteng_managed_device_list, \ - populate_poller_interfaces_cache + populate_poller_interfaces_cache, refresh_nokia_interface_list def test_extract_ims_data(mocker): @@ -834,3 +838,51 @@ def test_populate_poller_interfaces_cache( assert json.loads(no_lab) == no_lab_res all_res = no_lab_res + lab_res assert json.loads(all) == all_res + + +def test_refresh_nokia_interface_list(mocked_redis, data_config): + netconf_config = etree.parse(pathlib.Path(__file__).parent.joinpath( + 'data/rt0.lon.uk.lab.office.geant.net-netconf-nokia.xml')) + r = common._get_redis(data_config) + refresh_nokia_interface_list('rt0.lon.uk.lab.office.geant.net', netconf_config, r, True) + keybase = 'lab:netconf-interface-bundles:rt0.lon.uk.lab.office.geant.net:' + keys = r.keys(f'{keybase}*') + bundles = {} + for k in keys: + k = k.decode('utf-8') + bundles[k] = json.loads(r.get(k).decode('utf-8')) + + expected_bundles = { + f'{keybase}lag-1': ['1/1/c8/1', '1/1/c9/1'], + f'{keybase}lag-2': ['2/1/c8/1'], + f'{keybase}lag-3': ['1/1/c2/2'], + f'{keybase}lag-31': ['1/1/c2/1'], + } + assert bundles == expected_bundles + + interfaces = json.loads(r.get( + 'lab:netconf-interfaces-hosts:rt0.lon.uk.lab.office.geant.net' + ).decode('utf-8')) + assert len(interfaces) == 9 + + schema = { + '$schema': 'http://json-schema.org/draft-07/schema#', + 'type': 'array', + 'items': { + 'type': 'object', + 'properties': { + 'name': { + 'type': 'string' + }, + 'interface address': { + 'type': 'string' + }, + 'interface name': { + 'type': 'string' + } + }, + 'required': ['name', 'interface address', 'interface name'], + 'additionalProperties': False + } + } + jsonschema.validate(interfaces, schema)