The branch main has been updated by glebius:

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

commit 8fc80638496e620519b2585d9fab409494ea4b43
Author:     Gleb Smirnoff <gleb...@freebsd.org>
AuthorDate: 2022-08-30 02:15:01 +0000
Commit:     Gleb Smirnoff <gleb...@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)
 {

Reply via email to