How to configure src address for kernel routes installed by quagga?

  • 10 April 2017
  • 0 replies

I am trying to set up a clos fabric in combination with Ceph and stumbling over the following issue with quagga and installed kernel routes which quagga learned by BGP.

The interface config on hosts looks as follows:
auto eth0
iface eth0 address auto dummy0 iface dummy0 address
I need to use dummy0 as loopback interface, because Ceph does not recognize configured addresses on lo, but if I do so, quagga installs the routes learned via BGP like this: via dev enp3s0d1 src
enp3s0d1 is one the machine's BGP interfaces. As a consequence of this the machine uses its ip address from eth0 to open connections to host, which results in routing problems.

If I would use lo as loopback interface instead of dummy0:
auto lo  iface lo     address
I'd get the following route entry: via dev enp3s0d1 src  
which would be the intended one, but as mentioned above this results in problems with Ceph.

It seems that dummy interfaces are the least preferred options when installing routes. If I remove eth0 from config, the route gets installed as intended, too, but removing eth0 permanently from configuration is no option, because this is the management interface of the machine.

Is there any way to configure this behaviour? I hope I was able to describe the issue understandably. Any help would really be appreciated.



0 replies

Be the first to reply!