The branch main has been updated by kp:

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

commit e7995c99f1e4b3ae001a4ce53c07fb97ada3d003
Author:     Kristof Provost <k...@freebsd.org>
AuthorDate: 2025-03-29 09:46:54 +0000
Commit:     Kristof Provost <k...@freebsd.org>
CommitDate: 2025-03-31 12:56:57 +0000

    pf: inline pf_addrcpy()
    
    Make it easier for the compiler to inline this in the many cases where the 
'af'
    is known at compile time.
    
    Reviewed by:    glebius, markj
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
    Differential Revision:  https://reviews.freebsd.org/D49581
---
 sys/net/pfvar.h     | 19 +++++++++++++++++++
 sys/netpfil/pf/pf.c | 17 -----------------
 2 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h
index 156ffd22c07b..82967dc10d03 100644
--- a/sys/net/pfvar.h
+++ b/sys/net/pfvar.h
@@ -598,6 +598,25 @@ extern struct sx pf_end_lock;
 #endif /* PF_INET6_ONLY */
 #endif /* PF_INET_INET6 */
 
+#ifdef _KERNEL
+#ifdef INET6
+static void inline
+pf_addrcpy(struct pf_addr *dst, const struct pf_addr *src, sa_family_t af)
+{
+       switch (af) {
+#ifdef INET
+       case AF_INET:
+               memcpy(&dst->v4, &src->v4, sizeof(dst->v4));
+               break;
+#endif /* INET */
+       case AF_INET6:
+               memcpy(&dst->v6, &src->v6, sizeof(dst->v6));
+               break;
+       }
+}
+#endif /* INET6 */
+#endif
+
 /*
  * XXX callers not FIB-aware in our version of pf yet.
  * OpenBSD fixed it later it seems, 2010/05/07 13:33:16 claudio.
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index d60b30057cbb..e4affb502d0e 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -798,23 +798,6 @@ pf_set_protostate(struct pf_kstate *s, int which, u_int8_t 
newstate)
        s->src.state = newstate;
 }
 
-#ifdef INET6
-void
-pf_addrcpy(struct pf_addr *dst, const struct pf_addr *src, sa_family_t af)
-{
-       switch (af) {
-#ifdef INET
-       case AF_INET:
-               memcpy(&dst->v4, &src->v4, sizeof(dst->v4));
-               break;
-#endif /* INET */
-       case AF_INET6:
-               memcpy(&dst->v6, &src->v6, sizeof(dst->v6));
-               break;
-       }
-}
-#endif /* INET6 */
-
 static void
 pf_init_threshold(struct pf_threshold *threshold,
     u_int32_t limit, u_int32_t seconds)

Reply via email to