|
Embedded Xinu Operating System
An ongoing research project and educational operating system.
|
Address Resolution Protocol. More...
Functions | |
| struct arpEntry * | arpAlloc (void) |
| thread | arpDaemon (void) |
| syscall | arpFree (struct arpEntry *entry) |
| struct arpEntry * | arpGetEntry (const struct netaddr *praddr) |
| syscall | arpInit (void) |
| syscall | arpLookup (struct netif *netptr, const struct netaddr *praddr, struct netaddr *hwaddr) |
| syscall | arpNotify (struct arpEntry *entry, message msg) |
| syscall | arpRecv (struct packet *pkt) |
| syscall | arpSendReply (struct packet *pkt) |
| syscall | arpSendRqst (struct arpEntry *entry) |
Address Resolution Protocol.
| struct arpEntry* arpAlloc | ( | void | ) |
Allocates an entry from the ARP table.
| thread arpDaemon | ( | void | ) |
ARP daemon to manage the ARP table.
| syscall arpFree | ( | struct arpEntry * | entry | ) |
Frees an entry from the ARP table.
| struct arpEntry* arpGetEntry | ( | const struct netaddr * | praddr | ) |
Obtains an entry from the ARP table given a protocol address.
| praddr | protocol address |
< pointer to ARP table entry
< interrupt state
| syscall arpInit | ( | void | ) |
Initializes ARP table and ARP daemon.
| syscall arpLookup | ( | struct netif * | netptr, |
| const struct netaddr * | praddr, | ||
| struct netaddr * | hwaddr | ||
| ) |
Obtains a hardware address from the ARP table given a protocol address.
| netptr | network interface |
| praddr | protocol address |
| hwaddr | buffer into which hardware address should be placed |
< pointer to ARP table entry
< num of ARP lookups performed
< TTL for ARP table entry
< interrupt state
| syscall arpNotify | ( | struct arpEntry * | entry, |
| message | msg | ||
| ) |
Send a message to threads waiting on resolution of an ARP table entry.
| entry | ARP table entry |
| msg | message to send to waiting threads |
< index into ARP table
< interrupt state
| syscall arpRecv | ( | struct packet * | pkt | ) |
Processes an incoming ARP packet.
| pkt | pointer to the incoming packet return OK if packet was processed succesfully, otherwise SYSERR |
< pointer to ARP table entry
< source hardware address
< source protocol address
< destination protocol address
< interrupt state
| syscall arpSendReply | ( | struct packet * | pkt | ) |
Sends an ARP reply for an ARP request over a network interface.
| pkt | ARP packet to reply to |
| syscall arpSendRqst | ( | struct arpEntry * | entry | ) |
Sends an ARP request for an ARP table entry over a network interface.
| entry | ARP table entry |
1.8.5