[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4892AA16.40706@trash.net>
Date: Fri, 01 Aug 2008 08:15:50 +0200
From: Patrick McHardy <kaber@...sh.net>
To: Jarek Poplawski <jarkao2@...il.com>
CC: David Miller <davem@...emloft.net>, jussi.kivilinna@...et.fi,
netdev@...r.kernel.org
Subject: Re: [PATCH] net_sched: Add qdisc __NET_XMIT_STOLEN flag
Jarek Poplawski wrote:
> Hi,
>
> Here is a complete, I hope, version of the patch to not linger this
> all to much, but of course any redoing is possible.
This looks good to me. Just one suggestion:
> +#ifdef CONFIG_NET_CLS_ACT
> +/* additional qdisc xmit flags */
> +enum net_xmit_qdisc_t {
> + __NET_XMIT_STOLEN = NET_XMIT_MASK + 1,
> +};
> +
> +#define net_xmit_drop_count(e) ((e) & __NET_XMIT_STOLEN ? 0 : 1)
> +
> +#else
> +#define net_xmit_drop_count(e) (1)
> +#endif
> +
> static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch)
> {
> #ifdef CONFIG_NET_SCHED
> @@ -343,7 +355,7 @@ static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch)
> static inline int qdisc_enqueue_root(struct sk_buff *skb, struct Qdisc *sch)
> {
> qdisc_skb_cb(skb)->pkt_len = skb->len;
> - return qdisc_enqueue(skb, sch);
> + return qdisc_enqueue(skb, sch) & NET_XMIT_MASK;
It would be nice to handle NET_XMIT_BYPASS similar, currently its
mapped to NET_XMIT_SUCCESS by dev_queue_xmit(). Simply adding it
to net_xmit_qdisc_t as
__NET_XMIT_BYPASS = NET_XMIT_MASK + 0x2
and removing the mapping from dev_queue_xmit() should work I think.
--
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