Re: Multipath route

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff Haran wrote:

Hello,

Some time ago we were faced with a problem with multiple network
interfaces in the same subnetwork.
We would like to use several NIC's with IP addresses from the same
subnetwork with link redundancy functionality.


If link redundancy is what you are after, you might want to consider Ethernet bonding as an alternative. Instead of several network interfaces each with its own IP address, you get a single virtual interface that you assign addresses to and the physical interfaces become slaves to that virtual interface. The bonding code switches the active interface when the current active interface's link goes down.

See linux/Documentation/networking/bonding.txt in your kernel source tree.

Note there were at one time issues with using IPv6 over bonded interfaces. I don't know if they have been addressed in newer kernel versions, but for IPv4 it seems to work fine. Brocade has used it on some of its SAN products for a few years now.

Yes, we know about bonding and we also have been using it for few years.

But now we are looking for some solution which behaviour is very similar to bonding but differs in few cases.

Let me explain what we need:

We have got some host with three ethernet interfaces:

- eth0: 11.0.0.1
- eth1: 11.0.0.2
- eth2: 11.0.0.3

and each of those IP addresses should be utilized independently.

It means that if another host tries to communicate with 11.0.0.1 the response from our host should go out via eth0. If we receive connection to our 11.0.0.2 address - the response should be sent via eth1, etc.

This is the first difference to bonding.

If one of those physical links becomes down - our host shouldn't response for any requests to this IP - even through other working links.

For example if eth0 links goes down - our host shouldn't answer to any connections addressed to 11.0.0.1 even if they come to us through eth1 or eth2.

This is the second difference.

If the eth0 physical link is still not operating - all the new connections initiated from our host should go through next interface - and it is eth1. It also means that all of those connections will use 11.0.0.2 as source IP address instead of 11.0.0.1 - which is assigned to eth0.

That was the third difference.


To utilize bonding we would have to enslave all of ethernet interfaces (eth0-eth2) and assign three IP addresses: 11.0.0.1-11.0.0.2 to it. In case when the eth0 becomes down - the 11.0.0.1 address still would be accessible, but it should not be (we don't want it).


I hope that with the description above it will be more clear what solution we are looking for.


The patch I've sent previously works according to the rules I've described above, but as nobody is perfect - we are looking for other possible solutions for this issue.


WK

--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux