Q1. How to force OOPS never go'DIRECT'?
A1. There are 2 ways:
    1) to use parent directive (not the one mentioned in the icp-peer description,
       but that one which is 'parent xxx.yyy.zzz 3128')
       In this case 
       a) ALL requests (except for ones occurring in local-domain or local-networks)
    	  will be satisfied through parent.
       b) no icp-requests are sent
       c) if there is no use of local-networks directive in oops.cfg,
          then no attempts to resolve names will be made.
       d) Requests to hosts occurring in local-domain or local-networks
          are satisfied directly.

    2) to use icp-peer parent description. In this case on getting
       the request from a client, icp-request is sent to all icp-peer (both
       parent and sibling). On receiving a 'HIT' reply from anywhere 
        - we go there. Only if we get 'MISS' we go to the parent, being 
       the quickest of all to have sent 'MISS' reply. And only if there isn't any   
       reply from parents we go directly. If we assume the latter variant
       is rather seldom, then oops can be considered to 
       go always through the fastest parent.

Q2. I compiled it successfully, ran it and I saw the following in oops.log:
    > -------------------------------------------------------
    > >>>>[0x400]db_open: Invalid argument                              
    > [0x400]oops 1.2d Started                                      
    > [0x400]DB engine by Sleepycat Software: DB 2.4.14: (6/2/98)   
    At this time nothing is being written in the disk cache. Why is it so? What have I  
    got to do?
A2. The problem lies in the fact that OOPS was compiled with the old version of
    DB library. You've got to install the new version, run configure and
    make. You can download the fresh version from www.sleepycat.com.


Q3. I formatted storages which in their sum should occupy 1Gb, but the free space  
    volume on the disk was hardly changed, however. And should it be like that?
A3. Yes, it should. At formatting the following operations take place:
    1) a storage file is created, if it wasn't made before
    2) 'super-block' and bitmap are created and get stored in the beginning of the file
    3) seek on the last file byte of the storage is made and one byte is being written
       That is - the storage formatted this way represents a "hole"
       in file system, which will be filled in according to documents' saving. 
       
    If you don't like such behavior, it is possible to create storages in advance with 
the help of the following command:	
    dd if=/dev/null of=storage ...
    In this case you'll reserve the necessary space at once.
    After such dd don't forget, please, to run oops -z for this storage,
    you know, dd doesn't create any bitmap and superblock...

Q4. How to set up Transparent proxy?
A4. There are two independent parts of transparent proxy setup: IP packets
    forwarding setup and proxy setup. The first part is absolutely the same
    as for Squid.

    Second part is different.
    1). Uncomment transparent module description in oops.cfg. You will
	have something like this

        module transparent {
                myport 3128
        }

	myport is port where your router will forward packets.

    2) In the description of your local group (for your network) edit
       line redir_mods: add word 'transparent'. You will have something like
       this

	redir_mods transparent;

	or

	redir_mods      transparent redir accel;

    If you can - set up ipfilter on your computer, this will allow oops to
    handle requests which have no 'Host:' header. Oops will authomatically
    discover ipfilter during ./configure.

    If something goes wrong you will receive error messages "Bad formed URL".
    To find what is wrong use next steps:

	1) Enter command(substitute with your values):

		telnet proxyhost myport

	   end enter next lines:

		GET / HTTP/1.0<ENTER>
		Host: www.cnn.com<ENTER>
		<ENTER>

	   You should get CNN page as responce.  You can (and should) check
	   this step even before you set up packet forwarding.

	2) Use tcpdump or snoop to check that your forwarding is working
	   properly.

Q5. How to find which group given address belongs to?
A5. In the group description you will see two directives:
    networks and/or networks_acl. networks_acl have higher priority: they are
    checked first in the order they appear in oops.cfg. If request match
    networks_acl for some group - we use this group.

    If request will not match any networks_acl, then we use networks.
    Networks are sorted so that more 'specific' networks checked first.
    
    For example, networks

	0/0
	192.168.0.0/24
	192.168.0.0/25
                     
     will be checked in next order:
     

        192.168.0.0/25
        192.168.0.0/24
        0/0

     so that host 192.168.0.1 will belong to group with 192.168.0.0/25 in
     description.

Q6. Which platform is best for OOPS?
A6. I develop and use OOPS under Solaris, and think this is best platform
    (both intel and sparc). Next and very close go FreeBSD (may-be it is
    even better on some parameters). Alas, as for today, you can use OOPS
    under Linux for limited number of simultaneous connections. This is
    because Linux use model 'one thread-one process', and OOPS use model one
    'connection-one thread'

Q7. Storages was formatted, no error messaages at startup, but disk cache
    seems to be empty even after some time.
A7. OOPS have two-level cache: in-memory and on-disc. Documents are swapped to
    disc only whn total volume of in-memory cache become larger then lo_mark.
    So, if uptime of oops is small, or your traffic is small, or you have lo_mark
    too high you can see no documents in on-disc cache.
