2

I have following setup:

example

I want to send files from 10.1.1.7 to 10.1.1.3 with the caveat that if link AB goes down, then file transfer should switch to link AC and CB.

However, problem is that the other interface IP is 10.1.1.17 and hence even if it receives packets for 10.1.1.3, it will ignore them.

One possible solution that I tried is I created a software bridge on receiving machine and added 10.1.1.3 & 10.1.1.17 under it. However, as soon as I do that, both interfaces stop responding to ARP queries even if all the links are up.

Any ideas about how to solve this?


UPDATE:

Here is how setup the bridge: (Linux ubuntu 9.04)

I first start ping from machine one to machine two (on ip 10.1.1.3 (eth10))


$$brctl addbr br0
$$brctl addif br0 eth8
$$brctl addif br0 eth10 (After this ping immediately stops)
$$ifconfig br0 0

But once I do this, eth10 (10.1.1.3) stops responding to ARP queries for IP address 10.1.1.3 even if it relieves them.

What gets appended to dmesg after executing above commands:

[132445.491404] device eth8 left promiscuous mode

[132445.491433] br0: port 2(eth8) entering disabled state

[132445.491520] device eth10 left promiscuous mode

[132445.491532] br0: port 1(eth10) entering disabled state

[132472.721188] device eth8 entered promiscuous mode

[132474.881542] device eth10 entered promiscuous mode

[132480.161572] br0: port 2(eth10) entering learning state

[132480.161585] br0: port 1(eth8) entering learning state
Methos
  • 185
  • 1
  • 10
  • If AB goes down, how does B get informed that A is reachable by C, and not by B directly? Your issue may be that even if packets from A to B are getting to B, the responses are not due to the routing on B. – David Mackintosh Nov 18 '09 at 17:12
  • Are A and C switches or routers? – womble Nov 18 '09 at 17:13
  • switches switches – TiFFolk Nov 18 '09 at 17:17
  • they are switches – Methos Nov 18 '09 at 17:17
  • @David When I ping from first machine to second for interface 10.1.1.3, I see the ping responses coming back. However, if I take down link AB, I see that ARP queries are received by second machine's 10.1.1.17 interface, but it does not send by ARP replies hence ping does not work. Any ideas on how to make it work? – Methos Nov 18 '09 at 17:20
  • Assuming those blue things in your diagram are meant to be switches then setting up a bridge should work. You may need to provide more details about how you tried to setup the bridge and what OS your using. – Zoredache Nov 18 '09 at 17:23
  • You might want to actually set an IP address for br0 there... – womble Nov 18 '09 at 18:13
  • How about checking that the link from B to A is UP and if not, switching dynamically the IP to the interface of the BC link? (I saw a setup like this like 15 years ago on one of my client's HA setup ) You might also want to check [this](http://linux-ip.net/html/ether-bonding.html) (though TiFFOlk seems to say that it won't work... they seem to say otherwise). – Mink Jun 01 '14 at 09:52

2 Answers2

1

When you make bridge, it is the same, if you install another switch instead of bridge.

And actually you are getting a ring =) That won't work: either you network will die, or STP will block one of the links.

TiFFolk
  • 1,077
  • 3
  • 15
  • 25
  • Ok I see. Then is there any solution to make the transfer work over different link? I am fine with changing interface IP addresses. – Methos Nov 18 '09 at 17:26
  • Perhaps what you want is some kind of link aggregation where both interfaces can answer for both addresses. – Zoredache Nov 18 '09 at 17:28
  • @ Zoredache: Link aggregation won't work neither(or either, correct grammar please if it is a mistake), because this two links are on different switches. @Methos: You can invent smth with Vlans and|or routing. – TiFFolk Nov 18 '09 at 17:33
  • @TiFFolk: Link aggregation != LACP. – womble Nov 18 '09 at 18:10
  • @womble: It is a way of implementing. – TiFFolk Nov 18 '09 at 18:44
0

The bridge is the right way to go (well, one of them; you could also use bonding on the machine with two NICs). If everything falls apart when you enable the bridge, then you possibly have a spanning tree problem. Remember, also, that when you bring up a bridge, there is a delay while the bridge learns about the network topology, and you'll have to wait until that's over before the bridge will pass any packets.

womble
  • 96,255
  • 29
  • 175
  • 230
  • bonding won't work-different switches. – TiFFolk Nov 18 '09 at 17:37
  • I am waiting for sufficient time. What I see is, after I add NICs to the bridge, they stop responding to arp queries even after they receive them. – Methos Nov 18 '09 at 17:45
  • Any tip about how to make bridging solution work is greatly appreciated. If its a STP problem, how do I verify that? IS there a way to disable it? – Methos Nov 18 '09 at 17:49
  • Paste output of dmesg into your question, please, I want to see what the bridge is doing when it comes up. – womble Nov 18 '09 at 18:11
  • @TifFolk: Tell that to all my bonded network connections running to different switches. You clearly have *no* idea what you're talking about. – womble Nov 18 '09 at 18:12
  • @wombli: You are right, I was talking about LACP – TiFFolk Nov 18 '09 at 18:46
  • @womble Updated my question with dmesg output. – Methos Nov 18 '09 at 20:52
  • I see no mention of the bridge entering the forwarding state, so you're *not* waiting long enough. – womble Nov 18 '09 at 20:59