net: add missing includes and forward declarations under net/

This patch adds missing includes to headers under include/net.
All these problems are currently masked by the existing users
including the missing dependency before the broken header.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jakub Kicinski 2022-07-20 16:57:58 -07:00 committed by David S. Miller
parent 735dbc69ab
commit 949d6b405e
63 changed files with 183 additions and 11 deletions

View File

@ -6,6 +6,11 @@
#ifndef LAPB_KERNEL_H
#define LAPB_KERNEL_H
#include <linux/skbuff.h>
#include <linux/timer.h>
struct net_device;
#define LAPB_OK 0
#define LAPB_BADTOKEN 1
#define LAPB_INVALUE 2

View File

@ -10,6 +10,7 @@
#include <linux/kernel.h>
#include <linux/workqueue.h>
#include <net/sock.h>
#include <uapi/linux/vm_sockets.h>
#include "vsock_addr.h"

View File

@ -7,6 +7,9 @@
#include <linux/siphash.h>
#include <linux/jhash.h>
#include <linux/netdevice.h>
#include <net/gro_cells.h>
#include <net/rtnetlink.h>
enum amt_msg_type {
AMT_MSG_DISCOVERY = 1,

View File

@ -8,6 +8,8 @@
#ifndef __NET_AX88796_PLAT_H
#define __NET_AX88796_PLAT_H
#include <linux/types.h>
struct sk_buff;
struct net_device;
struct platform_device;

View File

@ -7,6 +7,14 @@
#ifndef _NET_BOND_OPTIONS_H
#define _NET_BOND_OPTIONS_H
#include <linux/bits.h>
#include <linux/limits.h>
#include <linux/types.h>
#include <linux/string.h>
struct netlink_ext_ack;
struct nlattr;
#define BOND_OPT_MAX_NAMELEN 32
#define BOND_OPT_VALID(opt) ((opt) < BOND_OPT_LAST)
#define BOND_MODE_ALL_EX(x) (~(x))

View File

@ -49,6 +49,7 @@
* Implemented on linux by Dave Taht and Eric Dumazet
*/
#include <net/codel.h>
#include <net/pkt_sched.h>
/* Qdiscs using codel plugin must use codel_skb_cb in their own cb[] */

View File

@ -2,6 +2,13 @@
#ifndef _NET_INET_DATALINK_H_
#define _NET_INET_DATALINK_H_
#include <linux/list.h>
struct llc_sap;
struct net_device;
struct packet_type;
struct sk_buff;
struct datalink_proto {
unsigned char type[8];

View File

@ -8,6 +8,8 @@
#ifndef _DCB_EVENT_H
#define _DCB_EVENT_H
struct notifier_block;
enum dcbevent_notif_type {
DCB_APP_EVENT = 1,
};

View File

@ -10,6 +10,8 @@
#include <linux/dcbnl.h>
struct net_device;
struct dcb_app_type {
int ifindex;
struct dcb_app app;

View File

@ -2,6 +2,7 @@
#ifndef _NET_DN_DEV_H
#define _NET_DN_DEV_H
#include <linux/netdevice.h>
struct dn_dev;

View File

@ -4,6 +4,8 @@
#include <linux/netlink.h>
#include <linux/refcount.h>
#include <linux/rtnetlink.h>
#include <net/fib_rules.h>
extern const struct nla_policy rtm_dn_policy[];

View File

@ -2,6 +2,8 @@
#ifndef _NET_DN_NEIGH_H
#define _NET_DN_NEIGH_H
#include <net/neighbour.h>
/*
* The position of the first two fields of
* this structure are critical - SJW

View File

@ -6,6 +6,12 @@
*******************************************************************************/
/* dn_nsp.c functions prototyping */
#include <linux/atomic.h>
#include <linux/types.h>
#include <net/sock.h>
struct sk_buff;
struct sk_buff_head;
void dn_nsp_send_data_ack(struct sock *sk);
void dn_nsp_send_oth_ack(struct sock *sk);

View File

@ -7,6 +7,9 @@
*******************************************************************************/
#include <linux/types.h>
#include <net/dst.h>
struct sk_buff *dn_alloc_skb(struct sock *sk, int size, gfp_t pri);
int dn_route_output_sock(struct dst_entry __rcu **pprt, struct flowidn *,
struct sock *sk, int flags);

View File

@ -58,6 +58,9 @@
* GRE proto ERSPAN type I/II = 0x88BE, type III = 0x22EB
*/
#include <linux/ip.h>
#include <linux/ipv6.h>
#include <linux/skbuff.h>
#include <uapi/linux/erspan.h>
#define ERSPAN_VERSION 0x1 /* ERSPAN type II */

View File

@ -5,6 +5,7 @@
#include <linux/skbuff.h>
struct ip_esp_hdr;
struct xfrm_state;
static inline struct ip_esp_hdr *ip_esp_hdr(const struct sk_buff *skb)
{

View File

@ -10,6 +10,9 @@
#ifndef LINUX_NET_ETHOC_H
#define LINUX_NET_ETHOC_H 1
#include <linux/if.h>
#include <linux/types.h>
struct ethoc_platform_data {
u8 hwaddr[IFHWADDRLEN];
s8 phy_id;

View File

@ -2,6 +2,8 @@
#ifndef _NET_FIREWIRE_H
#define _NET_FIREWIRE_H
#include <linux/types.h>
/* Pseudo L2 address */
#define FWNET_ALEN 16
union fwnet_hwaddr {

View File

@ -7,6 +7,10 @@
#ifndef __NET_SCHED_FQ_H
#define __NET_SCHED_FQ_H
#include <linux/skbuff.h>
#include <linux/spinlock.h>
#include <linux/types.h>
struct fq_tin;
/**

View File

@ -2,6 +2,8 @@
#ifndef _NET_GARP_H
#define _NET_GARP_H
#include <linux/if_ether.h>
#include <linux/types.h>
#include <net/stp.h>
#define GARP_PROTOCOL_ID 0x1

View File

@ -2,6 +2,10 @@
#ifndef _GTP_H_
#define _GTP_H_
#include <linux/netdevice.h>
#include <linux/types.h>
#include <net/rtnetlink.h>
/* General GTP protocol related definitions. */
#define GTP0_PORT 3386

View File

@ -30,6 +30,9 @@
* may refer to options placed after this field.
*/
#include <asm/byteorder.h>
#include <linux/types.h>
struct guehdr {
union {
struct {

View File

@ -2,6 +2,8 @@
#ifndef _HWBM_H
#define _HWBM_H
#include <linux/mutex.h>
struct hwbm_pool {
/* Capacity of the pool */
int size;

View File

@ -8,6 +8,8 @@
#ifndef _NET_ILA_H
#define _NET_ILA_H
struct sk_buff;
int ila_xlat_outgoing(struct sk_buff *skb);
int ila_xlat_incoming(struct sk_buff *skb);

View File

@ -11,6 +11,8 @@
#include <linux/types.h>
struct flowi;
struct flowi6;
struct request_sock;
struct sk_buff;
struct sock;

View File

@ -3,6 +3,10 @@
#define _INET_COMMON_H
#include <linux/indirect_call_wrapper.h>
#include <linux/net.h>
#include <linux/netdev_features.h>
#include <linux/types.h>
#include <net/sock.h>
extern const struct proto_ops inet_stream_ops;
extern const struct proto_ops inet_dgram_ops;
@ -12,6 +16,8 @@ extern const struct proto_ops inet_dgram_ops;
*/
struct msghdr;
struct net;
struct page;
struct sock;
struct sockaddr;
struct socket;

View File

@ -4,6 +4,9 @@
#include <linux/rhashtable-types.h>
#include <linux/completion.h>
#include <linux/in6.h>
#include <linux/rbtree_types.h>
#include <linux/refcount.h>
/* Per netns frag queues directory */
struct fqdir {

View File

@ -2,6 +2,16 @@
#ifndef _NET_IP6_ROUTE_H
#define _NET_IP6_ROUTE_H
#include <net/addrconf.h>
#include <net/flow.h>
#include <net/ip6_fib.h>
#include <net/sock.h>
#include <net/lwtunnel.h>
#include <linux/ip.h>
#include <linux/ipv6.h>
#include <linux/route.h>
#include <net/nexthop.h>
struct route_info {
__u8 type;
__u8 length;
@ -19,16 +29,6 @@ struct route_info {
__u8 prefix[]; /* 0,8 or 16 */
};
#include <net/addrconf.h>
#include <net/flow.h>
#include <net/ip6_fib.h>
#include <net/sock.h>
#include <net/lwtunnel.h>
#include <linux/ip.h>
#include <linux/ipv6.h>
#include <linux/route.h>
#include <net/nexthop.h>
#define RT6_LOOKUP_F_IFACE 0x00000001
#define RT6_LOOKUP_F_REACHABLE 0x00000002
#define RT6_LOOKUP_F_HAS_SADDR 0x00000004

View File

@ -2,11 +2,13 @@
#ifndef _NET_IPCOMP_H
#define _NET_IPCOMP_H
#include <linux/skbuff.h>
#include <linux/types.h>
#define IPCOMP_SCRATCH_SIZE 65400
struct crypto_comp;
struct ip_comp_hdr;
struct ipcomp_data {
u16 threshold;

View File

@ -7,6 +7,8 @@
/* The following are initdata: */
#include <linux/types.h>
extern int ic_proto_enabled; /* Protocols enabled (see IC_xxx) */
extern int ic_set_manually; /* IPconfig parameters set manually */

View File

@ -16,6 +16,13 @@
* Connection state transition actions
* (Fb = F bit; Pb = P bit; Xb = X bit)
*/
#include <linux/types.h>
struct sk_buff;
struct sock;
struct timer_list;
#define LLC_CONN_AC_CLR_REMOTE_BUSY 1
#define LLC_CONN_AC_CONN_IND 2
#define LLC_CONN_AC_CONN_CONFIRM 3

View File

@ -11,6 +11,10 @@
*
* See the GNU General Public License for more details.
*/
#include <net/llc_c_ac.h>
#include <net/llc_c_ev.h>
/* Connection component state management */
/* connection states */
#define LLC_CONN_OUT_OF_SVC 0 /* prior to allocation */

View File

@ -11,6 +11,10 @@
*
* See the GNU General Public License for more details.
*/
struct llc_sap;
struct sk_buff;
/* SAP component actions */
#define SAP_ACT_UNITDATA_IND 1
#define SAP_ACT_SEND_UI 2

View File

@ -13,6 +13,7 @@
*/
#include <linux/skbuff.h>
#include <net/llc.h>
/* Defines SAP component events */
/* Types of events (possible values in 'ev->type') */

View File

@ -6,6 +6,9 @@
#ifndef _NET_MPLS_IPTUNNEL_H
#define _NET_MPLS_IPTUNNEL_H 1
#include <linux/types.h>
#include <net/lwtunnel.h>
struct mpls_iptunnel_encap {
u8 labels;
u8 ttl_propagate;

View File

@ -2,6 +2,10 @@
#ifndef _NET_MRP_H
#define _NET_MRP_H
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/types.h>
#define MRP_END_MARK 0x0
struct mrp_pdu_hdr {

View File

@ -2,6 +2,8 @@
#ifndef __NET_NCSI_H
#define __NET_NCSI_H
#include <linux/types.h>
/*
* The NCSI device states seen from external. More NCSI device states are
* only visible internally (in net/ncsi/internal.h). When the NCSI device

View File

@ -14,6 +14,7 @@
struct dst_entry;
struct neighbour;
struct notifier_block ;
struct netevent_redirect {
struct dst_entry *old;

View File

@ -7,6 +7,7 @@
#define __NETNS_CAN_H__
#include <linux/spinlock.h>
#include <linux/timer.h>
struct can_dev_rcv_lists;
struct can_pkg_stats;

View File

@ -2,6 +2,8 @@
#ifndef __NETNS_CORE_H__
#define __NETNS_CORE_H__
#include <linux/types.h>
struct ctl_table_header;
struct prot_inuse;

View File

@ -8,6 +8,7 @@
#include <linux/bug.h>
#include <linux/rcupdate.h>
#include <net/net_namespace.h>
/*
* Generic net pointers are to be used by modules to put some private

View File

@ -9,6 +9,7 @@
#include <linux/uidgid.h>
#include <net/inet_frag.h>
#include <linux/rcupdate.h>
#include <linux/seqlock.h>
#include <linux/siphash.h>
struct ctl_table_header;

View File

@ -6,6 +6,7 @@
#ifndef __NETNS_MCTP_H__
#define __NETNS_MCTP_H__
#include <linux/mutex.h>
#include <linux/types.h>
struct netns_mctp {

View File

@ -6,6 +6,8 @@
#ifndef __NETNS_MPLS_H__
#define __NETNS_MPLS_H__
#include <linux/types.h>
struct mpls_route;
struct ctl_table_header;

View File

@ -6,6 +6,7 @@
#ifndef __NETNS_NEXTHOP_H__
#define __NETNS_NEXTHOP_H__
#include <linux/notifier.h>
#include <linux/rbtree.h>
struct netns_nexthop {

View File

@ -2,6 +2,9 @@
#ifndef __NETNS_SCTP_H__
#define __NETNS_SCTP_H__
#include <linux/timer.h>
#include <net/snmp.h>
struct sock;
struct proc_dir_entry;
struct sctp_mib;

View File

@ -5,6 +5,8 @@
#ifndef __NETNS_UNIX_H__
#define __NETNS_UNIX_H__
#include <linux/spinlock.h>
struct unix_table {
spinlock_t *locks;
struct hlist_head *buckets;

View File

@ -14,6 +14,7 @@
#include <net/sock.h>
#include <linux/refcount.h>
#include <linux/seq_file.h>
#include <net/ax25.h>
#define NR_NETWORK_LEN 15
#define NR_TRANSPORT_LEN 5

View File

@ -1,6 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _NET_P8022_H
#define _NET_P8022_H
struct net_device;
struct packet_type;
struct sk_buff;
struct datalink_proto *
register_8022_client(unsigned char type,
int (*func)(struct sk_buff *skb,

View File

@ -10,6 +10,9 @@
#ifndef NET_PHONET_PEP_H
#define NET_PHONET_PEP_H
#include <linux/skbuff.h>
#include <net/phonet/phonet.h>
struct pep_sock {
struct pn_sock pn_sk;

View File

@ -10,6 +10,10 @@
#ifndef AF_PHONET_H
#define AF_PHONET_H
#include <linux/phonet.h>
#include <linux/skbuff.h>
#include <net/sock.h>
/*
* The lower layers may not require more space, ever. Make sure it's
* enough.

View File

@ -10,6 +10,11 @@
#ifndef PN_DEV_H
#define PN_DEV_H
#include <linux/list.h>
#include <linux/mutex.h>
struct net;
struct phonet_device_list {
struct list_head list;
struct mutex lock;

View File

@ -2,6 +2,9 @@
#ifndef _NET_PPTP_H
#define _NET_PPTP_H
#include <linux/types.h>
#include <net/gre.h>
#define PPP_LCP_ECHOREQ 0x09
#define PPP_LCP_ECHOREP 0x0A
#define SC_RCV_BITS (SC_RCV_B7_1|SC_RCV_B7_0|SC_RCV_ODDP|SC_RCV_EVNP)

View File

@ -2,6 +2,11 @@
#ifndef _NET_PSNAP_H
#define _NET_PSNAP_H
struct datalink_proto;
struct sk_buff;
struct packet_type;
struct net_device;
struct datalink_proto *
register_snap_client(const unsigned char *desc,
int (*rcvfunc)(struct sk_buff *, struct net_device *,

View File

@ -1,3 +1,4 @@
#ifndef __NET_REGULATORY_H
#define __NET_REGULATORY_H
/*
@ -19,6 +20,8 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include <linux/ieee80211.h>
#include <linux/nl80211.h>
#include <linux/rcupdate.h>
/**

View File

@ -9,6 +9,7 @@
#define _ROSE_H
#include <linux/rose.h>
#include <net/ax25.h>
#include <net/sock.h>
#define ROSE_ADDR_LEN 5

View File

@ -4,6 +4,8 @@
#include <linux/types.h>
struct net;
u64 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport);
u64 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 *daddr,
__be16 dport);

View File

@ -11,6 +11,13 @@
#ifndef _SMC_H
#define _SMC_H
#include <linux/device.h>
#include <linux/spinlock.h>
#include <linux/types.h>
#include <linux/wait.h>
struct sock;
#define SMC_MAX_PNETID_LEN 16 /* Max. length of PNET id */
struct smc_hashinfo {

View File

@ -2,6 +2,8 @@
#ifndef _NET_STP_H
#define _NET_STP_H
#include <linux/if_ether.h>
struct stp_proto {
unsigned char group_address[ETH_ALEN];
void (*rcv)(const struct stp_proto *, struct sk_buff *,

View File

@ -3,6 +3,7 @@
#define _TRANSP_V6_H
#include <net/checksum.h>
#include <net/sock.h>
/* IPv6 transport protocols */
extern struct proto rawv6_prot;
@ -12,6 +13,7 @@ extern struct proto tcpv6_prot;
extern struct proto pingv6_prot;
struct flowi6;
struct ipcm6_cookie;
/* extension headers */
int ipv6_exthdrs_init(void);

View File

@ -1,7 +1,8 @@
#ifndef __NET_TUN_PROTO_H
#define __NET_TUN_PROTO_H
#include <linux/kernel.h>
#include <linux/if_ether.h>
#include <linux/types.h>
/* One byte protocol values as defined by VXLAN-GPE and NSH. These will
* hopefully get a shared IANA registry.

View File

@ -6,6 +6,7 @@
#define _UDPLITE_H
#include <net/ip6_checksum.h>
#include <net/udp.h>
/* UDP-Lite socket options */
#define UDPLITE_SEND_CSCOV 10 /* sender partial coverage (as sent) */

View File

@ -3,6 +3,7 @@
#define __LINUX_NET_XDP_PRIV_H__
#include <linux/rhashtable.h>
#include <net/xdp.h>
/* Private to net/core/xdp.c, but used by trace/events/xdp.h */
struct xdp_mem_allocator {