1045} __attribute__((packed))
ARP;
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.
IPADDR4 target_Ip
Target IP address.
Definition arp.h:1044
void InitializeArp()
Initialize ARP subsystem (internal use only)
beuint16_t prot_Type
Protocol type (0x0800 for IPv4)
Definition arp.h:1037
void processArp(PoolPtr p, PEFRAME pF)
Process incoming ARP packets (internal use only)
MACADR sender_phy
Sender MAC address.
Definition arp.h:1041
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)
MACADR target_phy
Target MAC address.
Definition arp.h:1043
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)
uint8_t hard_size
Hardware address length (6 for MAC)
Definition arp.h:1038
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.
beuint16_t hard_Type
Hardware type (1 for Ethernet)
Definition arp.h:1036
uint8_t prot_size
Protocol address length (4 for IPv4)
Definition arp.h:1039
IPADDR4 sender_Ip
Sender IP address.
Definition arp.h:1042
beuint16_t op_code
Operation: 1=Request, 2=Reply.
Definition arp.h:1040
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.
Address Resolution Protocol packet structure.
Definition arp.h:1035
Main buffer structure for network and serial communication.
Definition buffers.h:90