Thanks Ales. I pushed this series to main.

On Thu, Jan 15, 2026 at 4:07 AM Ales Musil <[email protected]> wrote:
>
>
>
> On Wed, Jan 14, 2026 at 9:45 PM Mark Michelson via dev 
> <[email protected]> wrote:
>>
>> The lflow_table_add_lflow() function takes 13 arguments. Many helper
>> macros exist to facilitate filling in those 13 arguments without having
>> to spell them all out every time. Unfortunately, the amount of different
>> macros has gotten a bit out of hand. Some macros, like
>> ovn_lflow_add_with_hint__() have misleading names. Some macros, like
>> ovn_lflow_add_drop_with_lport_hint_and_desc() have horribly unwieldy
>> names. Trying to add a new macro to the list is a minefield since you
>> need to cherry-pick exactly which arguments the new macro should require
>> and which ones the macro should fill in automatically.
>>
>> This series seeks to simplify things by getting rid of all helper macros
>> except for:
>> * ovn_lflow_add()
>> * ovn_lflow_add_with_dp_group()
>> * ovn_lflow_add_default_drop()
>>
>> We accomplish this by using variadic macros. A base set of required
>> arguments is used with each macro. Helper macros can then be used to
>> add additional arguments beyond the base. This allows for flexible
>> use of additional arguments without the need to define a bunch of
>> different macros for every possible case.
>>
>> Differences between v3 and v4 of this series:
>> * The lflow refactor has been committed to main, so this is rebased on
>>   top of those changes. This mainly affects patch 1.
>> * Patch 6 of this series is quite different now. Instead of adding a
>>   WITH_DP_GROUP() helper macro, we now retain the
>>   ovn_lflow_add_with_dp_group() macro, but redefine it. This is because
>>   passing a NULL ovn_datapath to ovn_lflow_add() does not work properly.
>>   This is because ovn_lflow_add() dereferences the OD argument, and if
>>   that argument is NULL, then that results in a compiler error. I
>>   decided that the best way to handle this was to keep the
>>   ovn_lflow_add_with_dp_group() macro, since that ensures that passing
>>   a single ovn_datapath and passing a datapath bitmap are mutually
>>   exclusive operations. We still maintain a safety check in
>>   lflow_table_add_lflow() to ensure that we pass valid arguments to
>>   lflow_table_add_lflow__().
>>
>> Mark Michelson (9):
>>   lflow-mgr: Use struct argument for lflow addition.
>>   lflows: Create new ovn_lflow_add_default_drop().
>>   lflows: Remove ovn_lflow_add_with_hint().
>>   lflows: Remove ovn_lflow_add_with_lport_and_hint().
>>   lflows: Remove ovn_lflow_metered() and ovn_lflow_add_with_hint__().
>>   lflows: Redefine ovn_lflow_add_with_dp_group().
>>   lflows: Remove ovn_lflow_add_drop_with_desc().
>>   lflows: Remove ovn_lflow_add_drop_with_lport_hint_and_desc().
>>   lflows: Make non-struct version of lflow_table_add_lflow() private.
>>
>>  northd/lflow-mgr.c |   51 +-
>>  northd/lflow-mgr.h |  137 ++--
>>  northd/northd.c    | 1571 ++++++++++++++++++++------------------------
>>  3 files changed, 786 insertions(+), 973 deletions(-)
>>
>> --
>> 2.51.1
>>
>> _______________________________________________
>> dev mailing list
>> [email protected]
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>
>
> Looks good to me, thanks.
> Acked-by: Ales Musil <[email protected]>

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to