Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
arp.c File Reference
ARP (Address Resolution Protocol) More...
Go to the source code of this file.
Functions | |
error_t | arpInit (NetInterface *interface) |
ARP cache initialization. | |
void | arpFlushCache (NetInterface *interface) |
Flush ARP cache. | |
ArpCacheEntry * | arpCreateEntry (NetInterface *interface) |
Create a new entry in the ARP cache. | |
ArpCacheEntry * | arpFindEntry (NetInterface *interface, Ipv4Addr ipAddr) |
Search the ARP cache for a given IPv4 address. | |
void | arpSendQueuedPackets (NetInterface *interface, ArpCacheEntry *entry) |
Send packets that are waiting for address resolution. | |
void | arpFlushQueuedPackets (NetInterface *interface, ArpCacheEntry *entry) |
Flush packet queue. | |
error_t | arpResolve (NetInterface *interface, Ipv4Addr ipAddr, MacAddr *macAddr) |
Address resolution using ARP protocol. | |
error_t | arpEnqueuePacket (NetInterface *interface, Ipv4Addr ipAddr, NetBuffer *buffer, size_t offset) |
Enqueue an IPv4 packet waiting for address resolution. | |
void | arpTick (NetInterface *interface) |
ARP timer handler. | |
void | arpProcessPacket (NetInterface *interface, ArpPacket *arpPacket, size_t length) |
Incoming ARP packet processing. | |
void | arpProcessRequest (NetInterface *interface, ArpPacket *arpRequest) |
Incoming ARP request processing. | |
void | arpProcessReply (NetInterface *interface, ArpPacket *arpReply) |
Incoming ARP reply processing. | |
error_t | arpSendProbe (NetInterface *interface, Ipv4Addr targetIpAddr) |
Send ARP probe. | |
error_t | arpSendRequest (NetInterface *interface, Ipv4Addr targetIpAddr, const MacAddr *destMacAddr) |
Send ARP request. | |
error_t | arpSendReply (NetInterface *interface, Ipv4Addr targetIpAddr, const MacAddr *targetMacAddr, const MacAddr *destMacAddr) |
Send ARP reply. | |
void | arpDumpPacket (const ArpPacket *arpPacket) |
Dump ARP packet for debugging purpose. |
Detailed Description
ARP (Address Resolution Protocol)
License
Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Description
Address Resolution Protocol is used to determine the hardware address of a specific host when only its IPv4 address is known. Refer to RFC 826
- Version:
- 1.7.6
Definition in file arp.c.
Function Documentation
ArpCacheEntry* arpCreateEntry | ( | NetInterface * | interface ) |
void arpDumpPacket | ( | const ArpPacket * | arpPacket ) |
error_t arpEnqueuePacket | ( | NetInterface * | interface, |
Ipv4Addr | ipAddr, | ||
NetBuffer * | buffer, | ||
size_t | offset | ||
) |
Enqueue an IPv4 packet waiting for address resolution.
- Parameters:
-
[in] interface Underlying network interface [in] ipAddr IPv4 address of the destination host [in] buffer Multi-part buffer containing the packet to be enqueued [in] offset Offset to the first byte of the packet
- Returns:
- Error code
ArpCacheEntry* arpFindEntry | ( | NetInterface * | interface, |
Ipv4Addr | ipAddr | ||
) |
void arpFlushCache | ( | NetInterface * | interface ) |
void arpFlushQueuedPackets | ( | NetInterface * | interface, |
ArpCacheEntry * | entry | ||
) |
error_t arpInit | ( | NetInterface * | interface ) |
void arpProcessPacket | ( | NetInterface * | interface, |
ArpPacket * | arpPacket, | ||
size_t | length | ||
) |
void arpProcessReply | ( | NetInterface * | interface, |
ArpPacket * | arpReply | ||
) |
void arpProcessRequest | ( | NetInterface * | interface, |
ArpPacket * | arpRequest | ||
) |
void arpSendQueuedPackets | ( | NetInterface * | interface, |
ArpCacheEntry * | entry | ||
) |
Generated on Tue Jul 12 2022 17:10:18 by
