1 /* 2 * this file used by (at least) the kernel, arpd, snoopy, tboot 3 */ 4 typedef struct Arppkt Arppkt; 5 typedef struct Arpentry Arpentry; 6 typedef struct Arpstats Arpstats; 7 8 /* Format of ethernet arp request */ 9 struct Arppkt { 10 uchar d[6]; 11 uchar s[6]; 12 uchar type[2]; 13 uchar hrd[2]; 14 uchar pro[2]; 15 uchar hln; 16 uchar pln; 17 uchar op[2]; 18 uchar sha[6]; 19 uchar spa[4]; 20 uchar tha[6]; 21 uchar tpa[4]; 22 }; 23 24 #define ARPSIZE 42 25 26 /* Format of request from starp to user level arpd */ 27 struct Arpentry { 28 uchar etaddr[6]; 29 uchar ipaddr[4]; 30 }; 31 32 /* Arp cache statistics */ 33 struct Arpstats { 34 int hit; 35 int miss; 36 int failed; 37 }; 38 39 #define ET_ARP 0x0806 40 #define ET_RARP 0x8035 41 42 #define ARP_REQUEST 1 43 #define ARP_REPLY 2 44 #define RARP_REQUEST 3 45 #define RARP_REPLY 4 46