From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1921) id 8B7F0385C32C; Mon, 11 Jul 2022 11:55:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8B7F0385C32C Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Sebastian Huber To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] arp: Implement sticky ARP mode for interfaces. X-Act-Checkin: newlib-cygwin X-Git-Author: =?utf-8?q?Konrad_Sewi=C5=82=C5=82o-Jopek?= X-Git-Refname: refs/heads/master X-Git-Oldrev: 27dfb5f33fa4954f6278ae8b82584c269fb6e6ef X-Git-Newrev: cf2ba7d7f8044b6fa449b769a68d1b05390b589d Message-Id: <20220711115540.8B7F0385C32C@sourceware.org> Date: Mon, 11 Jul 2022 11:55:40 +0000 (GMT) X-BeenThere: newlib-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib GIT logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2022 11:55:40 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Dcf2ba7d7f80= 44b6fa449b769a68d1b05390b589d commit cf2ba7d7f8044b6fa449b769a68d1b05390b589d Author: Konrad Sewi=C5=82=C5=82o-Jopek Date: Fri May 27 11:02:57 2022 +0000 arp: Implement sticky ARP mode for interfaces. =20 Provide sticky ARP flag for network interface which marks it as the "sticky" one similarly to what we have for bridges. Once interface is marked sticky, any address resolved using the ARP will be saved as a static one in the ARP table. Such functionality may be used to prevent ARP spoofing or to decrease latencies in Ethernet networks. =20 The drawbacks include potential limitations in usage of ARP-based load-balancers and high-availability solutions such as carp(4). =20 The implemented option is disabled by default, therefore should not impact the default behaviour of the networking stack. =20 Sponsored by: Conclusive Engineering sp. z o.o. Reviewed By: melifaro, pauamma_gundo.com Differential Revision: https://reviews.freebsd.org/D35314 MFC after: 2 weeks Diff: --- newlib/libc/sys/rtems/include/net/if.h | 1 + 1 file changed, 1 insertion(+) diff --git a/newlib/libc/sys/rtems/include/net/if.h b/newlib/libc/sys/rtems= /include/net/if.h index e90d4d240..3f3b8a3b5 100644 --- a/newlib/libc/sys/rtems/include/net/if.h +++ b/newlib/libc/sys/rtems/include/net/if.h @@ -160,6 +160,7 @@ struct if_data { #define IFF_PPROMISC 0x20000 /* (n) user-requested promisc mode */ #define IFF_MONITOR 0x40000 /* (n) user-requested monitor mode */ #define IFF_STATICARP 0x80000 /* (n) static ARP */ +#define IFF_STICKYARP 0x100000 /* (n) sticky ARP */ #define IFF_DYING 0x200000 /* (n) interface is winding down */ #define IFF_RENAMING 0x400000 /* (n) interface is being renamed */ #define IFF_NOGROUP 0x800000 /* (n) interface is not part of any groups */