1 #ifndef __ARP_H_ 2 #define __ARP_H_ 3 4 #include "mos_api.h" 5 6 #define MAX_ARPENTRY 1024 7 #define RUN_ARP 1 8 #define ARP_TIMEOUT_SEC 1 9 10 int 11 InitARPTable(); 12 13 unsigned char * 14 GetHWaddr(uint32_t ip); 15 16 unsigned char * 17 GetDestinationHWaddr(uint32_t dip); 18 19 void 20 RequestARP(mtcp_manager_t mtcp, uint32_t ip, int nif, uint32_t cur_ts); 21 22 int 23 ProcessARPPacket(mtcp_manager_t mtcp, uint32_t cur_ts, 24 const int ifidx, unsigned char* pkt_data, int len); 25 26 void 27 PublishARP(mtcp_manager_t mtcp); 28 29 void 30 PrintARPTable(); 31 32 void 33 ForwardARPPacket(mtcp_manager_t mtcp, struct pkt_ctx *pctx); 34 35 void 36 ARPTimer(mtcp_manager_t mtcp, uint32_t cur_ts); 37 38 #endif /* __ARP_H_ */ 39