Subject: Re: [PATCH PKT_SCHED 4/4]: fix CONFIG_NET_CLS_ACT skb leaks in HFSC/CBQ

From: Patrick McHardy <[email-masked]>
Date: Wed, 19 Jan 2005 14:33:46 +0100

jamal wrote:

>I dont have time, but please double check that the following still
>applies:
>
>1) A qdisc receiving a STOLEN/QUEUED/SHOT signal from the classification
>result MUST free the packet and immediately stop processing that packet.
>The infrastructure code will clone packets if they want to steal or
>queue it.
>
It does now. Before there were things like "unsigned int len = skb->len"
after the call to tc_classify.

>2) Return code of qdisc from enqueue function need to be dealt with
>care. For example if the packet is localy generated and it is a TCP
>packet you could confuse the stack by telling it the packet was dropped
>because it will retransmit (and some things will happen with the window
>adjustments).
>
TC_ACT_SHOT => NET_XMIT_DROP
TC_ACT_STOLEN | TC_ACT_QUEUED => NET_XMIT_SUCCESS

>3) packets that are dropped because of a full Q should continue to
>return a XMIT_DROP (you want TCP for example to know about this)
>
They do.