diff options
author | Eelco Chaudron <echaudro@redhat.com> | 2021-12-22 10:18:23 +0100 |
---|---|---|
committer | Ilya Maximets <i.maximets@ovn.org> | 2022-01-18 00:46:30 +0100 |
commit | 51ec98635e3f193fc8b0b4fd5636dd831e4d3073 (patch) | |
tree | fe69e438cef779841c8381b57d2b0b33239fc884 /Documentation/topics | |
parent | ff4c712d45d7b696039061b1821a39dcd72d88fb (diff) | |
download | openvswitch-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.rst | 26 |
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 ~~~~~~~~~~~~~~~~~~~~ |