aboutsummaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorKonrad Sewiłło-Jopek <kjopek@gmail.com>2022-05-27 11:02:57 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-07-11 13:19:29 +0200
commitcf2ba7d7f8044b6fa449b769a68d1b05390b589d (patch)
tree8fa87ec5df18357e5d5569591a5a1feb11ab53c8 /newlib
parent27dfb5f33fa4954f6278ae8b82584c269fb6e6ef (diff)
downloadnewlib-cf2ba7d7f8044b6fa449b769a68d1b05390b589d.zip
newlib-cf2ba7d7f8044b6fa449b769a68d1b05390b589d.tar.gz
newlib-cf2ba7d7f8044b6fa449b769a68d1b05390b589d.tar.bz2
arp: Implement sticky ARP mode for interfaces.
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. The drawbacks include potential limitations in usage of ARP-based load-balancers and high-availability solutions such as carp(4). The implemented option is disabled by default, therefore should not impact the default behaviour of the networking stack. 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
Diffstat (limited to 'newlib')
-rw-r--r--newlib/libc/sys/rtems/include/net/if.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/newlib/libc/sys/rtems/include/net/if.h b/newlib/libc/sys/rtems/include/net/if.h
index e90d4d2..3f3b8a3 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 */