Summary: Functions to obtain effective reachability (ARP or
NDP) status of an IP address
Project: lwIP - A Lightweight TCP/IP stack
Submitted by: s_a
Submitted on: Fri 20 Sep 2019 06:34:40 PM UTC
Severity: 3 - Normal
Item Group: Feature Request
Assigned to: None
Discussion Lock: Any
Planned Release: None
lwIP version: 2.1.1
With etharp_find_addr() I can make sure there is a known ARP entry for an IPv4
address before trying to send packets. It's not perfect because it's necessary
to check the IPv4 gateway if the destination is in another network.
There is no direct equivalent for IPv6; nd6_get_next_hop_addr_or_queue()
expects a packet to be queued.
I'd like a function that indicates whether or not a packet could be
immediately sent to a specified IP address without doing ARP or NDP queries.
If it can't then it should perform the required ARP or NDP queries and return
a response indicating that they are in progress. If the destination is outside
the network then the router reachability should automatically be tested
The purpose of this is to be able to queue an arbitrary quantity of
information until ARP or NDP is successful, instead of sending UDP packets and
relying on the lwIP queue to keep all of them until ARP or NDP is completed
(because the queue size may not be large enough for this).