Beispiel #1
0
    def reinit_data(self):
        """
        Subclass update interface information
        """
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        self.mgmt_oid_name_map, \
        self.mgmt_alias_map = mibs.init_mgmt_interface_tables(self.db_conn)

        # merge dataplane and mgmt ports
        self.oid_name_map.update(self.mgmt_oid_name_map)
        self.if_alias_map.update(self.mgmt_alias_map)

        self.if_range = []
        # get local port kvs from APP_BD's PORT_TABLE
        self.loc_port_data = {}
        for if_oid, if_name in self.oid_name_map.items():
            self.update_interface_data(if_name)
            self.if_range.append((if_oid, ))
        self.if_range.sort()
        if not self.loc_port_data:
            logger.warning("0 - b'PORT_TABLE' is empty. No local port information could be retrieved.")
Beispiel #2
0
    def reinit_data(self):
        """
        Subclass update interface information
        """
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        self.mgmt_oid_name_map, \
        self.mgmt_alias_map = mibs.init_mgmt_interface_tables(self.db_conn)

        # merge dataplane and mgmt ports
        self.oid_name_map.update(self.mgmt_oid_name_map)
        self.if_alias_map.update(self.mgmt_alias_map)

        self.if_range = []
        # get local port kvs from APP_BD's PORT_TABLE
        self.loc_port_data = {}
        for if_oid, if_name in self.oid_name_map.items():
            self.update_interface_data(if_name)
            self.if_range.append((if_oid, ))
        self.if_range.sort()
        if not self.loc_port_data:
            logger.warning(
                "0 - b'PORT_TABLE' is empty. No local port information could be retrieved."
            )
Beispiel #3
0
 def reinit_data(self):
     """
     Subclass update interface information
     """
     self.if_name_map, \
     self.if_alias_map, \
     self.if_id_map, \
     self.oid_sai_map, \
     self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)
Beispiel #4
0
 def __init__(self):
     super().__init__()
     self.db_conn, \
     self.if_name_map, \
     self.if_alias_map, \
     self.if_id_map, \
     self.oid_sai_map, \
     self.oid_name_map = mibs.init_sync_d_interface_tables()
     # call our update method once to "seed" data before the "Agent" starts accepting requests.
     self.update_data()
    def reinit_data(self):
        """
        Subclass update interface information
        """
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        self.update_data()
Beispiel #6
0
    def reinit_data(self):
        """
        Subclass update interface information
        """
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        self.if_bpid_map = port_util.get_bridge_port_map(self.db_conn)
Beispiel #7
0
    def __init__(self):
        super().__init__()

        self.db_conn, \
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables()

        self.if_counters = {}
        self.update_data()
Beispiel #8
0
    def reinit_data(self):
        """
        Subclass update interface information
        """
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        self.if_bpid_map = port_util.get_bridge_port_map(self.db_conn)
        self.bvid_vlan_map.clear()
    def reinit_data(self):
        """
        Subclass reinit data routine.
        """
        _, _, _, _, self.oid_name_map = mibs.init_sync_d_interface_tables(
            self.db_conn)
        # establish connection to application database.
        self.db_conn.connect(mibs.APPL_DB)

        self.if_range = []
        self.mgmt_ips = {}
        for if_oid, if_name in self.oid_name_map.items():
            self.update_rem_if_mgmt(if_oid, if_name)
    def reinit_data(self):
        """
        Subclass update interface information
        """
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        self.port_queues_map, self.queue_stat_map, self.port_queue_list_map = \
            mibs.init_sync_d_queue_tables(self.db_conn)

        self.queue_type_map = self.db_conn.get_all(mibs.COUNTERS_DB, "COUNTERS_QUEUE_TYPE_MAP", blocking=False)

        self.update_data()
Beispiel #11
0
    def reinit_data(self):
        """
        Subclass update interface information
        """
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        ## Note: if if_id_map update, invalid_port_oids should be initialized to empty set
        if self.prev_if_id_map != self.if_id_map:
            self.prev_if_id_map = self.if_id_map
            self.invalid_port_oids = set()

        self.if_bpid_map = port_util.get_bridge_port_map(self.db_conn)
