Used to store and manipulate IPv4 addresses in dual stack mode.
Definition nettypes.h:225
Used to store and manipulate MAC addresses.
Definition nettypes.h:69
int GetProperInterface4(IPADDR4 dst)
Get the appropriate network interface for routing to a destination IP.
void InitializeArp()
Initialize ARP subsystem (internal use only)
void processArp(PoolPtr p, PEFRAME pF)
Process incoming ARP packets (internal use only)
void DeleteArpFromIp(IPADDR4 ip)
Delete ARP cache entry by IP address (internal use only)
void RouteOutVia(PEFRAME pf, IPADDR4 ipfrom, IPADDR4 ipto, PoolPtr p, int intf)
Route packet via specific interface (internal use only)
BOOL IsMyAddressUsedArpDetect(uint16_t timeout, int interface=0)
Detect if the interface's IP address is already in use on the network.
void RouteOut(PEFRAME pf, IPADDR4 ip, PoolPtr p)
Route packet to destination (internal use only)
void AddStaticArp(MACADR *ma, IPADDR4 ip, int ifnum)
Add static ARP entry (internal use only)
void sendGratuitousArp(int interfaceNumber, IPADDR4 ip)
Send a Gratuitous ARP to announce interface presence and IP address.
void AddCheckArp(MACADR *ma, IPADDR4 ip, int ifnum)
Add or update ARP cache entry (internal use only)
void fShowArp(FILE *fp)
Display the current ARP cache contents to a specified file stream.
BOOL GetArpMacFromIp(IPADDR4 ip, MACADR &ma)
Check if an IP address is in the ARP cache and retrieve its MAC address.
ARP * PARP
Pointer to ARP packet structure.
Definition arp.h:1054
void AgeArp()
Age out old ARP cache entries (internal use only)
void ShowArp()
Display the current ARP cache contents to the standard output.
Internal IPv4 Header Representation.
Definition arp.h:1035
MACADR target_phy
Target MAC address.
Definition arp.h:1043
beuint16_t hard_Type
Hardware type (1 for Ethernet)
Definition arp.h:1036
MACADR sender_phy
Sender MAC address.
Definition arp.h:1041
beuint16_t op_code
Operation: 1=Request, 2=Reply.
Definition arp.h:1040
IPADDR4 sender_Ip
Sender IP address.
Definition arp.h:1042
uint8_t prot_size
Protocol address length (4 for IPv4)
Definition arp.h:1039
uint8_t hard_size
Hardware address length (6 for MAC)
Definition arp.h:1038
beuint16_t prot_Type
Protocol type (0x0800 for IPv4)
Definition arp.h:1037
IPADDR4 target_Ip
Target IP address.
Definition arp.h:1044
Address Resolution Protocol packet structure.
Main buffer structure for network and serial communication.
Definition buffers.h:90