Skip to content

Commit

Permalink
bpf: invert the dependency between bpf-netns.h and netns/bpf.h
Browse files Browse the repository at this point in the history
netns/bpf.h gets included by netdevice.h (thru net_namespace.h)
which in turn gets included in a lot of places. We should keep
netns/bpf.h as light-weight as possible.

bpf-netns.h seems to contain more implementation details than
deserves to be included in a netns header. It needs to pull in
uapi/bpf.h to get various enum types.

Move enum netns_bpf_attach_type to netns/bpf.h and invert the
dependency. This makes netns/bpf.h fit the mold of a struct
definition header more clearly, and drops the number of objects
rebuilt when uapi/bpf.h is touched from 7.7k to 1.1k.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
kuba-moo authored and Nobody committed Dec 30, 2021
1 parent 2ebc2ca commit 11f790c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 8 deletions.
8 changes: 1 addition & 7 deletions include/linux/bpf-netns.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,9 @@
#define _BPF_NETNS_H

#include <linux/mutex.h>
#include <net/netns/bpf.h>
#include <uapi/linux/bpf.h>

enum netns_bpf_attach_type {
NETNS_BPF_INVALID = -1,
NETNS_BPF_FLOW_DISSECTOR = 0,
NETNS_BPF_SK_LOOKUP,
MAX_NETNS_BPF_ATTACH_TYPE
};

static inline enum netns_bpf_attach_type
to_netns_bpf_attach_type(enum bpf_attach_type attach_type)
{
Expand Down
9 changes: 8 additions & 1 deletion include/net/netns/bpf.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,18 @@
#ifndef __NETNS_BPF_H__
#define __NETNS_BPF_H__

#include <linux/bpf-netns.h>
#include <linux/list.h>

struct bpf_prog;
struct bpf_prog_array;

enum netns_bpf_attach_type {
NETNS_BPF_INVALID = -1,
NETNS_BPF_FLOW_DISSECTOR = 0,
NETNS_BPF_SK_LOOKUP,
MAX_NETNS_BPF_ATTACH_TYPE
};

struct netns_bpf {
/* Array of programs to run compiled from progs or links */
struct bpf_prog_array __rcu *run_array[MAX_NETNS_BPF_ATTACH_TYPE];
Expand Down

0 comments on commit 11f790c

Please sign in to comment.