IP address assignment via BOOTP server

Hi All,
I am using the 3315 Rabbit Ethernet Module and need to interface it with a crossover cable to a computer running BOOTP server.
I tried the DHCP_BOOTFILE.c sample with a LAN (DHCP) connection and the IP address was assigned. When I change one line of code to do BOOTP_ONLY while running DC 9.52 I get the following:

========= DHCP_BOOTFILE.C =========
IP: pkt_init reserved 10 buffers at B8FA/000B7464
IP: i/f 0 using hwa :00:90:C2:CF:2C:D4
Interface 0 is qualified for DHCP.
Starting network (DHCP timeout 20 seconds)…
DHCP: Sending BOOTP request on i/f 0
NET: ifconfig() bad or inappropriate param ID: 12
Done sock_init()
DHCP: retransmit in state 8 -> 7
DHCP: Sending BOOTP request on i/f 0
DHCP: incoming on i/f 0
DHCP: mismatch XID (got C8407388, expecting D42E046E)
DHCP: retransmit in state 8 -> 7
DHCP: Sending BOOTP request on i/f 0
DHCP: overall timeout (6 sec)
DHCP: i/f 0 has timed out.
DHCP: Sending BOOTP request on i/f 0
DHCP: retransmit in state 8 -> 7
DHCP: Sending BOOTP request on i/f 0
DHCP: retransmit in state 8 -> 7
DHCP: Sending BOOTP request on i/f 0

I read a lot of stuff but all talks about DHCP and says that BOOTP is same. Has anyone implemented BOOTP protocol. The ifconfig() function scares me. I though that just uncommenting out BOOTP_ONLY would do it but maybe the function needs to be tweeked. Please help me out.
Dmitry

I also tried using ETHEREAL to look at traffic. Can be downloaded at:
http://www.ethereal.com/download.html

The attached files are PC to PC query outcome and PC to Rabbit outcome and can be viewed with Ethereal software. If anyone can please take a look and see why there are some differences in the triffic.

With etherreal (beware of LAN switches, dropping the packets on the “monitor” port), you should be able to see that the bootp request is being placed on the wire, and that the bootp/dhcp server is sending a reply.

Or, if you have a reasonably sane dhcp/bootp server, you should be able to switch on “debug” tracing, and see the request come in, and the reply being sent back.

From that, you have at least identified which “half” has the problem - the rabbit requester, the bootp responder, or the rabbit reponse-processing.

Don’t want to upset anyone, but you have put the rabbit MAC address into the responder dhcp/bootp table - yes?

I run my rabbit in DHCP mode, but fix it’s IP address at the dhcp/bootp server end (on a linux fedora server, as it happens), and it works a charm.

Got it!
Someone found the problem for me. The BOOTP.lib file was not sending the full bootp request so he added the padding to the message and now the server replies. I attached the new library file.
Thank you all.