Skip to content

Commit 80a83d9

Browse files
committed
Update dtrace script table (#210)
1 parent 1b16a45 commit 80a83d9

File tree

1 file changed

+45
-6
lines changed

1 file changed

+45
-6
lines changed

dtrace/README.adoc

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,56 @@ script which makes it more convenient to run these scripts; otherwise
66
you have to make sure to pass the correct DTrace flags to import the
77
local library file and common header.
88

9+
Some scripts also include USDT versions. Those can be useful when
10+
running unit/integration tests.
11+
912
|===
1013
|Script |Description
1114

15+
a|`opte-bad-packet.d`
16+
|Trace "bad" packets as they occur. A bad packet is merly one that we
17+
failed to parse, typically because it had an unexpected structure.
18+
This probe may fire quite often given xde's current use of
19+
promiscuous mode; and that is to be expected until we can make use of
20+
mac flows (see
21+
https://github.com/oxidecomputer/opte/issues/61[opte#61]).
22+
1223
a|`opte-flow-expire.d`
13-
|Track flows as they expire.
24+
|Track flows as they expire. This includes the Unified Flow Table
25+
(UFT), Layer Flow Tables (LFTs), and the TCP flow table.
1426

1527
a|`opte-gen-desc-fail.d`
16-
|Track `gen_desc()` failures of stateful actions.
28+
|Track `Action::Stateful::gen_desc()` failures. A failure here
29+
typically indicates failure to acquire a finite resource due to
30+
exhaustion.
1731

1832
a|`opte-gen-ht-fail.d`
19-
|Track `StaticAction::gen_gt()` failures.
33+
|Track `StaticAction::gen_ht()` failures.
34+
35+
a|`opte-guest-loopback.d`
36+
|Track packets that travel the "guest loopback" path. This is the path
37+
taken when two VPC guests live on the same sled.
2038

2139
a|`opte-ht.d`
22-
|Track header transpositions as they happen. Printing the direction,
23-
location, and before/after flow IDs.
40+
|Track header transformations as they happen. This only tracks rule
41+
processing, it does not track transformations that take place in the
42+
hot-path (UFT hit).
43+
44+
a|`opte-ioctl.d`
45+
|Track opte ioctl commands as they happen.
2446

2547
a|`opte-layer-process.d`
2648
|Track a flow as it is processed by the different layers. This only
27-
applies to flows without a UFT entry.
49+
applies to packets that do not match a flow in the UFT.
50+
51+
a|`opte-next-hop.d`
52+
|Track the Oxide Rack Network (the "physical" network to the VPC) next
53+
hop resolution.
54+
55+
a|`opte-port-process.d`
56+
|Track packet processing results as they happen. Print the port,
57+
direction, epoch, before/after flow ID, the packet length, and the
58+
result of processing.
2859

2960
a|`opte-rule-match.d`
3061
|Track rule match/no-match as it happens. Printing the direction,
@@ -35,4 +66,12 @@ a|`opte-tcp-flow-state.d`
3566
|Track the TCP flow state changes as they happen. Printing the state
3667
transition as well as the flow ID.
3768

69+
a|`opte-uft-invalidate.d`
70+
|Track Unified Flow Table invalidation as it happens. A UFT entry is
71+
invalidated whenever the rule set has been updated causing the port's
72+
epoch to leap ahead of the UFT entry's epoch value.
73+
74+
a|`protos.d`
75+
|This doesn't track anything, it's just a nice way to share IP
76+
protocol definitions across all scripts.
3877
|===

0 commit comments

Comments
 (0)