hc
2024-05-10 61598093bbdd283a7edc367d900f223070ead8d2
kernel/include/uapi/linux/if_packet.h
....@@ -2,6 +2,7 @@
22 #ifndef __LINUX_IF_PACKET_H
33 #define __LINUX_IF_PACKET_H
44
5
+#include <asm/byteorder.h>
56 #include <linux/types.h>
67
78 struct sockaddr_pkt {
....@@ -57,6 +58,7 @@
5758 #define PACKET_QDISC_BYPASS 20
5859 #define PACKET_ROLLOVER_STATS 21
5960 #define PACKET_FANOUT_DATA 22
61
+#define PACKET_IGNORE_OUTGOING 23
6062
6163 #define PACKET_FANOUT_HASH 0
6264 #define PACKET_FANOUT_LB 1
....@@ -122,7 +124,7 @@
122124 /* Rx and Tx ring - header status */
123125 #define TP_STATUS_TS_SOFTWARE (1 << 29)
124126 #define TP_STATUS_TS_SYS_HARDWARE (1 << 30) /* deprecated, never set */
125
-#define TP_STATUS_TS_RAW_HARDWARE (1 << 31)
127
+#define TP_STATUS_TS_RAW_HARDWARE (1U << 31)
126128
127129 /* Rx ring - feature request bits */
128130 #define TP_FT_REQ_FILL_RXHASH 0x1
....@@ -295,6 +297,17 @@
295297 unsigned char mr_address[8];
296298 };
297299
300
+struct fanout_args {
301
+#if defined(__LITTLE_ENDIAN_BITFIELD)
302
+ __u16 id;
303
+ __u16 type_flags;
304
+#else
305
+ __u16 type_flags;
306
+ __u16 id;
307
+#endif
308
+ __u32 max_num_members;
309
+};
310
+
298311 #define PACKET_MR_MULTICAST 0
299312 #define PACKET_MR_PROMISC 1
300313 #define PACKET_MR_ALLMULTI 2