Index | Thread | Search

From:
Alexandr Nedvedicky <sashan@fastmail.net>
Subject:
Re: fq_codel: align with RFC 8289 and RFC 8290 (2/2)
To:
Bjorn Ketelaars <bket@openbsd.org>
Cc:
tech@openbsd.org, mikeb@openbsd.org
Date:
Wed, 12 Nov 2025 10:46:04 +0100

Download raw body.

Thread
Hello,
On Tue, Nov 11, 2025 at 10:07:26PM +0100, Bjorn Ketelaars wrote:
</snip>
> 
> 
> Thank you for your feedback, and for catching this! I think you are
> correct that pending_drops needs to be handled in fqcodel_purge().
> However, I think we should use ml_enlist(ml, &fqc->pending_drops) rather
> than ml_purge(&fqc->pending_drops).
> 
> My reasoning is that fqcodel_purge() follows the same pattern as
> codel_purge(), it takes an ml parameter specifically to collect packets
> that need to be freed, and the caller is responsible for actually
> freeing them. Using ml_enlist() maintains this approach and is
> consistent with how codel_purge() handles its queue.
> 
> The ml_purge() call is appropriate in fqcodel_pf_free() because that is
> the final cleanup where the structure is teared down entirely, not a
> purge operation that needs to return packets to a caller.
> 
> Updated diff below. Makes sense to have an extra pair of eyes check it.
> 

    Thank you for clarification. It makes sense to me. It was a good
    idea to split the change to two diffs. It made review lot easier.
    Both diffs look good. I have no further questions.

OK sashan