code: def _periodic_task_int(self):
          
          for intf in self.intf_list:
              attr_obj = self.get_attr_obj(intf)
              status = attr_obj.get_lldp_status()
              if not status:
                  ret = self.pub_lldp.enable_lldp(intf)
                  attr_obj.update_lldp_status(ret)
                  continue
              bond_intf_change = self._check_bond_interface_change(
                  attr_obj.get_phy_interface(), attr_obj)
              tlv_data = self.pub_lldp.get_lldp_tlv(intf)
              # This should take care of storing the information of interest
              if self.cmp_store_tlv_params(intf, tlv_data) or (
                  attr_obj.get_db_retry_status() or bond_intf_change or (
                      attr_obj.get_topo_disc_send_cnt() > (
                      constants.TOPO_DISC_SEND_THRESHOLD))):
                  # Passing the interface attribute object to CB
                  ret = self.cb(intf, attr_obj)
                  status = not ret
                  attr_obj.store_db_retry_status(status)
                  attr_obj.reset_topo_disc_send_cnt()
              else:
                  attr_obj.incr_topo_disc_send_cnt()
docs: Internal periodic discovery task routine to check TLV attributes.
  
          This routine retrieves the LLDP TLC's on all its configured interfaces.
          If the retrieved TLC is different than the stored TLV, it invokes the
          callback.