92acc718e4f66b77ee156e185cec294c90bbc9b7
[tpg/acess2.git] / Tools / NetTest_Runner / test_arp.c
1 /*
2  */
3 #include "test.h"
4 #include "tests.h"
5 #include "net.h"
6 #include "stack.h"
7 #include "arp.h"
8
9 bool Test_ARP_Basic(void)
10 {
11         TEST_SETNAME(__func__);
12         size_t  rxlen;
13         char rxbuf[MTU];
14         
15         // Request test machine's IP
16         ARP_SendRequest(0, BLOB(TEST_IP));
17         TEST_ASSERT( rxlen = Net_Receive(0, sizeof(rxbuf), rxbuf, 1000) );
18         TEST_ASSERT( ARP_Pkt_IsResponse(rxlen, rxbuf, BLOB(TEST_IP), BLOB(TEST_MAC)) );
19
20         // Request host machine's IP
21         ARP_SendRequest(0, BLOB(HOST_IP));
22         TEST_ASSERT( Net_Receive(0, sizeof(rxbuf), rxbuf, 1000) == 0 );
23
24         #if 0   
25         // Ask test machine to request our IP
26         Stack_SendCommand("arprequest "HOST_IP_STR);
27         TEST_ASSERT( rxlen = Net_Receive(0, sizeof(rxbuf), rxbuf, 1000) );
28         TEST_ASSERT( ARP_Pkt_IsRequest(rxlen, rxbuf, HOST_IP) );
29
30         // Respond
31         ARP_SendResponse(0, HOST_IP, HOST_MAC);
32         
33         // Ask test machine to request our IP again (expecting nothing)
34         Stack_SendCommand("arprequest "HOST_IP_STR);
35         TEST_ASSERT( !Net_Receive(0, sizeof(rxbuf), rxbuf, 1000) );
36         #endif
37         
38         return true;
39 }

UCC git Repository :: git.ucc.asn.au