Hello Nicolas, first thanks for your answer :). I'm impressed with your ascii art:). Sorry for my late answer , im currently ill.
I've completed your ascii art to final scheme I intended to build from the first time +----------------HOST-----------------------------+ | | | 10.0.0.1 --tap0--+ | | | | | | | | +--br0 | | +-----VPC1------------------+ | | | | | | | | | +--eth0--|--tap1--+ | | | ip here br0--+ | | | | +--eth1--|--tap2--+ | | | | | | | +---------------------------+ | | | +--br1 | | +-----VPC2------------------+ | | | | | | | | | 10.0.0.2 +--eth0--|--tap3--+ | | | | | | +---------------------------+ | +-------------------------------------------------+ I am really not sure now, but I would say there is no loop in there :/. But e.g. VPC2 can ping tap0 although VPC1 bridge is not configured. Is the problem taht tap0 is used directly? Should I start another VPC there ? Thank you very much Radim On Wed, Dec 9, 2009 at 10:58 PM, Nicolas de Pesloüan <[email protected]> wrote: > > Radim Roska wrote: >> >> Hi, > > Hi Radim, > >> few weeks ago I asked question that was probably not interesting for you. >> >> Now ill put it differently. >> >> 2 computers - VPC and HOST >> VPC has 2 eth0 and eth1 interfaces (on host tap1 and tap2) >> HOST has 1 tap (tap0) >> >> HOST has br0 where tap0 and tap1 are bound >> VPC has br0 where eth0 and eth1 are bound >> >> tap1 has ip >> br0 on VPC has ip > > Here is what I understand from your last post: > > +----------------HOST-----------------------------+ > | | > | ???? --tap0--+ | > | | | > | | | > | +--br0 | > | +-----VPC-------------------+ | | > | | | | | > | | +--eth0--|--tap1--+ ip here | > | | ip here br0--+ | | > | | +--eth1--|--tap2 | > | | | | > | +---------------------------+ | > | | > +-------------------------------------------------+ > > Can you confirm ? Please extend and possibly fix this ascii art to include > you whole setup. > > If this is correct, then, the first possible problem comes from the fact that > you should not put an ip on a member of a bridge but on the bridge itself. > (br0 on HOST, not tap1 on HOST). > > Also, can you describe what you plan to do with tap2 on HOST and what process > is managing the user-space side of tap0 on HOST ? Is it another VM ? > >> ping from VPC -> tap1: >> >> __ratelimit: 32575 callbacks suppressed >> eth0: received packed with own address as source address >> eth0: received packed with own address as source address >> eth0: received packed with own address as source address >> ... >> >> infinity loop stopped by command to turn on stp on VPC. This blocks eth0 -> >> port connected to bridge on HOST. >> >> No more problem with loop and VPC can actually ping HOST. Probably using >> eth1 which is not connected anywhere. >> >> So I assume that once packet is somewhere on a tap interface in the HOST. >> Thus its not possible to do little complicated network because all taps >> create a loop no matter how user connects them in bridges...is that right? > > It is possible to do complicated network using VM and tap devices. Several > tap devices are not leaking between them. But, if your configuration end up > with two bridges face to face (one in the VM and one in the HOST) with two > links between them, then you must enable stp on both bridge, in order to > allow the bridges to detect and "fix" the loop. > > 'hope this help. > > Nicolas. > >> I've lost big amount of time trying to make this working...so please make >> sure i dont lost even more :)) >> >> Thanks >> Radim >> >> >> >> On Mon, Nov 23, 2009 at 11:12 PM, Radim Roska <[email protected] >> <mailto:[email protected]>> wrote: >> >> Hello, >> >> I have this very uncommon situation :). My diploma thesis will >> probably be playing with linux kernel in various networks. Currently >> I have little free time and limited computer resources -> only one >> laptop :). But I would like to do some profiling of kernel >> particularly of bridging part. For that i need network. >> >> So i have 2 virtual machines VPC1 and VPC2 (running debian) >> >> HOST - VPC1 - VPC2 >> >> VPC1 should act as bridge. >> HOST: tap0 interface >> VPC1: >> eth0 ~ tap1 on host >> eth1 ~ tap2 on host >> VPC2: >> eth0 ~ tap3 on host >> >> how to connect it? :) Well tap0 - tap1 is in br0 on host and tap2 + >> tap3 is on br1. >> >> VPC1 than has eth0 and eth1 in bridge also :). >> >> I know..it looks strange..but i thought its simplest :). >> >> But: >> >> 1) although VPC2 is connected through br1 that has connection only >> with tap2=eth1 on VPC1..I can ping anything even when VPC1 has all >> interfaces down >> >> 2) i dont see any loop in my "network" but anyway once i turn on >> br0 without stp on VPC1, i got quite a serious perf problem - >> little storm i guess:). >> starting stp solves storm but disables eth0 >> [ 3839.200640] br0: starting userspace STP failed, starting kernel STP >> [ 3839.201388] br0: topology change detected, sending tcn bpdu >> [ 3839.202117] br0: port 2(eth0) entering blocking state >> >> i does not matter if i have stp on HOST's br0/br1 >> >> If someone would have time to help me with that I'll be very happy >> :). Its possible Im trying approach that is doomed to fail because i >> dont know/understsand something. >> >> Cheers, >> Radim >> >> >> >> >> -- >> Radim Roška >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Bridge mailing list >> [email protected] >> https://lists.linux-foundation.org/mailman/listinfo/bridge > -- Radim Roška _______________________________________________ Bridge mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/bridge
