lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <568E97E6.1000701@iogearbox.net>
Date:	Thu, 07 Jan 2016 17:52:54 +0100
From:	Daniel Borkmann <daniel@...earbox.net>
To:	Eric Dumazet <eric.dumazet@...il.com>
CC:	davem@...emloft.net, alexei.starovoitov@...il.com,
	jhs@...atatu.com, john.fastabend@...il.com, netdev@...r.kernel.org
Subject: Re: [PATCH net-next] net, sched: add clsact qdisc

On 01/07/2016 05:29 PM, Eric Dumazet wrote:
> On Wed, 2016-01-06 at 02:00 +0100, Daniel Borkmann wrote:
>> This work adds a generalization of the ingress qdisc as a qdisc holding
>> only classifiers. The clsact qdisc works on ingress, but also on egress.
>> In both cases, it's execution happens without taking the qdisc lock, and
>> the main difference for the egress part compared to prior version of [1]
>> is that this can be applied with _any_ underlying real egress qdisc (also
>> classless ones).
>
>> +void net_dec_egress_queue(void)
>> +{
>> +	static_key_slow_dec(&egress_needed);
>> +}
>> +EXPORT_SYMBOL_GPL(net_dec_egress_queue);
>> +#endif
>> +
>>   static struct static_key netstamp_needed __read_mostly;
>>   #ifdef HAVE_JUMP_LABEL
>>   /* We are not allowed to call static_key_slow_dec() from irq context
>> @@ -3100,6 +3116,48 @@ int dev_loopback_xmit(struct net *net, struct sock *sk, struct sk_buff *skb)
>>   }
>>   EXPORT_SYMBOL(dev_loopback_xmit);
>>
>> +#ifdef CONFIG_NET_EGRESS
>> +static struct sk_buff *
>> +sch_handle_egress(struct sk_buff *skb, int *ret, struct net_device *dev)
>> +{
>> +	struct tcf_proto *cl = rcu_dereference_bh(dev->egress_cl_list);
>> +	struct tcf_result cl_res;
>> +
>> +	if (!cl)
>> +		return skb;
>> +
>> +	qdisc_skb_cb(skb)->pkt_len = skb->len;
>
> You probably should move qdisc_pkt_len_init() out of __dev_xmit_skb()
> and call it earlier. Then this pkt_len partial init is no longer needed.

Agreed, will change it for v2.

Thanks,
Daniel
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