summaryrefslogtreecommitdiff
path: root/Documentation/topics
diff options
context:
space:
mode:
authorEelco Chaudron <echaudro@redhat.com>2021-12-22 10:18:23 +0100
committerIlya Maximets <i.maximets@ovn.org>2022-01-18 00:46:30 +0100
commit51ec98635e3f193fc8b0b4fd5636dd831e4d3073 (patch)
treefe69e438cef779841c8381b57d2b0b33239fc884 /Documentation/topics
parentff4c712d45d7b696039061b1821a39dcd72d88fb (diff)
downloadopenvswitch-51ec98635e3f193fc8b0b4fd5636dd831e4d3073.tar.gz
utilities: Add upcall USDT probe and associated script.
Added the dpif_recv:recv_upcall USDT probe, which is used by the included upcall_monitor.py script. This script receives all upcall packets sent by the kernel to ovs-vswitchd. By default, it will show all upcall events, which looks something like this: TIME CPU COMM PID DPIF_NAME TYPE PKT_LEN FLOW_KEY_LEN 5952147.003848809 2 handler4 1381158 system@ovs-system 0 98 132 5952147.003879643 2 handler4 1381158 system@ovs-system 0 70 160 5952147.003914924 2 handler4 1381158 system@ovs-system 0 98 152 It can also dump the packet and NetLink content, and if required, the packets can also be written to a pcap file. Signed-off-by: Eelco Chaudron <echaudro@redhat.com> Acked-by: Paolo Valerio <pvalerio@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'Documentation/topics')
-rw-r--r--Documentation/topics/usdt-probes.rst26
1 files changed, 26 insertions, 0 deletions
diff --git a/Documentation/topics/usdt-probes.rst b/Documentation/topics/usdt-probes.rst
index 8aa596b80..856d579f6 100644
--- a/Documentation/topics/usdt-probes.rst
+++ b/Documentation/topics/usdt-probes.rst
@@ -202,10 +202,36 @@ used naming convention.
Available probes in ``ovs_vswitchd``:
+- dpif_recv:recv_upcall
- main:poll_block
- main:run_start
+probe dpif_recv:recv_upcall
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**Description**:
+
+This probe gets triggered when the datapath independent layer gets notified
+that a packet needs to be processed by userspace. This allows the probe to
+intercept all packets sent by the kernel to ``ovs-vswitchd``. The
+``upcall_monitor.py`` script uses this probe to display and capture all packets
+sent to ``ovs-vswitchd``.
+
+**Arguments**:
+
+- *arg0*: ``(struct dpif *)->full_name``
+- *arg1*: ``(struct dpif_upcall *)->type``
+- *arg2*: ``dp_packet_data((struct dpif_upcall *)->packet)``
+- *arg3*: ``dp_packet_size((struct dpif_upcall *)->packet)``
+- *arg4*: ``(struct dpif_upcall *)->key``
+- *arg5*: ``(struct dpif_upcall *)->key_len``
+
+**Script references**:
+
+- ``utilities/usdt-scripts/upcall_monitor.py``
+
+
probe main:run_start
~~~~~~~~~~~~~~~~~~~~