diff options
| author | David S. Miller <davem@davemloft.net> | 2015-08-17 14:22:48 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2015-08-17 14:22:48 -0700 |
| commit | 90eb7fa51ccb9af58c437581af73c4a1d5fd2b9f (patch) | |
| tree | b2a932691177a1608f4c91016eea0a71c244987f /include | |
| parent | a1c234f95cae2d293047bb6c36e7a4840dbac815 (diff) | |
| parent | 30da679e679dbe7bb103c5d9c137ec5a070b7150 (diff) | |
| download | cachepc-linux-90eb7fa51ccb9af58c437581af73c4a1d5fd2b9f.tar.gz cachepc-linux-90eb7fa51ccb9af58c437581af73c4a1d5fd2b9f.zip | |
Merge branch 'bpf_fanout'
Willem de Bruijn says:
====================
packet: add cBPF and eBPF fanout modes
Allow programmable fanout modes. Support both classical BPF programs
passed directly and extended BPF programs passed by file descriptor.
One use case is packet steering by deep packet inspection, for
instance for packet steering by application layer header fields.
Separate the configuration of the fanout mode and the configuration
of the program, to allow dynamic updates to the latter at runtime.
Changes
v1 -> v2:
- follow SO_LOCK_FILTER semantics on filter updates
- only accept eBPF programs of type BPF_PROG_TYPE_SOCKET_FILTER
- rename PACKET_FANOUT_BPF to PACKET_FANOUT_CBPF to match
man 2 bpf usage: "classic" vs. "extended" BPF.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/uapi/linux/if_packet.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/uapi/linux/if_packet.h b/include/uapi/linux/if_packet.h index d3d715f8c88f..9e7edfd8141e 100644 --- a/include/uapi/linux/if_packet.h +++ b/include/uapi/linux/if_packet.h @@ -55,6 +55,7 @@ struct sockaddr_ll { #define PACKET_TX_HAS_OFF 19 #define PACKET_QDISC_BYPASS 20 #define PACKET_ROLLOVER_STATS 21 +#define PACKET_FANOUT_DATA 22 #define PACKET_FANOUT_HASH 0 #define PACKET_FANOUT_LB 1 @@ -62,6 +63,8 @@ struct sockaddr_ll { #define PACKET_FANOUT_ROLLOVER 3 #define PACKET_FANOUT_RND 4 #define PACKET_FANOUT_QM 5 +#define PACKET_FANOUT_CBPF 6 +#define PACKET_FANOUT_EBPF 7 #define PACKET_FANOUT_FLAG_ROLLOVER 0x1000 #define PACKET_FANOUT_FLAG_DEFRAG 0x8000 |
