net: invert the netdevice.h vs xdp.h dependency
authorJakub Kicinski <kuba@kernel.org>
Thu, 3 Aug 2023 01:02:30 +0000 (18:02 -0700)
committerMartin KaFai Lau <martin.lau@kernel.org>
Thu, 3 Aug 2023 15:38:07 +0000 (08:38 -0700)
commit680ee0456a5712309db9ec2692e908ea1d6b1644
tree738e89e1fdb86967ee4f9d3f266bacde2d9fc170
parent49e47a5b6145d86c30022fe0e949bbb24bae28ba
net: invert the netdevice.h vs xdp.h dependency

xdp.h is far more specific and is included in only 67 other
files vs netdevice.h's 1538 include sites.
Make xdp.h include netdevice.h, instead of the other way around.
This decreases the incremental allmodconfig builds size when
xdp.h is touched from 5947 to 662 objects.

Move bpf_prog_run_xdp() to xdp.h, seems appropriate and filter.h
is a mega-header in its own right so it's nice to avoid xdp.h
getting included there as well.

The only unfortunate part is that the typedef for xdp_features_t
has to move to netdevice.h, since its embedded in struct netdevice.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Acked-by: Jesper Dangaard Brouer <hawk@kernel.org>
Link: https://lore.kernel.org/r/20230803010230.1755386-4-kuba@kernel.org
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
include/linux/filter.h
include/linux/netdevice.h
include/net/busy_poll.h
include/net/xdp.h
include/trace/events/xdp.h
kernel/bpf/btf.c
kernel/bpf/offload.c
kernel/bpf/verifier.c
net/netfilter/nf_conntrack_bpf.c