Beispiel #12
0
    def reinit_data(self):
        """
        Subclass update interface information
        """
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        self.lag_name_if_name_map, \
        self.if_name_lag_name_map, \
        self.oid_lag_name_map = mibs.init_sync_d_lag_tables(self.db_conn)

        self.if_range = sorted(list(self.oid_sai_map.keys()) + list(self.oid_lag_name_map.keys()))
        self.if_range = [(i,) for i in self.if_range]
Beispiel #13
0
    def reinit_data(self):
        """
        Subclass reinit data routine.
        """
        _, _, _, _, self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        self.mgmt_oid_name_map, _ = mibs.init_mgmt_interface_tables(self.db_conn)

        self.oid_name_map.update(self.mgmt_oid_name_map)

        # establish connection to application database.
        self.db_conn.connect(mibs.APPL_DB)

        self.if_range = []
        self.mgmt_ips = {}
        for if_oid, if_name in self.oid_name_map.items():
            self.update_rem_if_mgmt(if_oid, if_name)
    def reinit_data(self):
        """
        Re-initialize all data.
        """

        # reinit cache
        self.physical_classes_map = {}
        self.physical_description_map = {}
        self.physical_hw_version_map = {}
        self.physical_serial_number_map = {}
        self.physical_mfg_name_map = {}
        self.physical_model_name_map = {}

        # update interface maps
        _, self.if_alias_map, _, _, _ = \
            mibs.init_sync_d_interface_tables(SonicV2Connector())

        device_metadata = mibs.get_device_metadata(self.statedb)
        chassis_sub_id = (self.CHASSIS_ID, )
        self.physical_entities = [chassis_sub_id]

        if not device_metadata or not device_metadata.get(
                b"chassis_serial_number"):
            chassis_serial_number = ""
        else:
            chassis_serial_number = device_metadata[b"chassis_serial_number"]

        self.physical_classes_map[chassis_sub_id] = PhysicalClass.CHASSIS
        self.physical_serial_number_map[chassis_sub_id] = chassis_serial_number

        # retrieve the initial list of transceivers that are present in the system
        transceiver_info = self.statedb.keys(self.statedb.STATE_DB,
                                             self.TRANSCEIVER_KEY_PATTERN)
        if transceiver_info:
            self.transceiver_entries = [entry.decode() \
                for entry in transceiver_info]
        else:
            self.transceiver_entries = []

        # update cache with initial data
        for transceiver_entry in self.transceiver_entries:
            # extract interface name
            interface = transceiver_entry.split(
                mibs.TABLE_NAME_SEPARATOR_VBAR)[-1]
            self._update_transceiver_cache(interface)
    def reinit_data(self):
        """
        Subclass update interface information
        """
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        self.port_queues_map, self.queue_stat_map, self.port_queue_list_map = \
            mibs.init_sync_d_queue_tables(self.db_conn)

        self.queue_type_map = self.db_conn.get_all(mibs.COUNTERS_DB,
                                                   "COUNTERS_QUEUE_TYPE_MAP",
                                                   blocking=False)

        self.update_data()
Beispiel #16
0
    def __init__(self):
        super().__init__()

        self.db_conn, \
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables()

        # establish connection to application database.
        self.db_conn.connect(mibs.APPL_DB)

        # cache of interface counters
        # { sai_id -> { 'counter': 'value' } }
        self.lldp_counters = {}
        self.sai_ids = []
        # call our update method once to "seed" data before the "Agent" starts accepting requests.
        self.update_data()
Beispiel #17
0
    def reinit_data(self):
        """
        Subclass update interface information
        """
        self.if_name_map, \
        self.if_alias_map, \
        self.if_id_map, \
        self.oid_sai_map, \
        self.oid_name_map = mibs.init_sync_d_interface_tables(self.db_conn)

        self.lag_name_if_name_map, \
        self.if_name_lag_name_map, \
        self.oid_lag_name_map = mibs.init_sync_d_lag_tables(self.db_conn)

        self.mgmt_oid_name_map, \
        self.mgmt_alias_map = mibs.init_mgmt_interface_tables(self.db_conn)

        self.if_range = sorted(list(self.oid_sai_map.keys()) +
                               list(self.oid_lag_name_map.keys()) +
                               list(self.mgmt_oid_name_map.keys()))
        self.if_range = [(i,) for i in self.if_range]
Beispiel #18
0
 def __init__(self):
     super().__init__()
     self.tos = 0  # ipCidrRouteTos
     self.db_conn, _, _, _, _, _ = mibs.init_sync_d_interface_tables()
     self.update_data()