public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Gabriel Goller <g.goller@proxmox.com>
To: Thomas Lamprecht <t.lamprecht@proxmox.com>
Cc: pve-devel@lists.proxmox.com
Subject: Re: [pve-devel] [PATCH frr] frr: fix bit flag collision in patch
Date: Thu, 13 Mar 2025 16:49:58 +0100	[thread overview]
Message-ID: <zjcd5mtjczr4fltdi6tal5lbr6jtnsf2b4f35e734ik2s42nxf@kgaphbcyxizo> (raw)
In-Reply-To: <285a3e7b-30e9-4162-9b2d-cbdb0d8d5810@proxmox.com>

On 13.03.2025 16:16, Thomas Lamprecht wrote:
>On 13/03/2025 13:49, Gabriel Goller wrote:
>> Resolve conflict between F_ISIS_UNIT_TEST and ISIS_OPT_DUMMY_AS_LOOPBACK
>> which were both using the same bit value (0x01). This collision caused
>> unit test mode to be unintentionally enabled when DUMMY_AS_LOOPBACK was set.
>>
>
>This is also wrong at upstream then though?
>
>https://github.com/FRRouting/frr/blob/master/isisd/isisd.h#L79-L81
>
>Is upstream notified of this? maybe send a PR to them if testing holds
>up.

Already done, forgot to mention this:
https://github.com/FRRouting/frr/pull/18377

>missing a fixes trailer, like:
>
>Fixes: ecf591e ("frr: add the dummy_as_loopback patch series, enable it by default")

Right!

>> Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
>> ---
>>
>> * I'm not sure about the debian version number, let me know if this is
>>   wrong.
>
>For starters please always do the bump in a separate patch, it's rather
>unrelated to the fix. I'm also fine with handling bumps myself, as should be
>all release team members. FWIW, I appreciate getting changes added there,
>and thought about even starting to requesting that, but they really need
>to target humans and should keep the "UNRELEASED" as value for the release,
>i.e. what the `dch -i` template uses by default.

Ok, will do.

>w.r.t. versioning I'd have bumped the pve1 part to pve2.

So '10.2.1-1+pve2'?
Makes sense as we deviate from the debian package here.

>> * I edited the patch introducing this bug, if it's better to add a new
>>   patch, I'll be happy to change it.
>
>This is fine, layered patches of patches are seldomly a good option.
>
>> * We are still testing the newest version so it's not yet ready for
>>   testing/no-subscription.
>
>So what can I expect here, should it still be packaged and uploaded to
>internal staging for more broad QA?

Yep, internal staging is good. Just didn't want you to think of this
patch as a "we're done with testing" message :)

>>
>>  debian/changelog                                    |  6 ++++++
>>  ...d-option-to-treat-dummy-interfaces-as-loop.patch | 13 ++++++++-----
>>  2 files changed, 14 insertions(+), 5 deletions(-)
>>
>> diff --git a/debian/changelog b/debian/changelog
>> index 6e68311132b1..7e2ffd7964a9 100644
>> --- a/debian/changelog
>> +++ b/debian/changelog
>> @@ -1,3 +1,9 @@
>> +frr (10.2.1-2+pve1) bookworm; urgency=medium
>> +
>> +  * fix fabricd dummy_as_loopback flag collision
>
>collision with what? these entries should be telling for end users (not devs).

True, a simpler "fix fabricd dummy_as_loopback flag" would be enough.

>> +
>> + -- Gabriel Goller <g.goller@proxmox.com>  Thu, 13 Mar 2025 13:33:46 +0100
>> +
>>  frr (10.2.1-1+pve1) bookworm; urgency=medium
>>
>>    * update upstream source to 10.2.1
>> diff --git a/debian/patches/pve/0005-fabricd-add-option-to-treat-dummy-interfaces-as-loop.patch b/debian/patches/pve/0005-fabricd-add-option-to-treat-dummy-interfaces-as-loop.patch
>> index 331beed378ec..184a093334c9 100644
>> --- a/debian/patches/pve/0005-fabricd-add-option-to-treat-dummy-interfaces-as-loop.patch
>> +++ b/debian/patches/pve/0005-fabricd-add-option-to-treat-dummy-interfaces-as-loop.patch
>> @@ -18,8 +18,8 @@ Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
>>   isisd/isis_circuit.c         |  9 +++++----
>>   isisd/isis_main.c            | 16 +++++++++++++---
>>   isisd/isisd.c                | 19 +++++++++++++++++++
>> - isisd/isisd.h                |  4 ++++
>> - 6 files changed, 57 insertions(+), 12 deletions(-)
>> + isisd/isisd.h                |  6 +++++-
>> + 6 files changed, 58 insertions(+), 13 deletions(-)
>>
>>  Index: b/doc/manpages/frr-fabricd.rst
>>  ===================================================================
>> @@ -181,15 +181,18 @@ Index: b/isisd/isisd.h
>>  ===================================================================
>>  --- a/isisd/isisd.h	2025-03-07 11:09:47.700424235 +0100
>>  +++ b/isisd/isisd.h	2025-03-07 11:09:47.698424233 +0100
>> -@@ -74,7 +74,9 @@
>> +@@ -74,9 +74,11 @@
>>   	struct list *isis;
>>   	/* ISIS thread master. */
>>   	struct event_loop *master;
>>  +	/* Various global options */
>>   	uint8_t options;
>> -+#define ISIS_OPT_DUMMY_AS_LOOPBACK (1 << 0)
>> ++#define F_ISIS_UNIT_TEST (1 << 0)
>> ++#define ISIS_OPT_DUMMY_AS_LOOPBACK (1 << 1)
>
>somewhat pre-existing, but yuck, who places defines in the middle of struct
>definitions?!¿

Stefan said the exact same thing :)
This is done quite commonly in frr e.g.:
https://git.proxmox.com/?p=mirror_frr.git;a=blob;f=bgpd/bgpd.h;h=9cb1d51088cfc456f344b17b8068f84d382e3751;hb=HEAD#l210.
But I don't think it's that bad anyway :).

>btw. such bit flag definition are one of the few cases where aligning the
>values makes sense and the header you're modifying here already uses that
>style:
>
>https://github.com/FRRouting/frr/blob/master/isisd/isisd.h#L374-L389
>

Agree.

>>   };
>> - #define F_ISIS_UNIT_TEST 0x01
>> +-#define F_ISIS_UNIT_TEST 0x01
>> +
>> + #define ISIS_DEFAULT_MAX_AREA_ADDRESSES 3
>>
>>  @@ -269,6 +271,8 @@
>>   void isis_terminate(void);

Thanks for looking at this!


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

  reply	other threads:[~2025-03-13 15:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-13 12:49 Gabriel Goller
2025-03-13 15:16 ` Thomas Lamprecht
2025-03-13 15:49   ` Gabriel Goller [this message]
2025-03-14  9:33     ` Thomas Lamprecht
2025-03-14  9:48       ` Gabriel Goller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=zjcd5mtjczr4fltdi6tal5lbr6jtnsf2b4f35e734ik2s42nxf@kgaphbcyxizo \
    --to=g.goller@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=t.lamprecht@proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal