git: 8fc80638496e - main - divert: merge div_output() into div_send()

From: Gleb Smirnoff <glebius_at_FreeBSD.org>
Date: Tue, 30 Aug 2022 02:24:57 UTC
The branch main has been updated by glebius:

URL: https://cgit.FreeBSD.org/src/commit/?id=8fc80638496e620519b2585d9fab409494ea4b43

commit 8fc80638496e620519b2585d9fab409494ea4b43
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2022-08-30 02:15:01 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2022-08-30 02:15:01 +0000

    divert: merge div_output() into div_send()
    
    No functional change intended.
---
 sys/netinet/ip_divert.c | 36 ++++++++++++------------------------
 1 file changed, 12 insertions(+), 24 deletions(-)

diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c
index b4730b069fc1..d14ec5190ad0 100644
--- a/sys/netinet/ip_divert.c
+++ b/sys/netinet/ip_divert.c
@@ -293,18 +293,25 @@ divert_packet(struct mbuf *m, bool incoming)
  * the interface with that address.
  */
 static int
-div_output(struct socket *so, struct mbuf *m, struct sockaddr_in *sin,
-    struct mbuf *control)
+div_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam,
+    struct mbuf *control, struct thread *td)
 {
 	struct epoch_tracker et;
+	struct sockaddr_in *sin = (struct sockaddr_in *)nam;
 	const struct ip *ip;
 	struct m_tag *mtag;
 	struct ipfw_rule_ref *dt;
 	int error, family;
 
-	if (control) {
-		m_freem(control);		/* XXX */
-		control = NULL;
+	if (control)
+		m_freem(control);
+
+	/* Packet must have a header (but that's about it) */
+	if (m->m_len < sizeof (struct ip) &&
+	    (m = m_pullup(m, sizeof (struct ip))) == NULL) {
+		KMOD_IPSTAT_INC(ips_toosmall);
+		m_freem(m);
+		return (EINVAL);
 	}
 
 	if (sin != NULL) {
@@ -634,25 +641,6 @@ div_shutdown(struct socket *so)
 	return 0;
 }
 
-static int
-div_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam,
-    struct mbuf *control, struct thread *td)
-{
-
-	/* Packet must have a header (but that's about it) */
-	if (m->m_len < sizeof (struct ip) &&
-	    (m = m_pullup(m, sizeof (struct ip))) == NULL) {
-		KMOD_IPSTAT_INC(ips_toosmall);
-		if (control != NULL)
-			m_freem(control);
-		m_freem(m);
-		return EINVAL;
-	}
-
-	/* Send packet */
-	return div_output(so, m, (struct sockaddr_in *)nam, control);
-}
-
 static int
 div_pcblist(SYSCTL_HANDLER_ARGS)
 {