git: 0c0d8a4f7e54 - main - udp: rearrange declarations in udp_var.h into user and _KERNEL halves

From: Gleb Smirnoff <glebius_at_FreeBSD.org>
Date: Wed, 07 Dec 2022 17:57:08 UTC
The branch main has been updated by glebius:

URL: https://cgit.FreeBSD.org/src/commit/?id=0c0d8a4f7e54fd4931cf23a6a68fca78a0d9aad9

commit 0c0d8a4f7e54fd4931cf23a6a68fca78a0d9aad9
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2022-12-07 17:55:38 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2022-12-07 17:55:38 +0000

    udp: rearrange declarations in udp_var.h into user and _KERNEL halves
    
    Bring everything that belongs to _KERNEL into single block.  Move
    sub-includes to its beginning.
---
 sys/netinet/udp_var.h | 68 +++++++++++++++++++++++----------------------------
 1 file changed, 31 insertions(+), 37 deletions(-)

diff --git a/sys/netinet/udp_var.h b/sys/netinet/udp_var.h
index 84ed16aa32f7..965630965352 100644
--- a/sys/netinet/udp_var.h
+++ b/sys/netinet/udp_var.h
@@ -58,33 +58,14 @@ struct udpiphdr {
 #define	ui_ulen		ui_u.uh_ulen
 #define	ui_sum		ui_u.uh_sum
 
-struct inpcb;
-struct mbuf;
-
-#ifdef _KERNEL
-typedef bool	udp_tun_func_t(struct mbuf *, int, struct inpcb *,
-		    const struct sockaddr *, void *);
-typedef union {
-	struct icmp *icmp;
-	struct ip6ctlparam *ip6cp;
-} udp_tun_icmp_param_t __attribute__((__transparent_union__));
-typedef void	udp_tun_icmp_t(udp_tun_icmp_param_t);
-
 /*
- * UDP control block; one per udp.
+ * Identifiers for UDP sysctl nodes.
  */
-struct udpcb {
-	udp_tun_func_t	*u_tun_func;	/* UDP kernel tunneling callback. */
-	udp_tun_icmp_t  *u_icmp_func;	/* UDP kernel tunneling icmp callback */
-	u_int		u_flags;	/* Generic UDP flags. */
-	uint16_t	u_rxcslen;	/* Coverage for incoming datagrams. */
-	uint16_t	u_txcslen;	/* Coverage for outgoing datagrams. */
-	void 		*u_tun_ctx;	/* Tunneling callback context. */
-};
-
-#define	intoudpcb(ip)	((struct udpcb *)(ip)->inp_ppcb)
-#define	sotoudpcb(so)	(intoudpcb(sotoinpcb(so)))
-#endif
+#define	UDPCTL_CHECKSUM		1	/* checksum UDP packets */
+#define	UDPCTL_STATS		2	/* statistics (read-only) */
+#define	UDPCTL_MAXDGRAM		3	/* max datagram size */
+#define	UDPCTL_RECVSPACE	4	/* default receive buffer space */
+#define	UDPCTL_PCBLIST		5	/* list of PCBs for UDP sockets */
 
 				/* IPsec: ESP in UDP tunneling: */
 #define	UF_ESPINUDP_NON_IKE	0x00000001	/* w/ non-IKE marker .. */
@@ -113,7 +94,32 @@ struct udpstat {
 };
 
 #ifdef _KERNEL
+#include <netinet/in_pcb.h>
 #include <sys/counter.h>
+struct mbuf;
+
+typedef bool	udp_tun_func_t(struct mbuf *, int, struct inpcb *,
+		    const struct sockaddr *, void *);
+typedef union {
+	struct icmp *icmp;
+	struct ip6ctlparam *ip6cp;
+} udp_tun_icmp_param_t __attribute__((__transparent_union__));
+typedef void	udp_tun_icmp_t(udp_tun_icmp_param_t);
+
+/*
+ * UDP control block; one per udp.
+ */
+struct udpcb {
+	udp_tun_func_t	*u_tun_func;	/* UDP kernel tunneling callback. */
+	udp_tun_icmp_t  *u_icmp_func;	/* UDP kernel tunneling icmp callback */
+	u_int		u_flags;	/* Generic UDP flags. */
+	uint16_t	u_rxcslen;	/* Coverage for incoming datagrams. */
+	uint16_t	u_txcslen;	/* Coverage for outgoing datagrams. */
+	void 		*u_tun_ctx;	/* Tunneling callback context. */
+};
+
+#define	intoudpcb(ip)	((struct udpcb *)(ip)->inp_ppcb)
+#define	sotoudpcb(so)	(intoudpcb(sotoinpcb(so)))
 
 VNET_PCPUSTAT_DECLARE(struct udpstat, udpstat);
 /*
@@ -130,19 +136,7 @@ VNET_PCPUSTAT_DECLARE(struct udpstat, udpstat);
 void	kmod_udpstat_inc(int statnum);
 #define	KMOD_UDPSTAT_INC(name)	\
     kmod_udpstat_inc(offsetof(struct udpstat, name) / sizeof(uint64_t))
-#endif
-
-/*
- * Identifiers for UDP sysctl nodes.
- */
-#define	UDPCTL_CHECKSUM		1	/* checksum UDP packets */
-#define	UDPCTL_STATS		2	/* statistics (read-only) */
-#define	UDPCTL_MAXDGRAM		3	/* max datagram size */
-#define	UDPCTL_RECVSPACE	4	/* default receive buffer space */
-#define	UDPCTL_PCBLIST		5	/* list of PCBs for UDP sockets */
 
-#ifdef _KERNEL
-#include <netinet/in_pcb.h>
 SYSCTL_DECL(_net_inet_udp);
 
 VNET_DECLARE(struct inpcbinfo, udbinfo);