On Tue, Jul 21, 2026 at 9:04 AM Aditya Mehakare <[email protected]> wrote:
> Add "ovn-debug lflow-pipeline-oftable-start-list" to print the starting > OpenFlow table numbers of the ingress and egress logical pipelines. > > This lets external consumers that read OpenFlow table statistics safely > compute the actual OpenFlow table of a logical flow (pipeline base + > logical flow table number) during upgrades, avoiding reliance on > lflow-stage-to-ltable, which can be inaccurate when ovn-controller and > ovn-northd run different versions. > > Assisted-by: Cursor, with model: claude-4.8-opus-high > Signed-off-by: Aditya Mehakare <[email protected]> > Acked-by: Naveen Yerramneni <[email protected]> > --- > Hi Aditya, I'm slightly confused by this patch, you might still get wrong result during the upgrade if you don't use the right ovn-debug version. Also running "flow-stage-to-oftable ls_in_check_port_sec" or "flow-stage-to-oftable ls_out_lookup_fdb" will give you the number you are looking for. I don't think we need to add extra command for that. NEWS | 3 +++ > tests/ovn-util.at | 7 +++++++ > utilities/ovn-debug.8.xml | 5 +++++ > utilities/ovn-debug.c | 12 ++++++++++++ > 4 files changed, 27 insertions(+) > > diff --git a/NEWS b/NEWS > index 384e30820..bb6129189 100644 > --- a/NEWS > +++ b/NEWS > @@ -1,5 +1,8 @@ > Post v26.03.0 > ------------- > + - Added a new "ovn-debug lflow-pipeline-oftable-start-list" command > that > + prints the starting OpenFlow table number of the logical ingress and > + egress pipelines. > - Load balancer health checks now "fail closed" for newly added > backends: > ovn-northd initializes a newly created Service_Monitor row to the > "offline" state, so traffic is not forwarded to a backend until its > first > diff --git a/tests/ovn-util.at b/tests/ovn-util.at > index 76bb568e7..315539342 100644 > --- a/tests/ovn-util.at > +++ b/tests/ovn-util.at > @@ -106,3 +106,10 @@ cookie=$egress, priority=0,metadata=0x1 > actions=resubmit(,??) > OVN_CLEANUP([hv1]) > > AT_CLEANUP > + > +AT_SETUP([ovn-debug - lflow-pipeline-oftable-start-list]) > +AT_CHECK([ovn-debug lflow-pipeline-oftable-start-list], [0], [dnl > +ingress OFTABLE_LOG_INGRESS_PIPELINE > +egress OFTABLE_LOG_EGRESS_PIPELINE > +]) > +AT_CLEANUP > diff --git a/utilities/ovn-debug.8.xml b/utilities/ovn-debug.8.xml > index bdd208328..ffb9baf3d 100644 > --- a/utilities/ovn-debug.8.xml > +++ b/utilities/ovn-debug.8.xml > @@ -24,5 +24,10 @@ > Convert the logical flow stage name e.g. > <code>ls_in_lb</code> into > the OpenFlow table number e.g. <code>21</code>. > </dd> > + <dt><code>lflow-pipeline-oftable-start-list</code></dt> > + <dd> > + Print the starting OpenFlow table number of the > + <code>ingress</code> and <code>egress</code> pipelines. > + </dd> > </dl> > </manpage> > diff --git a/utilities/ovn-debug.c b/utilities/ovn-debug.c > index 0a0d2202b..a238cc2d6 100644 > --- a/utilities/ovn-debug.c > +++ b/utilities/ovn-debug.c > @@ -76,6 +76,14 @@ lflow_stage_to_table(struct ovs_cmdl_context *ctx) > exit(EXIT_SUCCESS); > } > > +static void > +lflow_pipeline_oftable_start_list(struct ovs_cmdl_context *ctx OVS_UNUSED) > +{ > + printf("ingress %"PRIu8"\n", (uint8_t) OFTABLE_LOG_INGRESS_PIPELINE); > + printf("egress %"PRIu8"\n", (uint8_t) OFTABLE_LOG_EGRESS_PIPELINE); > + exit(EXIT_SUCCESS); > +} > + > static void > uuid_to_cookie_str(struct ovs_cmdl_context *ctx) > { > @@ -102,6 +110,8 @@ lflow-stage-to-ltable STAGE_NAME\n\ > Converts STAGE_NAME into logical flow table number.\n\ > lflow-stage-to-oftable STAGE_NAME\n\ > Converts STAGE_NAME into OpenFlow table number.\n\ > +lflow-pipeline-oftable-start-list\n\ > + Prints the starting OpenFlow table number of the logical pipelines.\n\ > uuid-to-cookie UUID\n\ > Converts UUID into cookie format.\n\ > \n\ > @@ -161,6 +171,8 @@ main(int argc, char *argv[]) > OVS_RO}, > {"lflow-stage-to-ltable", NULL, 1, 1, lflow_stage_to_table, > OVS_RO}, > + {"lflow-pipeline-oftable-start-list", NULL, 0, 0, > + lflow_pipeline_oftable_start_list, OVS_RO}, > {"uuid-to-cookie", NULL, 1, 1, uuid_to_cookie_str, > OVS_RO}, > { "help", NULL, 0, INT_MAX, help, OVS_RO }, > -- > 2.43.5 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > Thanks, Ales _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
