From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.toke.dk (mail.toke.dk [52.28.52.200]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 46C7C3BA8E for ; Tue, 21 Aug 2018 07:25:14 -0400 (EDT) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=toke.dk; s=20161023; t=1534850712; bh=X/ZGywtfsXOyNXvlefTnqb6yx3BPSMq/2Rv6LTVAyRE=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=qN1mLW2bYEOad5KFfQlyA8iZk8FUuh7FDxR7jvDq7HfsRgHmHhNwgFUDEGxwIeK4p O7sUSGlYXFjRtEmZP88NB/gFWuX71aJp97LZTOrBIccWKDaqM+CpoRY68BWlXGQBNG D7B94j2hfeTklWgkJMn76LeYionXSLdwrzgDEEjT8ds8DKKTunwPM2//dtsa0dG4V0 x1yX4SvD1MhhVFa5Vy4O3krDQslMS5vx3D3Px6G171YtyZ3Bh19LFOqUcp7mTN0DO6 Kf/3wrb76dTBR/zWdUOrQkaAiPBjYm2QqPYVqjuPa29MCSC2Bt1nlc1GSYHg8kizCz SDhrILa6Ndgzg== To: Jonathan Morton Cc: Pete Heist , Cake List In-Reply-To: <878t5aedj5.fsf@toke.dk> References: <87h8jze5hk.fsf@toke.dk> <85C60B2F-78D0-4AEE-871C-BB637785BF62@gmail.com> <4D28C453-5378-4A5B-9E05-874F36C4DB30@gmail.com> <878t5aedj5.fsf@toke.dk> Date: Tue, 21 Aug 2018 13:25:12 +0200 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <87d0uc9d2f.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Cake] issue with Cake and bpf filter X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Aug 2018 11:25:14 -0000 >> The next simplest fix is to ignore the flow ID override unless we're >> in "flows" mode. We can then make valid assumptions about what should >> go into the host tables. >> >> The *right* fix, if we want to maximise functionality, would be to >> pass the result struct by reference into cake_hash(), where it can >> override the *host* IDs (not the flow ID). Users can then choose >> between using the override as a flow ID (by setting "hosts" mode >> instead of "flows"), or retaining the default host-isolation semantics >> with a revised definition of "host". > > Ah, making it possible to override both host and flow mode is a great > idea! I guess we could use the major/minor distinction in the class to > steer this. I'll see if I can't integrate this. So, I implemented this; in the latest commit on github it is again possible to override the flow hashing by setting the class ID with a TC filter; and the host hash can be overridden by setting the major number of the class ID. In my testing the hangs from before are gone, but if anyone else wants to test, please do! I'll write up a description of the filter overrides in the man page, and submit the change upstream as well... -Toke