[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1292397202.2377.13.camel@edumazet-laptop>
Date: Wed, 15 Dec 2010 08:13:22 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: Changli Gao <xiaosuo@...il.com>
Cc: Jamal Hadi Salim <hadi@...erus.ca>,
"David S. Miller" <davem@...emloft.net>,
Stephen Hemminger <shemminger@...ux-foundation.org>,
Tom Herbert <therbert@...gle.com>,
Jiri Pirko <jpirko@...hat.com>, netdev@...r.kernel.org,
netem@...ts.linux-foundation.org
Subject: Re: [PATCH 5/5 v2] net: add old_queue_mapping into skb->cb
Le mercredi 15 décembre 2010 à 13:23 +0800, Changli Gao a écrit :
> For the skbs returned from ifb, we should use the queue_mapping
> saved before ifb.
>
> We save old queue_mapping in old_queue_mapping just before calling
> dev_queue_xmit, and restore the old_queue_mapping to queue_mapping
> just before reinjecting the skb.
>
> dev_pick_tx() use the current queue_mapping for the skbs reinjected
> by ifb.
>
> A new struct dev_skb_cb is added, and valid in qdisc and gso layer.
> The original qdisc_skb_cb and DEV_GSO_CB are placed after dev_skb_cb.
>
> Signed-off-by: Changli Gao <xiaosuo@...il.com>
This is really ugly and error prone.
Could you just use a more normal way to express this ?
struct ifb_save_fields_cb {
u16 queue_mapping;
};
struct napi_gro_cb {
struct ifb_save_fields_cb ifb_cb; /* needed by ifb, must be first */
...
}
struct qdisc_skb_cb {
struct ifb_save_fields_cb ifb_cb; /* needed by ifb, must be first */
unsigned int pkt_len;
};
--
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