diff options
Diffstat (limited to 'include/linux/bpf.h')
-rw-r--r-- | include/linux/bpf.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/bpf.h b/include/linux/bpf.h index 8827e797ff97..5b5ad95cf339 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h | |||
@@ -85,6 +85,7 @@ struct bpf_map { | |||
85 | char name[BPF_OBJ_NAME_LEN]; | 85 | char name[BPF_OBJ_NAME_LEN]; |
86 | }; | 86 | }; |
87 | 87 | ||
88 | struct bpf_offload_dev; | ||
88 | struct bpf_offloaded_map; | 89 | struct bpf_offloaded_map; |
89 | 90 | ||
90 | struct bpf_map_dev_ops { | 91 | struct bpf_map_dev_ops { |
@@ -352,7 +353,7 @@ struct bpf_prog_array { | |||
352 | struct bpf_prog *progs[0]; | 353 | struct bpf_prog *progs[0]; |
353 | }; | 354 | }; |
354 | 355 | ||
355 | struct bpf_prog_array __rcu *bpf_prog_array_alloc(u32 prog_cnt, gfp_t flags); | 356 | struct bpf_prog_array *bpf_prog_array_alloc(u32 prog_cnt, gfp_t flags); |
356 | void bpf_prog_array_free(struct bpf_prog_array __rcu *progs); | 357 | void bpf_prog_array_free(struct bpf_prog_array __rcu *progs); |
357 | int bpf_prog_array_length(struct bpf_prog_array __rcu *progs); | 358 | int bpf_prog_array_length(struct bpf_prog_array __rcu *progs); |
358 | int bpf_prog_array_copy_to_user(struct bpf_prog_array __rcu *progs, | 359 | int bpf_prog_array_copy_to_user(struct bpf_prog_array __rcu *progs, |
@@ -648,7 +649,15 @@ int bpf_map_offload_delete_elem(struct bpf_map *map, void *key); | |||
648 | int bpf_map_offload_get_next_key(struct bpf_map *map, | 649 | int bpf_map_offload_get_next_key(struct bpf_map *map, |
649 | void *key, void *next_key); | 650 | void *key, void *next_key); |
650 | 651 | ||
651 | bool bpf_offload_dev_match(struct bpf_prog *prog, struct bpf_map *map); | 652 | bool bpf_offload_prog_map_match(struct bpf_prog *prog, struct bpf_map *map); |
653 | |||
654 | struct bpf_offload_dev *bpf_offload_dev_create(void); | ||
655 | void bpf_offload_dev_destroy(struct bpf_offload_dev *offdev); | ||
656 | int bpf_offload_dev_netdev_register(struct bpf_offload_dev *offdev, | ||
657 | struct net_device *netdev); | ||
658 | void bpf_offload_dev_netdev_unregister(struct bpf_offload_dev *offdev, | ||
659 | struct net_device *netdev); | ||
660 | bool bpf_offload_dev_match(struct bpf_prog *prog, struct net_device *netdev); | ||
652 | 661 | ||
653 | #if defined(CONFIG_NET) && defined(CONFIG_BPF_SYSCALL) | 662 | #if defined(CONFIG_NET) && defined(CONFIG_BPF_SYSCALL) |
654 | int bpf_prog_offload_init(struct bpf_prog *prog, union bpf_attr *attr); | 663 | int bpf_prog_offload_init(struct bpf_prog *prog, union bpf_attr *attr); |