netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christophe Devriese <Christophe.Devriese@eurid.eu>
To: David Miller <davem@davemloft.net>, netdev@vger.kernel.org
Subject: Re: PATCH Fix bonding active-backup behavior for VLAN interfaces
Date: Mon, 31 Jul 2006 10:15:40 +0200	[thread overview]
Message-ID: <200607311015.40255.Christophe.Devriese@eurid.eu> (raw)
In-Reply-To: <20060730.205032.130618331.davem@davemloft.net>

On Monday 31 July 2006 05:50, you wrote:
> From: Ben Greear <greearb@candelatech.com>
> Date: Fri, 28 Jul 2006 14:55:17 -0700
>
> > The skb_bond method assigns skb->dev when it does the 'keep',
> > but the VLAN code immediately over-writes the skb->dev when
> > searching for the vlan device.
> >
> > What is the purpose of assinging skb->dev to the master device?
>
> This makes me consider this patch highly dubious, at best.
>
> The whole intention of bonding on input is to make all packets
> incoming on the individual bond slaves to look like they come in via
> the master device.
>
> Therefore, even when the bond slaves are VLAN devices, in the end the
> skb->dev should be the bond master device _not_ the VLAN device.
>
> I'm not applying this patch, it doesn't look correct at all.

That code is not introduced by this patch, but is already in the kernel. This 
patch is about having the same behavior for the vlan accelerated input path 
and the normal input path.

If you bond 2 vlan subinterfaces, the patch is not necessary at all. In that 
case also the source device will be changed from eth0.<vlan> to bond<x>. So 
that's correct behavior no ?

In the second case, you create vlan subifs on a bonding device, vlan 
subinterfaces will be created on the slave interfaces. In that case the vlan 
code will reassign the skb->dev node, and because skb_bond needs to know the 
actual input device in order to make an informed drop decision before passing 
this code (skb active-backup mode needs to drop packets from the backup slave 
interface, if you don't do that you get big problems with broadcasts). 

The same struct vlan_group is assigned to all slave devices and so the only 
vlan subinterfaces that exist in this case are the bond<x>.<vlan> 
subinterfaces, and the vlan path for both slaves will assign the 
bond<x>.<vlan> interface to skb->dev, thereby erasing the information about 
where the packet came from.

I have tested the patch, and it works correctly, in both cases on my test 
sytem (where I join vlan subifs on a bonding device into a bridge and have 
xen guests' vifX.Y interfaces connected to those bridges, which is a 
configuration we imho really want to support) (without this patch, as 
explained earlier in this thread, this config does not work)

Regards,

Christophe

  reply	other threads:[~2006-07-31  8:15 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-28  9:44 PATCH Fix bonding active-backup behavior for VLAN interfaces Christophe Devriese
2006-07-28 16:01 ` Ben Greear
2006-07-28 21:50   ` Christophe Devriese
2006-07-28 21:55     ` Ben Greear
2006-07-28 22:15       ` Christophe Devriese
     [not found]       ` <20060728221455.GA25610@walrus.eth1.org>
     [not found]         ` <44CA8AF1.3020408@candelatech.com>
2006-07-28 22:58           ` Christophe Devriese
2006-07-28 22:55             ` David Miller
2006-07-28 23:14               ` Ben Greear
2006-07-31  3:50       ` David Miller
2006-07-31  8:15         ` Christophe Devriese [this message]
2006-07-31 12:30           ` Linville's L2 rant... -- " John W. Linville
2006-07-31 16:48             ` Christophe Devriese
2006-08-01  1:39             ` Jamal Hadi Salim
2006-08-01 12:08               ` John W. Linville
2006-08-01 12:33                 ` Jamal Hadi Salim
2006-08-01 16:10                   ` Ben Greear
2006-08-01 16:52                     ` John W. Linville
2006-08-01 17:04                       ` Ben Greear
2006-08-01 19:47                         ` Krzysztof Halasa
2006-08-01 16:48                   ` John W. Linville
2006-08-01 16:17                 ` Ben Greear
2006-08-01 17:03                   ` John W. Linville
2006-08-01 17:21                     ` Ben Greear
2006-08-02  9:02                       ` Christophe Devriese
2006-08-02 17:37                         ` Stackable devices Stephen Hemminger
2006-08-02 17:50                           ` Ben Greear
2006-08-08 12:03                             ` Christophe Devriese
2006-08-08 16:36                               ` Ben Greear
2006-08-09 13:57                                 ` Christophe Devriese
2006-08-12 18:43                                   ` Ben Greear
2006-08-12 19:29                                   ` Ben Greear
2006-08-02 20:58           ` PATCH Fix bonding active-backup behavior for VLAN interfaces David Miller
2006-08-03  9:18             ` Krzysztof Oledzki
2006-08-10 18:18               ` Krzysztof Oledzki
2006-08-11  6:45                 ` David Miller
2006-08-11  8:50                   ` Christophe Devriese
2006-08-11  8:53                     ` David Miller
2006-08-14  8:16                   ` Christophe Devriese
2006-08-14  8:47                     ` David Miller
2006-08-14  8:47                     ` David Miller
2006-08-03 13:34             ` Christophe Devriese
2006-08-04  1:01             ` Jay Vosburgh
2006-08-15  0:09               ` David Miller
2006-08-15 22:18                 ` Jay Vosburgh
2006-08-15 22:27                   ` David Miller
2006-08-16 19:30                 ` Krzysztof Oledzki
2006-08-20 19:41                 ` Christophe Devriese

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200607311015.40255.Christophe.Devriese@eurid.eu \
    --to=christophe.devriese@eurid.eu \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).