
Evening (o;
Something puzzed me today...(and still is ;o)
In "net/net.c" in function PingSend we fill out the ping packet to be sent later on after ARP reply, which is pointed to by "NetArpWaitTxPacket"..right?
When I place a call to print out the packet just before starting with ARP like:
/* and do the ARP request */ NetArpWaitTry = 1; NetArpWaitTimerStart = get_timer(0); printf ("Ping packet filled...\n"); print_packet (NetArpWaitTxPacket, NetArpWaitTxPacketSize); ArpRequest(); return 1; /* waiting */
I get as a result (as also captured with ethereal):
Ping packet filled... Packet of length 42 0000 0000 0000 0280 ad20 31b8 0800 0000 0000 0000 0000 0000 0000 0a00 0404 0a00 0105 0000 0000 0000 0000
So only source MAC and PROT_IP as well as source/dest IP addresses are filled out correctly..rest is blank...
thanx in advance for hints (o; rick