Hi all,

I'm having some issues with OpenBGPD across a point-to-point openvpn link. Some quick background: we have a number of quagga based FreeBSD machines doing BGP sessions for our redundancy and due to some recent backstabbing by quagga, want to test out openbgpd. It worked well in a normal setup with full tables and advertising our networks, but we hit a snag when we attempted to do some routing over a couple vpn links. Over the tun link, OpenBGPD connects to the peer and advertises the networks properly, but when selecting the nexthop for the remote side prefixes, it installs the local IP in to the routing table. I've tested every version of OpenBGPD I could get my hands on (and I'm currently using the latest release) and have tested it on OpenBSD and FreeBSD (currently using FreeBSD in this example, but I can duplicate it on OpenBSD too)

For example, our tunnel interface looks like:
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
        inet 10.8.1.248 --> 10.8.1.2 netmask 0xffffffff
        Opened by PID 49178

10.8.1.2 has a number of routes I'm interested in. When I start up openbgpd, I'll get the normal route update messages:
neighbor 10.8.1.2 (AS64820) update 10.14.112.20/32  via 10.8.1.2
neighbor 10.8.1.2 (AS64820) update 10.14.113.5/32  via 10.8.1.2
neighbor 10.8.1.2 (AS64820) update 10.14.113.4/32  via 10.8.1.2
etc

and the BGP RIB has the same info:
*> 10.14.113.1/32 10.8.1.2 100 0 64820 65400 65402 i *> 10.14.113.2/32 10.8.1.2 100 0 64820 65400 65402 i *> 10.14.113.4/32 10.8.1.2 100 0 64820 65400 65402 i
etc

but when I look at the routes installed in the kernel:
10.14.113.1/32     10.8.1.248         UG1         0        0 fxp0.1
10.14.113.2/32     10.8.1.248         UG1         0        0 fxp0.1
10.14.113.4/32     10.8.1.248         UG1         0        0 fxp0.1

This is a very straightforward ebgp connection, bgpd.conf is below. This was translated from a quagga/zebra configuration which is identical and works properly. I've also tried adding a nexthop 10.8.1.2 but the nexthop still isn't set properly. I started looking through the openbgpd source but it quickly went over my head. Is this a bug or a behavior that I can't find any documentation on? Any ideas?

bgpd.conf:
gw0# cat /usr/local/etc/bgpd.conf
AS 65530
router-id 10.8.1.248
log updates
fib-update yes
network 10.12.0.0/16

neighbor 10.8.1.2 {
        remote-as 64820
        descr 'at-br1.sv'
}


-casey

Reply via email to