## Last updated : Mon Mar 11 15:52:43 1996

When the bootpc code fails to find a suitable server or reply it
prints a message like:

>  Unable to locate an IP address for this host.
>      ***Please report this problem**
> 
>           [Unable to continue]
> 

The client then goes into a loop forwever sleeping.  The reason for
this is that carrying on is probably foolish so it waits for a human
to interrupt it and sort out the problem.  If you really know what you
are doing then you can set --returniffail to cause it to return.
Using bootpc like this you can tell if your machine is connected to
the network.  I use this for machines which are sometimes on the net,
but get taken home by their users sometimes.

If it fails try running --debug --verbose to see if this sheds any
light on the problem.

The reasons it can fail that I've encountered are:

 o  No bootp server is serving this client on this network
 x  Set one up.  If you want to disable networking if there is no
    reply to bootp see the --returniffails option.  There is support
    for this in rc.bootp now.

 o  Your default network card doesn't get you to the local network, or is
    filtered or firewalled and not letting bootp packets through.
 x  Try using --server IPaddress of the server, check the routes
    you have set allow all broadcast route to the local network.

 o  You are using --server to point to a server which doesn't run a
    bootp server
 x  Try not using it.

 o  Packets from bootpc don't reach the server, watching the network
    they seem to go somewhere else.
 x  You have a default route set up which doesn't reach the bootp
    server.  E.g. testing bootpc on a live system with the default
    route pointing at your external router.
    The rc.bootp script sets up a simple default route to the local
    net.  If you can't see the bootp server from this you need a
    router which understands the bootp gateway protocol.  For testing,
    just set --server to point at your local subnet's broadcast
    address.  e.g. I use 131.111.16.255.

 o  You are using --hwaddr and the bootp server responds directly to
    the MAC address quoted not to the machine generating the request.
 x  Try not using it.  In modern bootp servers you can tell it to
    broadcast the replies or reply to a known other address, this can
    be helpful for debugging.

 o  The server doesn't understand RFC1497 cookies (you get not all the
    information back and a "WARNING bp_xid mismatch" probably.)
 x  Install a newer bootp server, or make do with the information you
    can get from the old one.

 o  The ping test fails with an "bootpc: unknown protocol icmp." error.
 x  You don't have ICMP defined in /etc/protocols, fix it.

If these don't seem to be the problem, use strace to trace the
execution with --debug and --verbose and mail me the output, repeat
also with --server IPaddress so I can try to see what went wrong.

e-mail them to J.S.Peatfield@damtp.cam.ac.uk, I'll try to reply with
suggestions or more questions pretty soon.

-- Jon
