Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/net/bpf_sk_storage.h
26289 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/* Copyright (c) 2019 Facebook */
3
#ifndef _BPF_SK_STORAGE_H
4
#define _BPF_SK_STORAGE_H
5
6
#include <linux/rculist.h>
7
#include <linux/list.h>
8
#include <linux/hash.h>
9
#include <linux/types.h>
10
#include <linux/spinlock.h>
11
#include <linux/bpf.h>
12
#include <net/sock.h>
13
#include <uapi/linux/sock_diag.h>
14
#include <uapi/linux/btf.h>
15
#include <linux/bpf_local_storage.h>
16
17
struct sock;
18
19
void bpf_sk_storage_free(struct sock *sk);
20
21
extern const struct bpf_func_proto bpf_sk_storage_get_proto;
22
extern const struct bpf_func_proto bpf_sk_storage_delete_proto;
23
extern const struct bpf_func_proto bpf_sk_storage_get_tracing_proto;
24
extern const struct bpf_func_proto bpf_sk_storage_delete_tracing_proto;
25
26
struct bpf_local_storage_elem;
27
struct bpf_sk_storage_diag;
28
struct sk_buff;
29
struct nlattr;
30
31
#ifdef CONFIG_BPF_SYSCALL
32
int bpf_sk_storage_clone(const struct sock *sk, struct sock *newsk);
33
struct bpf_sk_storage_diag *
34
bpf_sk_storage_diag_alloc(const struct nlattr *nla_stgs);
35
void bpf_sk_storage_diag_free(struct bpf_sk_storage_diag *diag);
36
int bpf_sk_storage_diag_put(struct bpf_sk_storage_diag *diag,
37
struct sock *sk, struct sk_buff *skb,
38
int stg_array_type,
39
unsigned int *res_diag_size);
40
#else
41
static inline int bpf_sk_storage_clone(const struct sock *sk,
42
struct sock *newsk)
43
{
44
return 0;
45
}
46
static inline struct bpf_sk_storage_diag *
47
bpf_sk_storage_diag_alloc(const struct nlattr *nla)
48
{
49
return NULL;
50
}
51
static inline void bpf_sk_storage_diag_free(struct bpf_sk_storage_diag *diag)
52
{
53
}
54
static inline int bpf_sk_storage_diag_put(struct bpf_sk_storage_diag *diag,
55
struct sock *sk, struct sk_buff *skb,
56
int stg_array_type,
57
unsigned int *res_diag_size)
58
{
59
return 0;
60
}
61
#endif
62
63
#endif /* _BPF_SK_STORAGE_H */
64
65