| .. | .. |
|---|
| 2 | 2 | #ifndef __LINUX_IF_PACKET_H |
|---|
| 3 | 3 | #define __LINUX_IF_PACKET_H |
|---|
| 4 | 4 | |
|---|
| 5 | +#include <asm/byteorder.h> |
|---|
| 5 | 6 | #include <linux/types.h> |
|---|
| 6 | 7 | |
|---|
| 7 | 8 | struct sockaddr_pkt { |
|---|
| .. | .. |
|---|
| 57 | 58 | #define PACKET_QDISC_BYPASS 20 |
|---|
| 58 | 59 | #define PACKET_ROLLOVER_STATS 21 |
|---|
| 59 | 60 | #define PACKET_FANOUT_DATA 22 |
|---|
| 61 | +#define PACKET_IGNORE_OUTGOING 23 |
|---|
| 60 | 62 | |
|---|
| 61 | 63 | #define PACKET_FANOUT_HASH 0 |
|---|
| 62 | 64 | #define PACKET_FANOUT_LB 1 |
|---|
| .. | .. |
|---|
| 122 | 124 | /* Rx and Tx ring - header status */ |
|---|
| 123 | 125 | #define TP_STATUS_TS_SOFTWARE (1 << 29) |
|---|
| 124 | 126 | #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) |
|---|
| 126 | 128 | |
|---|
| 127 | 129 | /* Rx ring - feature request bits */ |
|---|
| 128 | 130 | #define TP_FT_REQ_FILL_RXHASH 0x1 |
|---|
| .. | .. |
|---|
| 295 | 297 | unsigned char mr_address[8]; |
|---|
| 296 | 298 | }; |
|---|
| 297 | 299 | |
|---|
| 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 | + |
|---|
| 298 | 311 | #define PACKET_MR_MULTICAST 0 |
|---|
| 299 | 312 | #define PACKET_MR_PROMISC 1 |
|---|
| 300 | 313 | #define PACKET_MR_ALLMULTI 2 |
|---|