From: Alexandr Nedvedicky Subject: Re: fq_codel: align with RFC 8289 and RFC 8290 (2/2) To: Bjorn Ketelaars Cc: tech@openbsd.org, mikeb@openbsd.org Date: Wed, 12 Nov 2025 10:46:04 +0100 Hello, On Tue, Nov 11, 2025 at 10:07:26PM +0100, Bjorn Ketelaars wrote: > > > 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