From: eugene.loh@oracle.com
To: dtrace@lists.linux.dev, dtrace-devel@oss.oracle.com
Subject: [PATCH 19/20] doc: Add UDP provider documentation
Date: Fri, 26 Sep 2025 15:05:56 -0400 [thread overview]
Message-ID: <20250926190557.8485-19-eugene.loh@oracle.com> (raw)
In-Reply-To: <20250926190557.8485-1-eugene.loh@oracle.com>
From: Eugene Loh <eugene.loh@oracle.com>
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
---
doc/userguide/index.md | 6 ++
doc/userguide/reference/dtrace_providers.md | 2 +
.../reference/dtrace_providers_udp.md | 77 +++++++++++++++++++
3 files changed, 85 insertions(+)
create mode 100644 doc/userguide/reference/dtrace_providers_udp.md
diff --git a/doc/userguide/index.md b/doc/userguide/index.md
index d47df094b..4eb682a8a 100644
--- a/doc/userguide/index.md
+++ b/doc/userguide/index.md
@@ -266,6 +266,12 @@
- [tcpsinfo\_t](reference/dtrace_providers_tcp.md#tcpsinfo_t)
- [tcplsinfo\_t](reference/dtrace_providers_tcp.md#tcplsinfo_t)
- [tcp Stability](reference/dtrace_providers_tcp.md#tcp-stability)
+ - [UDP Provider](reference/dtrace_providers_udp.md)
+ - [udp Probes](reference/dtrace_providers_udp.md#udp-probes)
+ - [udp Probe Arguments](reference/dtrace_providers_udp.md#udp-probe-arguments)
+ - [udpsinfo\_t](reference/dtrace_providers_udp.md#udpsinfo_t)
+ - [udpinfo\_t](reference/dtrace_providers_udp.md#udpinfo_t)
+ - [udp Stability](reference/dtrace_providers_udp.md#udp-stability)
- [USDT Provider](reference/dtrace-ref-StaticallyDefinedTracingofUserApplications.md)
- [Defining USDT Providers and Probes](reference/dtrace-ref-StaticallyDefinedTracingofUserApplications.md#defining-usdt-providers-and-probes)
- [Adding USDT Probes to Application Code](reference/dtrace-ref-StaticallyDefinedTracingofUserApplications.md#adding-usdt-probes-to-application-code)
diff --git a/doc/userguide/reference/dtrace_providers.md b/doc/userguide/reference/dtrace_providers.md
index 029f62c54..450adf9bb 100644
--- a/doc/userguide/reference/dtrace_providers.md
+++ b/doc/userguide/reference/dtrace_providers.md
@@ -31,5 +31,7 @@ The Statically Defined Tracing \(SDT\) provider \(`sdt`\) creates probes at site
The `syscall` provider makes available a probe at the entry to and return from every system call in the system.
- **[TCP Provider](../reference/dtrace_providers_tcp.md)**
The `tcp` provider makes available probe at different phases of TCP processing.
+- **[UDP Provider](../reference/dtrace_providers_udp.md)**
+The `udp` provider makes available a probe at UDP send and receive operations in the system.
- **[USDT Provider](../reference/dtrace-ref-StaticallyDefinedTracingofUserApplications.md)**
Use the USDT provider, for user space statically defined tracing, to instrument user space code with probes that are meaningful for an application.
diff --git a/doc/userguide/reference/dtrace_providers_udp.md b/doc/userguide/reference/dtrace_providers_udp.md
new file mode 100644
index 000000000..b3e0c3d2a
--- /dev/null
+++ b/doc/userguide/reference/dtrace_providers_udp.md
@@ -0,0 +1,77 @@
+
+# UDP Provider
+
+The `udp` provider makes available a probe at UDP send operations in the system and a probe at receive.
+
+**Parent topic:**[DTrace Provider Reference](../reference/dtrace_providers.md)
+
+## udp Probes
+
+`udp` provides a probe for UDP sends and one for UDP receives.
+The module name is always `vmlinux` and the function name is empty.
+
+## udp Probe Arguments
+
+The following table lists the argument types for both the `send` and `receive` probes.
+
+| arg | type |
+| :--- | :--- |
+| `args[0]` | `pktinfo_t *` |
+| `args[1]` | `csinfo_t *` |
+| `args[2]` | `ipinfo_t *` |
+| `args[3]` | `udpsinfo_t *` |
+| `args[4]` | `udpinfo_t *` |
+
+The `pktinfo_t`, `csinfo_t`, and `ipinfo_t` structures are described in [IP Provider](dtrace_providers_ip.md).
+
+### udpsinfo\_t
+
+The `udpsinfo_t` structure contains stable UDP details from `udp_t`.
+Detailed information about this data structure can be found in `/usr/lib64/dtrace/*version*/udp.d`.
+The definition of `udpsinfo_t` is as follows:
+
+```nocopybutton
+typedef struct udpsinfo {
+ uintptr_t udps_addr;
+ uint16_t udps_lport; /* local port */
+ uint16_t udps_rport; /* remote port */
+ string udps_laddr; /* local address, as a string */
+ string udps_raddr; /* remote address, as a string */
+} udpsinfo_t;
+```
+
+**Note:**
+
+DTrace translates the members of `udpsinfo_t` from a `struct udp_sock *`.
+
+### udpinfo\_t
+
+The `udpinfo_t` structure contains the UDP header fields.
+Detailed information about this data structure can be found in `/usr/lib64/dtrace/*version*/udp.d`.
+The definition of `udpinfo_t` is as follows:
+
+```nocopybutton
+typedef struct udpinfo {
+ uint16_t udp_sport; /* source port */
+ uint16_t udp_dport; /* destination port */
+ uint16_t udp_length; /* total length */
+ uint16_t udp_checksum; /* headers + data checksum */
+ struct udphdr *udp_hdr; /* raw UDP header */
+} udpinfo_t;
+```
+
+**Note:**
+
+DTrace translates the members of `udpinfo_t` from a `struct udphdr *`.
+
+## udp Stability
+
+The `udp` provider uses DTrace's stability mechanism to describe its stabilities. These stability values are listed in the following table.
+
+| Element | Name Stability | Data Stability | Dependency Class |
+| :--- | :--- | :--- | :--- |
+| Provider | Evolving | Evolving | ISA |
+| Module | Private | Private | Unknown |
+| Function | Private | Private | Unknown |
+| Name | Evolving | Evolving | ISA |
+| Arguments | Evolving | Evolving | ISA |
--
2.47.3
next prev parent reply other threads:[~2025-09-26 19:06 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-26 19:05 [PATCH 01/20] Fix comment since pkt_addr is not NULL eugene.loh
2025-09-26 19:05 ` [PATCH 02/20] doc: Add a space eugene.loh
2025-10-23 19:50 ` [DTrace-devel] " Elena Zannoni
2025-09-26 19:05 ` [PATCH 03/20] doc: Add separator lines to cpc Markdown tables eugene.loh
2025-10-23 19:51 ` [DTrace-devel] " Elena Zannoni
2025-09-26 19:05 ` [PATCH 04/20] doc: Convert stability attribute tables to Markdown for readability eugene.loh
2025-10-23 19:52 ` [DTrace-devel] " Elena Zannoni
2025-09-26 19:05 ` [PATCH 05/20] doc: Remove duplicate id eugene.loh
2025-09-26 19:05 ` [PATCH 06/20] doc: Clean up dangling anchor links eugene.loh
2025-09-26 19:05 ` [PATCH 07/20] doc: Remove internal ID definition at top of file eugene.loh
2025-10-22 3:03 ` Eugene Loh
2025-09-26 19:05 ` [PATCH 08/20] doc: Fix anchor links for built-in variables eugene.loh
2025-09-26 19:05 ` [PATCH 09/20] doc: Fix anchor links for providers eugene.loh
2025-09-26 19:05 ` [PATCH 10/20] doc: Fix anchor links for explanation/ eugene.loh
2025-09-26 19:05 ` [PATCH 11/20] doc: Fix anchor links for how-to/ eugene.loh
2025-09-26 19:05 ` [PATCH 12/20] doc: Fix anchor links for reference/ eugene.loh
2025-09-26 19:05 ` [PATCH 13/20] doc: Clean up the table for string relational operators eugene.loh
2025-09-26 19:05 ` [PATCH 14/20] doc: Link to "Character Escape Sequences" table eugene.loh
2025-09-26 19:05 ` [PATCH 15/20] doc: Clean up profile unit table eugene.loh
2025-09-26 19:05 ` [PATCH 16/20] doc: Clean up undefined anchor links eugene.loh
2025-09-26 19:05 ` [PATCH v2 17/20] doc: Add IP provider documentation eugene.loh
2025-10-09 17:03 ` Kris Van Hees
2025-10-09 21:00 ` Eugene Loh
2025-10-09 21:45 ` Kris Van Hees
2025-10-09 22:28 ` Eugene Loh
2025-09-26 19:05 ` [PATCH 18/20] doc: Add TCP " eugene.loh
2025-10-24 8:24 ` Alan Maguire
2025-09-26 19:05 ` eugene.loh [this message]
2025-10-24 8:18 ` [PATCH 19/20] doc: Add UDP " Alan Maguire
2025-09-26 19:05 ` [PATCH 20/20] doc: Add rawfbt " eugene.loh
2025-10-07 15:23 ` [PATCH 01/20] Fix comment since pkt_addr is not NULL Kris Van Hees
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250926190557.8485-19-eugene.loh@oracle.com \
--to=eugene.loh@oracle.com \
--cc=dtrace-devel@oss.oracle.com \
--cc=dtrace@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox