From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.toke.dk (mail.toke.dk [IPv6:2001:470:dc45:1000::1]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 476A63CB39 for ; Wed, 16 May 2018 17:16:39 -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=1526505398; bh=cjtnn8BANLvutcQdcfLxFsShTmCw7mLPHwVTww7zjSc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=pE+JAxzAUYxHHBL3kpMEJuM+3U1+KTl2L4XheCD50dRLgPqjuSEtbXr8FxIwmftLV JDu+jDi2NJ5gI+KcxrGnYiThQYnwoS+gAJPGr6XHu+qA0QfAMp1JOR2RU4B9sxzib5 Q2dw/d+e6ZFcphPxx1R1mfYZd3XRpao6ieQ5QHIEOybNf/8O2gHsu/zt2n1LoztEL0 X1fluaqeMdPYmglz61JmxO4CWgSxTNYXRUnqxu99Ea9UGGC86R9I/IPzMXKGhJR21D Mc4sAimG/BShaGXKLWwSkRz4Vg62fE0bQ0cRuQdi26wKPuzyRwyi6/Lnawju5IqHCH suyJ3f9K2tAdQ== To: Cong Wang Cc: Linux Kernel Network Developers , Cake List In-Reply-To: References: <152650253056.25701.10138252969621361651.stgit@alrua-kau> <152650254608.25701.5749607607862123240.stgit@alrua-kau> Date: Wed, 16 May 2018 23:16:32 +0200 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <87lgcjuwr3.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Cake] [PATCH net-next v12 2/7] sch_cake: Add ingress mode 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: Wed, 16 May 2018 21:16:39 -0000 Cong Wang writes: > On Wed, May 16, 2018 at 1:29 PM, Toke H=C3=B8iland-J=C3=B8rgensen wrote: >> + if (tb[TCA_CAKE_AUTORATE]) { >> + if (!!nla_get_u32(tb[TCA_CAKE_AUTORATE])) >> + q->rate_flags |=3D CAKE_FLAG_AUTORATE_INGRESS; >> + else >> + q->rate_flags &=3D ~CAKE_FLAG_AUTORATE_INGRESS; >> + } >> + >> + if (tb[TCA_CAKE_INGRESS]) { >> + if (!!nla_get_u32(tb[TCA_CAKE_INGRESS])) >> + q->rate_flags |=3D CAKE_FLAG_INGRESS; >> + else >> + q->rate_flags &=3D ~CAKE_FLAG_INGRESS; >> + } >> + >> if (tb[TCA_CAKE_MEMORY]) >> q->buffer_config_limit =3D nla_get_u32(tb[TCA_CAKE_MEMOR= Y]); >> >> @@ -1559,6 +1628,14 @@ static int cake_dump(struct Qdisc *sch, struct sk= _buff *skb) >> if (nla_put_u32(skb, TCA_CAKE_MEMORY, q->buffer_config_limit)) >> goto nla_put_failure; >> >> + if (nla_put_u32(skb, TCA_CAKE_AUTORATE, >> + !!(q->rate_flags & CAKE_FLAG_AUTORATE_INGRESS))) >> + goto nla_put_failure; >> + >> + if (nla_put_u32(skb, TCA_CAKE_INGRESS, >> + !!(q->rate_flags & CAKE_FLAG_INGRESS))) >> + goto nla_put_failure; >> + > > Why do you want to dump each bit of the rate_flags separately rather than > dumping the whole rate_flags as an integer? Well, these were added one at a time, each as a new option. Isn't that more or less congruent with how netlink attributes are supposed to be used? -Toke