Re: [patch net-next-2.6] net: convert bonding to use rx_handler
From: Jiri Pirko <hidden>
Date: 2011-02-18 14:16:59
Fri, Feb 18, 2011 at 02:29:51PM CET, eric.dumazet@gmail.com wrote:
Le vendredi 18 février 2011 à 14:25 +0100, Jiri Pirko a écrit :quoted
This patch converts bonding to use rx_handler. Results in cleaner __netif_receive_skb() with much less exceptions needed. Also bond-specific work is moved into bond code. Signed-off-by: Jiri Pirko <redacted> --- drivers/net/bonding/bond_main.c | 75 ++++++++++++++++++++- include/linux/skbuff.h | 2 + net/core/dev.c | 144 +++++++++++--------------------------- net/core/skbuff.c | 1 + 4 files changed, 119 insertions(+), 103 deletions(-)quoted
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 31f02d0..9f3af5d 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h@@ -267,6 +267,7 @@ typedef unsigned char *sk_buff_data_t; * @sk: Socket we are owned by * @tstamp: Time we arrived * @dev: Device we arrived on/are leaving by + * @input_dev: Original device on which we arrived * @transport_header: Transport layer header * @network_header: Network layer header * @mac_header: Link layer header@@ -325,6 +326,7 @@ struct sk_buff { struct sock *sk; struct net_device *dev; + struct net_device *input_dev;Your patch looks fine, but adding 8 bytes to sk_buff for a "cleanup" is really a show stopper for me.
Do not know how to do it better. As for percpu variable, not only origdev would have to be remembered but also probably skb pointer to know if it's the first run on the skb or not. Can't really figure out a better solution. Can you? Thanks. Jirka