git: 8601d1baf13d - stable/13 - pf: Add static DTrace probe points
Kristof Provost
kp at FreeBSD.org
Mon Apr 19 19:21:50 UTC 2021
The branch stable/13 has been updated by kp:
URL: https://cgit.FreeBSD.org/src/commit/?id=8601d1baf13da4f4241ecead4854839c076558d5
commit 8601d1baf13da4f4241ecead4854839c076558d5
Author: Kristof Provost <kp at FreeBSD.org>
AuthorDate: 2021-04-02 13:53:34 +0000
Commit: Kristof Provost <kp at FreeBSD.org>
CommitDate: 2021-04-19 19:19:06 +0000
pf: Add static DTrace probe points
These two have proven to be useful during debugging. We may as well keep
them permanently.
Others will be added as their utility becomes clear.
Reviewed by: gnn
MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D29555
(cherry picked from commit f4c02909167b6f791df470afddfe31cabf009c4d)
---
sys/netpfil/pf/pf.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index 25b958696345..2429fd97c887 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$");
#include <sys/md5.h>
#include <sys/random.h>
#include <sys/refcount.h>
+#include <sys/sdt.h>
#include <sys/socket.h>
#include <sys/sysctl.h>
#include <sys/taskqueue.h>
@@ -112,6 +113,15 @@ __FBSDID("$FreeBSD$");
#define DPFPRINTF(n, x) if (V_pf_status.debug >= (n)) printf x
+SDT_PROVIDER_DEFINE(pf);
+SDT_PROBE_DEFINE4(pf, ip, test, done, "int", "int", "struct pf_krule *",
+ "struct pf_state *");
+SDT_PROBE_DEFINE4(pf, ip, test6, done, "int", "int", "struct pf_krule *",
+ "struct pf_state *");
+SDT_PROBE_DEFINE5(pf, ip, state, lookup, "struct pfi_kkif *",
+ "struct pf_state_key_cmp *", "int", "struct pf_pdesc *",
+ "struct pf_state *");
+
/*
* Global variables
*/
@@ -326,6 +336,7 @@ VNET_DEFINE(struct pf_limit, pf_limits[PF_LIMIT_MAX]);
#define STATE_LOOKUP(i, k, d, s, pd) \
do { \
(s) = pf_find_state((i), (k), (d)); \
+ SDT_PROBE5(pf, ip, state, lookup, i, k, d, pd, (s)); \
if ((s) == NULL) \
return (PF_DROP); \
if (PACKET_LOOPED(pd)) \
@@ -6318,6 +6329,8 @@ done:
if (s)
PF_STATE_UNLOCK(s);
+ SDT_PROBE4(pf, ip, test, done, action, reason, r, s);
+
return (action);
}
#endif /* INET */
@@ -6726,6 +6739,8 @@ done:
(mtag = m_tag_find(m, PF_REASSEMBLED, NULL)) != NULL)
action = pf_refragment6(ifp, m0, mtag);
+ SDT_PROBE4(pf, ip, test6, done, action, reason, r, s);
+
return (action);
}
#endif /* INET6 */
More information about the dev-commits-src-all
mailing list