Contributors: 12
Author |
Tokens |
Token Proportion |
Commits |
Commit Proportion |
Martin KaFai Lau |
135 |
55.56% |
4 |
16.00% |
Stanislav Fomichev |
42 |
17.28% |
1 |
4.00% |
Arnaldo Carvalho de Melo |
19 |
7.82% |
3 |
12.00% |
Alexei Starovoitov |
17 |
7.00% |
4 |
16.00% |
Linus Torvalds (pre-git) |
15 |
6.17% |
5 |
20.00% |
KP Singh |
6 |
2.47% |
2 |
8.00% |
Daniel Borkmann |
3 |
1.23% |
1 |
4.00% |
Eric Dumazet |
2 |
0.82% |
1 |
4.00% |
Stephen Hemminger |
1 |
0.41% |
1 |
4.00% |
Greg Kroah-Hartman |
1 |
0.41% |
1 |
4.00% |
Jesper Dangaard Brouer |
1 |
0.41% |
1 |
4.00% |
Eric W. Biedermann |
1 |
0.41% |
1 |
4.00% |
Total |
243 |
|
25 |
|
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (c) 2019 Facebook */
#ifndef _BPF_SK_STORAGE_H
#define _BPF_SK_STORAGE_H
#include <linux/rculist.h>
#include <linux/list.h>
#include <linux/hash.h>
#include <linux/types.h>
#include <linux/spinlock.h>
#include <linux/bpf.h>
#include <net/sock.h>
#include <uapi/linux/sock_diag.h>
#include <uapi/linux/btf.h>
#include <linux/bpf_local_storage.h>
struct sock;
void bpf_sk_storage_free(struct sock *sk);
extern const struct bpf_func_proto bpf_sk_storage_get_proto;
extern const struct bpf_func_proto bpf_sk_storage_delete_proto;
extern const struct bpf_func_proto bpf_sk_storage_get_tracing_proto;
extern const struct bpf_func_proto bpf_sk_storage_delete_tracing_proto;
struct bpf_local_storage_elem;
struct bpf_sk_storage_diag;
struct sk_buff;
struct nlattr;
#ifdef CONFIG_BPF_SYSCALL
int bpf_sk_storage_clone(const struct sock *sk, struct sock *newsk);
struct bpf_sk_storage_diag *
bpf_sk_storage_diag_alloc(const struct nlattr *nla_stgs);
void bpf_sk_storage_diag_free(struct bpf_sk_storage_diag *diag);
int bpf_sk_storage_diag_put(struct bpf_sk_storage_diag *diag,
struct sock *sk, struct sk_buff *skb,
int stg_array_type,
unsigned int *res_diag_size);
#else
static inline int bpf_sk_storage_clone(const struct sock *sk,
struct sock *newsk)
{
return 0;
}
static inline struct bpf_sk_storage_diag *
bpf_sk_storage_diag_alloc(const struct nlattr *nla)
{
return NULL;
}
static inline void bpf_sk_storage_diag_free(struct bpf_sk_storage_diag *diag)
{
}
static inline int bpf_sk_storage_diag_put(struct bpf_sk_storage_diag *diag,
struct sock *sk, struct sk_buff *skb,
int stg_array_type,
unsigned int *res_diag_size)
{
return 0;
}
#endif
#endif /* _BPF_SK_STORAGE_H */