syncing device routes

Patrick Westphal patrick.westphal at inqbus.de
Tue Nov 29 16:07:31 CET 2011


Hello bird users,


I have two hosts running linux containers, beeing wired to the
corresponding host via veth interfaces. I don't use bridging and so want
to make the networking work with routing. For a single linux container
(e.g. on host A - 10.77.0.24) to be accessible from the opposite host
(host B - 10.77.0.25) I could set up routes like

  root at hosta:~# route add -host <container_ip> vethXYZ

where vethXYZ is the veth peer accessible from the host machine, and

  root at hostb:~# route add <container_ip> gw 10.77.0.24

To automate this I tried to make BIRD creating the second rule
automatically. Because I don't really need a big and sophisticated
protocol for this I tried RIP which (according to the user manual)
seemed rather simple. But, I could not make it work and as stated [1]
the RIP support in BIRD is broken.

Second I tried BGP and BGP in general works, but these device routes
obove weren't synced. The kernel protocol receives these routes as in

  >>> KRT: Received route 10.66.0.23/32 with unknown ifindex 4

(birdc debug output on host A; 10.66.0.23/32 is the container IP
address) but they are not propagated to the second host via BGP.

My bird.conf looks like this:

  protocol kernel {
          scan time 10;
          device routes;
          export all;
          learn;
  }
 
  protocol direct {
          interface "*";
  }
 
  protocol bgp BiGP1 {
          local as 65001;
          neighbor 10.77.0.25 as 65001;
          export all;
  }


Now I'm wondering how to make BIRD sync these routes or if I'm just
using the wrong protocol. What would be the preferred way to solve this?


[1]
http://www.mail-archive.com/bird-users@atrey.karlin.mff.cuni.cz/msg01213.html


Thanks in advance

-- 
Patrick Westphal

Inqbus GmbH & Co. KG
Karl-Heine-Straße 99
04229 Leipzig

0341 - 600 130 31
http://inqbus.de




More information about the Bird-users mailing list