On Sat, 27 Mar 2010 11:50:23 +0100 Joakim Tjernlund <joakim.tjernlund@xxxxxxxxxxxx> wrote: > "richardvoigt@xxxxxxxxx" <richardvoigt@xxxxxxxxx> wrote on 2010/03/26 22:42:52: > > > > On Fri, Mar 26, 2010 at 3:48 PM, Joakim Tjernlund > > <joakim.tjernlund@xxxxxxxxxxxx> wrote: > > > > > > > > > Nicolas de Pesloüan <nicolas.2p.debian@xxxxxxx> wrote on 2010/03/26 21:39:33: > > > > > >> From: Nicolas de Pesloüan <nicolas.2p.debian@xxxxxxx> > > >> To: Joakim Tjernlund <joakim.tjernlund@xxxxxxxxxxxx> > > >> Cc: bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx > > >> Date: 2010/03/26 21:39 > > >> Subject: Re: IP address on physcial interface instead of bridge interface? > > >> > > >> Joakim Tjernlund wrote: > > >> > > >> > Figure a small picture will help so here it is: > > >> > > > >> > Before adding eth0 to br0: > > >> > eth0 br0 > > >> > | > > >> > | > > >> > HW controller > > >> > > > >> > after adding eth0 to br0: > > >> > eth0 > > >> > \ > > >> > \ > > >> > br0 > > >> > / > > >> > / > > >> > HW controller > > >> > > >> I don't understand your ascii art. What is HW controller ? eth0 is an hardware > > >> controller !? > > >> > > >> Nicolas. > > > > > > eth0 is the I/F IP stack will see/use. HW controller is the ethernet HW controller, > > > the PCI HW if you like. > > > > No! > > > > br0 does NOT sit between eth0 and the NIC. eth0 still represents the > > NIC. br0 sits on top, and represents the combined traffic stream from > > eth0 and all other bridge ports. By adding eth0 to the bridge, you > > told it to forward all incoming frames to br0 which is the next higher > > layer in the virtual interface hierarchy. > > Of course the above isn't how the bridge works today. I was trying > to described a new feature which would let me use eth0 as my normal > IP interface even after it was added to the bridge. > The above would emulate connecting the eth0 I/F to an external HW bridge. If you read the network receive code path in the kernel, you will see that there is a special hook used. Basically, if received_interface_is_part_of_bridge(incoming_interface) then process_bridged_packet(packet) Then bridge looks at packet and decides whether it is local or forwarded. The problem is with your application if it wants to use eth0 directly. -- _______________________________________________ Bridge mailing list Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/bridge