[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [task #14724] socket level ARP cache APIs

From: Joel Cunningham
Subject: [lwip-devel] [task #14724] socket level ARP cache APIs
Date: Thu, 9 Nov 2017 22:25:44 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0


                 Summary: socket level ARP cache APIs
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: jcunningham
            Submitted on: Fri 10 Nov 2017 03:25:42 AM UTC
                Category: socket/netconn
         Should Start On: Fri 10 Nov 2017 12:00:00 AM UTC
   Should be Finished on: Fri 10 Nov 2017 12:00:00 AM UTC
                Priority: 5 - Normal
                  Status: Need Info
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: jcunningham
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None
                  Effort: 0.00



I'm needing socket level ARP cache APIs to execute etharp_add_static_entry and
etharp_remove_static_entry from outside of the LwIP context

I did some research and within UNIX there are ioctls (SIOCSARP, SIOCDARP and
SIOCGARP) for interacting with the ARP cache. I wanted to get people's
thoughts on implementing these before going forward with the implementation
for the following reasons:

 1) This isn't an open group standard, but historic UNIX
 2) It appears that some UNIX OS's have deprecated/removed these in favor of
using routing sockets. These appear unsupported on current FreeBSD and NetBSD.
Linux has these implemented, but I believe using netlink via NETLINK_ARPD is
the preferred approach

Linux implementations: http://man7.org/linux/man-pages/man7/arp.7.html

Steven's Unix Network Programming Vol. 1 has a good description of the
original UNIX implementation for me to go off of including the only source
which explains about struct arpreq: "arp_ha is a generic socket address
structure with sa_family set to AF_UNSPEC and sa_data containing the hardware
address (e.g., the 6-byte Ethernet address)."

Given that LwIP doesn't have anything fancy like netlink or routing sockets,
these ioctls seem the most appropriate to me


Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]