Skip to content

px/tcp_drops pxl script broken due to missing tcp_drop kprobe #1582

@ddelnano

Description

@ddelnano

Running the px/tcp_drops pxl script results in the following errors:

$ kubectl -n pl logs vizier-pem-qrn9l

[ .. ]

stdin:26-28: WARNING: tcp_drop is not traceable (either non-existing, inlined, or marked as "notrace"); attaching to it will likely fail
I20230627 17:32:19.979256 1894345 stirling.cc:549] DynamicTraceConnector [DT_e2a6ba86-df73-4975-a291-fd8728296097] created in 5570.15 ms.
I20230627 17:32:19.979339 1894345 source_connector.cc:35] Initializing source connector: DT_e2a6ba86-df73-4975-a291-fd8728296097
cannot attach kprobe, probe entry may not exist
ERROR: Error attaching probe: 'kprobe:tcp_drop'
I20230627 17:32:20.119061 1894345 stirling.cc:566] Internal : Failed to run BPF code.
I20230627 17:32:22.009603 3168351 tracepoint_manager.cc:180] Tracepoint[e2a6ba86-df73-4975-a291-fd8728296097]::tcp_drop_tracer has transitioned PENDING_STATE -> FAILED_STATE

It appears that the tcp_drop function was removed in v5.19 kernel and that removal may have been backported to other v5.x releases. For these newer kernels there is a tracepoint available that should serve a similar purpose (tracepoint:skb:kfree_skb). BCC's tcpdrop tool uses this as a fallback if the kprobe doesn't exist, so we should implement a similar fallback mechanism.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions