Definition in file arp.c.
Go to the source code of this file.
Functions | |
UINT8 | process_arp (struct ethernet_frame *frame) |
Process and analyze the received ARP packet. | |
void | arp_send_response (void) |
Send response to an ARP request. | |
void | arp_get_response (void) |
Extract data from the received ARP packet. | |
void | arp_send_req (UINT8 entry) |
Send ARP request based on information in an ARP cache table. | |
INT8 | arp_alloc (UINT8 type) |
Allocate ARP entry in ARP cache table. | |
INT8 | arp_add (UINT32 pra, UINT8 *hwadr, UINT8 type) |
Add given IP address and MAC address to ARP cache. | |
arp_entry * | arp_find (LWORD pra, struct netif *machine, UINT8 type) |
Find an ARP entry given a protocol address. | |
void | arp_manage (void) |
Manage ARP cache periodically. | |
void | arp_init (void) |
Initialize data structures for ARP processing. | |
BYTE | is_subnet (LWORD ipadr, struct netif *machine) |
Checks if a given IP address belongs to the subnet of a given machine. | |
Variables | |
arp_entry | arp_table [ARP_TSIZE] |
ARP cache table holding ARP_TSIZE cache values. | |
UINT8 | arp_timer |
ARP timer handle used for measuring timeouts, doing retransmissions,.. |
|
Definition at line 116 of file arp.c. References arp_get_response(), arp_send_response(), ethernet_frame::buf_index, ethernet_frame::frame_size, MAXHWALEN, MAXPRALEN, NETWORK_RECEIVE_INITIALIZE, ethernet_frame::protocol, and RECEIVE_NETWORK_B. |
|
Definition at line 188 of file arp.c. References arp_add(), ARP_BUFFER, ARP_TEMP_IP, MAXHWALEN, MAXPRALEN, NETWORK_ADD_DATALINK, NETWORK_COMPLETE_SEND, NETWORK_SEND_INITIALIZE, PROTOCOL_ARP, RECEIVE_NETWORK_B, and SEND_NETWORK_B. Referenced by process_arp(). |
|
Definition at line 307 of file arp.c. References ARP_FREE, ARP_MAXRETRY, ARP_RESERVED, ARP_RESOLVED, ARP_TIMEOUT, arp_entry::hwadr, MAXHWALEN, MAXPRALEN, arp_entry::pradr, RECEIVE_NETWORK_B, arp_entry::retries, arp_entry::state, and arp_entry::ttl. Referenced by process_arp(). |
|
Definition at line 390 of file arp.c. References ARP_BUFFER, MAXHWALEN, MAXPRALEN, NETWORK_ADD_DATALINK, NETWORK_COMPLETE_SEND, NETWORK_SEND_INITIALIZE, arp_entry::pradr, PROTOCOL_ARP, and SEND_NETWORK_B. Referenced by arp_find(), and arp_manage(). |
|
Definition at line 466 of file arp.c. References ARP_FREE, ARP_RESERVED, ARP_TEMP_IP, arp_entry::state, and arp_entry::type. Referenced by arp_add(), and arp_find(). |
|
Definition at line 552 of file arp.c. References arp_alloc(), ARP_FIXED_IP, ARP_FREE, ARP_MAXRETRY, ARP_RESOLVED, ARP_TIMEOUT, FALSE, arp_entry::hwadr, is_subnet(), MAXHWALEN, arp_entry::pradr, arp_entry::retries, arp_entry::state, and arp_entry::ttl. Referenced by arp_send_response(), and process_ip_in(). |
|
Definition at line 639 of file arp.c. References arp_alloc(), ARP_FIXED_IP, ARP_FREE, ARP_MAXRETRY, ARP_PENDING, ARP_RESEND, ARP_RESOLVED, arp_send_req(), arp_entry::hwadr, is_subnet(), arp_entry::pradr, arp_entry::retries, arp_entry::state, and arp_entry::ttl. Referenced by process_ip_out(). |
|
Definition at line 960 of file arp.c. References netif::localip, and netif::netmask. Referenced by arp_add(), and arp_find(). |
|
ARP cache table is an array of arp_entry structures holding all of the necessary information about the state, timeouts and hardware/IP addresses of individual entries. By modifying the ARP_TSIZE, cache size can be changed and thus RAM memory occupied by the ARP cache significantly reduced or increased. See arp_entry definition for more information about struct fields. |
|
ARP module uses this timer handle to detect that a certain period of time has expired (defined by the value of ARP_MANG_TOUT) and that cache entries should be examined to see what to do with them. Definition at line 94 of file arp.c. Referenced by arp_init(), and arp_manage(). |