TAS
TCP Acceleration as an OS Service
|
ARP Protocol Handling. More...
![]() |
Functions | |
int | arp_init (void) |
int | arp_request (struct nicif_completion *comp, uint32_t ip, uint64_t *mac) |
void | arp_packet (const void *pkt, uint16_t len) |
void | arp_timeout (struct timeout *to, enum timeout_type type) |
ARP Protocol Handling.
int arp_init | ( | void | ) |
Initialize ARP subsystem
Definition at line 58 of file arp.c.
References configuration::ip, and configuration::quiet.
void arp_packet | ( | const void * | pkt, |
uint16_t | len | ||
) |
RX processing for an ARP packet.
pkt | Pointer to packet |
len | Length of packet |
Definition at line 138 of file arp.c.
References configuration::ip, and util_timeout_disarm().
int arp_request | ( | struct nicif_completion * | comp, |
uint32_t | ip, | ||
uint64_t * | mac | ||
) |
Resolve IP address to MAC address using ARP resolution.
This function can either return success immediately in case on an ARP cache hit, or return asynchronously if an ARP request was sent out.
comp | Context for asynchronous return |
ip | IP address to be resolved |
mac | Pointer of memory location where destination MAC should be stored. |
Definition at line 81 of file arp.c.
References configuration::arp_to, and util_timeout_arm().
Referenced by routing_resolve().
void arp_timeout | ( | struct timeout * | to, |
enum timeout_type | type | ||
) |
ARP timeout triggered.
to | Timeout that triggered |
type | Timeout type |
Definition at line 209 of file arp.c.
References configuration::arp_to_max, configuration::ip, nicif_tx_alloc(), nicif_tx_send(), and util_timeout_arm().