several stateful actions have been added but not documented in
ovn-trace. Correct that by writing documentation for ct_dnat_in_czone,
ct_snat_in_czone, ct_lb_mark_local, ct_commit_to_zon, ct_commit_nat,
ct_clear, select, and ct_snat_to_vip.
Fixes: 5f03d68294f7 ("actions: Add new actions - ct_dnat_in_czone and
ct_snat_in_czone.")
Fixes: d935db5c503f ("treewide: Remove the deprecated ct_lb action.")
Fixes: d9c97878eb23 ("actions: New action ct_commit_to_zone.")
Fixes: 31196346fcad ("actions: Add new action called ct_commit_nat")
Fixes: 2a50baa9fcc1 ("ovn-trace: Implement ct_next and ct_clear actions.")
Fixes: 85b3544aabb2 ("ovn-controller: A new action "select".")
Fixes: fc219d84b667 ("actions: Add new actions chk_lb_hairpin,
chk_lb_hairpin_reply and ct_snat_to_vip.")
Reported-at: https://redhat.atlassian.net/browse/FDP-4279
Assisted-by: Qwen3.8-27B-FP8, OpenCode
Signed-off-by: Jacob Tanenbaum <[email protected]>
---
utilities/ovn-trace.8.xml | 52 ++++++++++++++++++++++++++++++++++++---
1 file changed, 48 insertions(+), 4 deletions(-)
diff --git a/utilities/ovn-trace.8.xml b/utilities/ovn-trace.8.xml
index 97e595bae..a45098269 100644
--- a/utilities/ovn-trace.8.xml
+++ b/utilities/ovn-trace.8.xml
@@ -231,36 +231,46 @@
</dd>
<dt><code>ct_dnat</code> (without an argument)</dt>
+ <dt><code>ct_dnat_in_czone</code> (without an argument)</dt>
<dd>
Forks the pipeline. In one fork, advances to the next table as if
<code>next;</code> were executed. The packet is not changed, on the
assumption that no NAT state was available. In the other fork, the
- pipeline continues without change after the <code>ct_dnat</code> action.
+ pipeline continues without change after the <code>ct_dnat</code> (or
+ <code>ct_dnat_in_czone</code>) action.
</dd>
<dt><code>ct_snat</code> (without an argument)</dt>
+ <dt><code>ct_snat_in_czone</code> (without an argument)</dt>
<dd>
This action distinguishes between gateway routers and distributed
routers. A gateway router is defined as a logical datapath that contains
an <code>l3gateway</code> port; any other logical datapath is a
distributed router. On a gateway router, <code>ct_snat;</code> is
treated as a no-op. On a distributed router, it is treated the same way
- as <code>ct_dnat;</code>.
+ as <code>ct_dnat;</code>. <code>ct_snat_in_czone;</code> is handled the
+ same way as <code>ct_snat;</code>.
</dd>
<dt><code>ct_dnat(<var>ip</var>)</code></dt>
<dt><code>ct_snat(<var>ip</var>)</code></dt>
+ <dt><code>ct_dnat_in_czone(<var>ip</var>)</code></dt>
+ <dt><code>ct_snat_in_czone(<var>ip</var>)</code></dt>
<dd>
Forks the pipeline. In one fork, sets <code>ip4.dst</code> (or
<code>ip4.src</code>) to <var>ip</var> and <code>ct.dnat</code> (or
<code>ct.snat</code>) to 1 and advances to the next table as if
<code>next;</code> were executed. In the other fork, the pipeline
continues without change after the <code>ct_dnat</code> (or
- <code>ct_snat</code>) action.
+ <code>ct_snat</code>) action. The <code>ct_dnat_in_czone</code> and
+ <code>ct_snat_in_czone</code> actions are handled the same way as
+ <code>ct_dnat</code> and <code>ct_snat</code>.
</dd>
<dt><code>ct_lb_mark;</code></dt>
<dt><code>ct_lb_mark(<var>ip</var></code>[<code>:<var>port</var></code>]...<code>);</code></dt>
+ <dt><code>ct_lb_mark_local;</code></dt>
+
<dt><code>ct_lb_mark_local(<var>ip</var></code>[<code>:<var>port</var></code>]...<code>);</code></dt>
<dd>
Forks the pipeline. In one fork, sets <code>ip4.dst</code> (or
<code>ip6.dst</code>) to one of the load-balancer addresses and the
@@ -269,7 +279,8 @@
to the address specified on <code>--lb-dst</code>, if any; without
arguments, uses the address and port specified on <code>--lb-dst</code>.
In the other fork, the pipeline continues without change after the
- <code>ct_lb_mark</code> action.
+ <code>ct_lb_mark</code> action. <code>ct_lb_mark_local</code> is handled
+ the same way as <code>ct_lb_mark</code>.
</dd>
<dt><code>ct_commit</code></dt>
@@ -278,6 +289,39 @@
<dd>
These actions are treated as no-ops.
</dd>
+
+ <dt><code>ct_commit_to_zone</code></dt>
+ <dt><code>ct_commit_nat</code></dt>
+ <dd>
+ Forks the pipeline into the next table as if <code>next;</code> were
+ executed, treating the flow as tracked. The packet is not changed, on
+ the assumption that no NAT state was available. In the other fork, the
+ pipeline continues without change after the action.
+ </dd>
+
+ <dt><code>ct_clear</code></dt>
+ <dd>
+ Clears the connection tracking state of the traced packet, so that
+ later actions that depend on connection tracking (such as
+ <code>ct_next</code>) see an untracked flow.
+ </dd>
+
+ <dt><code>select</code></dt>
+ <dd>
+ Selects one of the destinations listed in the action. By default, one
+ is chosen at random; use the <code>--select-id</code> option to select
+ a specific one. <code>ovn-trace</code> forks the pipeline into the next
+ table, with the selected id written to the action's result field.
+ </dd>
+
+ <dt><code>ct_snat_to_vip</code></dt>
+ <dd>
+ Looks up the load-balancer virtual IP addresses in the southbound
+ database. If the packet's connection-tracked destination IP matches a
+ virtual IP address, <code>ovn-trace</code> notes that the source address
+ is translated to that virtual IP address; otherwise the packet is not
+ changed.
+ </dd>
</dl>
<h1>Daemon Mode</h1>
--
2.55.0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev