hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/include/uapi/linux/neighbour.h
....@@ -28,6 +28,9 @@
2828 NDA_MASTER,
2929 NDA_LINK_NETNSID,
3030 NDA_SRC_VNI,
31
+ NDA_PROTOCOL, /* Originator of entry */
32
+ NDA_NH_ID,
33
+ NDA_FDB_EXT_ATTRS,
3134 __NDA_MAX
3235 };
3336
....@@ -43,6 +46,7 @@
4346 #define NTF_PROXY 0x08 /* == ATF_PUBL */
4447 #define NTF_EXT_LEARNED 0x10
4548 #define NTF_OFFLOADED 0x20
49
+#define NTF_STICKY 0x40
4650 #define NTF_ROUTER 0x80
4751
4852 /*
....@@ -62,8 +66,11 @@
6266 #define NUD_NONE 0x00
6367
6468 /* NUD_NOARP & NUD_PERMANENT are pseudostates, they never change
65
- and make no address resolution or NUD.
66
- NUD_PERMANENT also cannot be deleted by garbage collectors.
69
+ * and make no address resolution or NUD.
70
+ * NUD_PERMANENT also cannot be deleted by garbage collectors.
71
+ * When NTF_EXT_LEARNED is set for a bridge fdb entry the different cache entry
72
+ * states don't make sense and thus are ignored. Such entries don't age and
73
+ * can roam.
6774 */
6875
6976 struct nda_cacheinfo {
....@@ -169,4 +176,27 @@
169176 };
170177 #define NDTA_MAX (__NDTA_MAX - 1)
171178
179
+ /* FDB activity notification bits used in NFEA_ACTIVITY_NOTIFY:
180
+ * - FDB_NOTIFY_BIT - notify on activity/expire for any entry
181
+ * - FDB_NOTIFY_INACTIVE_BIT - mark as inactive to avoid multiple notifications
182
+ */
183
+enum {
184
+ FDB_NOTIFY_BIT = (1 << 0),
185
+ FDB_NOTIFY_INACTIVE_BIT = (1 << 1)
186
+};
187
+
188
+/* embedded into NDA_FDB_EXT_ATTRS:
189
+ * [NDA_FDB_EXT_ATTRS] = {
190
+ * [NFEA_ACTIVITY_NOTIFY]
191
+ * ...
192
+ * }
193
+ */
194
+enum {
195
+ NFEA_UNSPEC,
196
+ NFEA_ACTIVITY_NOTIFY,
197
+ NFEA_DONT_REFRESH,
198
+ __NFEA_MAX
199
+};
200
+#define NFEA_MAX (__NFEA_MAX - 1)
201
+
172202 #endif