aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/bpf.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/bpf.h')
-rw-r--r--include/linux/bpf.h13
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
88struct bpf_offload_dev;
88struct bpf_offloaded_map; 89struct bpf_offloaded_map;
89 90
90struct bpf_map_dev_ops { 91struct 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
355struct bpf_prog_array __rcu *bpf_prog_array_alloc(u32 prog_cnt, gfp_t flags); 356struct bpf_prog_array *bpf_prog_array_alloc(u32 prog_cnt, gfp_t flags);
356void bpf_prog_array_free(struct bpf_prog_array __rcu *progs); 357void bpf_prog_array_free(struct bpf_prog_array __rcu *progs);
357int bpf_prog_array_length(struct bpf_prog_array __rcu *progs); 358int bpf_prog_array_length(struct bpf_prog_array __rcu *progs);
358int bpf_prog_array_copy_to_user(struct bpf_prog_array __rcu *progs, 359int 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);
648int bpf_map_offload_get_next_key(struct bpf_map *map, 649int bpf_map_offload_get_next_key(struct bpf_map *map,
649 void *key, void *next_key); 650 void *key, void *next_key);
650 651
651bool bpf_offload_dev_match(struct bpf_prog *prog, struct bpf_map *map); 652bool bpf_offload_prog_map_match(struct bpf_prog *prog, struct bpf_map *map);
653
654struct bpf_offload_dev *bpf_offload_dev_create(void);
655void bpf_offload_dev_destroy(struct bpf_offload_dev *offdev);
656int bpf_offload_dev_netdev_register(struct bpf_offload_dev *offdev,
657 struct net_device *netdev);
658void bpf_offload_dev_netdev_unregister(struct bpf_offload_dev *offdev,
659 struct net_device *netdev);
660bool 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)
654int bpf_prog_offload_init(struct bpf_prog *prog, union bpf_attr *attr); 663int bpf_prog_offload_init(struct bpf_prog *prog, union bpf_attr *attr);