Kernel version | Commit |
---|---|
3.15 | bd4cf0ed331a |
Feature / Architecture | Kernel version | Commit |
---|---|---|
x86_64 | 3.16 | 622582786c9e |
ARM64 | 3.18 | e54bcde3d69d |
s390 | 4.1 | 054623105728 |
Constant blinding for JIT machines | 4.7 | 4f3446bb809f |
PowerPC64 | 4.8 | 156d0e290e96 |
Constant blinding - PowerPC64 | 4.9 | b7b7013cac55 |
Feature | Kernel version | Commit |
---|---|---|
AF_PACKET (libpcap/tcpdump, cls_bpf classifier, netfilter's xt_bpf , team driver's load-balancing modeā¦) | 3.15 | bd4cf0ed331a |
Kernel helpers | 3.15 | bd4cf0ed331a |
bpf() syscall | 3.18 | 99c55f7d47c0 |
Tables (a.k.a. Maps; details below) | 3.18 | 99c55f7d47c0 |
BPF attached to sockets | 3.19 | 89aa075832b0 |
BPF attached to kprobes | 4.1 | 2541517c32be |
cls_bpf / act_bpf for tc | 4.1 | e2e9b6541dd4 |
Tail calls | 4.2 | 04fd61ab36ec |
Non-root programs on sockets | 4.4 | 1be7f75d1668 |
Persistent maps and programs (virtual FS) | 4.4 | b2197755b263 |
tc 's direct_action (da ) mode | 4.4 | 045efa82ff56 |
tc 's clsact qdisc | 4.5 | 1f211a1b929c |
BPF attached to tracepoints | 4.7 | 98b5c2c65c29 |
Direct packet access | 4.7 | 969bf05eb3ce |
XDP (see below) | 4.8 | 6a773a15a1e8 |
BPF attached to perf events | 4.9 | 0515e5999a46 |
Hardware offload for tc 's cls_bpf | 4.9 | 332ae8e2f6ec |
Verifier exposure and internal hooks | 4.9 | 13a27dfc6697 |
BPF attached to cgroups for socket filtering | 4.10 | |
Lightweight tunnel encapsulation | 4.10 | |
eBPF support for xt_bpf module (iptables) | 4.10 |
Table type | Kernel version | Commit |
---|---|---|
Hash | 3.19 | 0f8e4bd8a1fc |
Array | 3.19 | 28fbcfa08d8e |
Tail call (PROG_ARRAY ) | 4.2 | 04fd61ab36ec |
Perf events | 4.3 | ea317b267e9d |
Per-CPU hash | 4.6 | 824bd0ce6c7c |
Per-CPU array | 4.6 | a10423b87a7e |
Stack trace | 4.6 | d5a3b1f69186 |
Pre-alloc maps memory | 4.6 | 6c9059817432 |
cgroup array | 4.8 | 4ed8ec521ed5 |
LRU hash | 4.10 | 29ba732acbee |
LRU per-CPU hash | 4.10 | 8f8449384ec3 |
LPM trie | 4.11 | b95a5c4db09b |
Text string | To be done? | |
Variable-length maps | To be done? |
Feature / Driver | Kernel version | Commit |
---|---|---|
XDP core architecture | 4.8 | 6a773a15a1e8 |
Action: drop | 4.8 | 6a773a15a1e8 |
Action: pass on to stack | 4.8 | 6a773a15a1e8 |
Action: direct forwarding (on same port) | 4.8 | 6ce96ca348a9 |
Direct packet data write | 4.8 | 4acf6c0b84c9 |
Mellanox mlx4 driver | 4.8 | 47a38e155037 |
Mellanox mlx5 driver | 4.9 | 86994156c736 |
QLogic (Cavium) qed* drivers | 4.10 | |
virtio_net driver | ? | |
Intel i40e driver | ? |
Alphabetical order
Helper | Kernel version | Commit |
---|---|---|
BPF_FUNC_clone_redirect() | 4.2 | 3896d655f4d4 |
BPF_FUNC_csum_diff() | 4.6 | 7d672345ed29 |
BPF_FUNC_csum_update() | 4.9 | 36bbef52c7eb |
BPF_FUNC_current_task_under_cgroup() | 4.9 | 60d20f9195b2 |
BPF_FUNC_get_cgroup_classid() | 4.3 | 8d20aabe1c76 |
BPF_FUNC_get_current_comm() | 4.2 | ffeedafbf023 |
BPF_FUNC_get_current_pid_tgid() | 4.2 | ffeedafbf023 |
BPF_FUNC_get_current_task() | 4.8 | 606274c5abd8 |
BPF_FUNC_get_current_uid_gid() | 4.2 | ffeedafbf023 |
BPF_FUNC_get_hash_recalc() | 4.8 | 13c5c240f789 |
BPF_FUNC_get_numa_node_id() | 4.10 | |
BPF_FUNC_get_prandom_u32() | 4.1 | 03e69b508b6f |
BPF_FUNC_get_route_realm() | 4.4 | c46646d0484f |
BPF_FUNC_get_smp_processor_id() | 4.1 | c04167ce2ca0 |
BPF_FUNC_get_stackid() | 4.6 | d5a3b1f69186 |
BPF_FUNC_ktime_get_ns() | 4.1 | d9847d310ab4 |
BPF_FUNC_l3_csum_replace() | 4.1 | 91bc4822c3d6 |
BPF_FUNC_l4_csum_replace() | 4.1 | 91bc4822c3d6 |
BPF_FUNC_map_delete_elem() | 3.19 | d0003ec01c66 |
BPF_FUNC_map_lookup_elem() | 3.19 | d0003ec01c66 |
BPF_FUNC_map_update_elem() | 3.19 | d0003ec01c66 |
BPF_FUNC_perf_event_output() | 4.4 | a43eec304259 |
BPF_FUNC_perf_event_read() | 4.3 | 35578d798400 |
BPF_FUNC_probe_read() | 4.1 | 2541517c32be |
BPF_FUNC_probe_write_user() | 4.8 | 96ae52279594 |
BPF_FUNC_redirect() | 4.4 | 27b29f63058d |
BPF_FUNC_set_hash_invalid() | 4.9 | 7a4b28c6cc9f |
BPF_FUNC_skb_change_head() | 4.10 | |
BPF_FUNC_skb_change_proto() | 4.8 | 6578171a7ff0 |
BPF_FUNC_skb_change_tail() | 4.9 | 5293efe62df8 |
BPF_FUNC_skb_change_type() | 4.8 | d2485c4242a82 |
BPF_FUNC_skb_get_tunnel_key() | 4.3 | d3aa45ce6b94 |
BPF_FUNC_skb_get_tunnel_opt() | 4.6 | 14ca0751c96f |
BPF_FUNC_skb_load_bytes() | 4.5 | 05c74e5e53f6 |
BPF_FUNC_skb_pull_data() | 4.9 | 36bbef52c7eb |
BPF_FUNC_skb_set_tunnel_key() | 4.3 | d3aa45ce6b94 |
BPF_FUNC_skb_set_tunnel_opt() | 4.6 | 14ca0751c96f |
BPF_FUNC_skb_store_bytes() | 4.1 | 91bc4822c3d6 |
BPF_FUNC_skb_under_cgroup() | 4.8 | 4a482f34afcc |
BPF_FUNC_skb_vlan_pop() | 4.3 | 4e10df9a60d9 |
BPF_FUNC_skb_vlan_push() | 4.3 | 4e10df9a60d9 |
BPF_FUNC_tail_call() | 4.2 | 04fd61ab36ec |
BPF_FUNC_trace_printk() | 4.1 | 9c959c863f82 |
BPF_FUNC_xdp_adjust_head() | 4.10 |