On Mon, Apr 17, 2006 at 04:47:52PM +0200, Thomas Bader wrote: > Hi all > > I need to multihome a network, connecting it to two upstream providers. > Besides that I also need some iBGP sessions inside that network to > connect one or two inner routers to the two border routers. The whole > project will begin in one or two months and I'm now evaluating possible > solutions. > > I have setup a small test scenario to test OpenBGPD. There I have two > routers in AS 65001 and one router in AS 65002. You can find the > configuration of one of the AS 65001 routers below. I wanted to use IPv4 > and IPv6. During my first tries I found out that IPv6-functionality is > not yet complete in the bgpd shipped with OpenBSD 3.8. Therefore I took > bgpd and bgpctl HEAD revisions from CVS and I got my setup working so > far and feel quite comfortable with OpenBGPD. I only have a few > questions left: > > In the HEAD revision, the "announce self" does not seem to work anymore > (I get a "syntax error" message). Apparently, the default behaviour > seems to be "announce all". This makes my two AS 65001 routers > announcing the routes which they receive over iBGP to AS 65002. I > quickly looked at the source and there seems to be no compensation to > "announce self". Is there a possibility to configure bgpd to only > announce the prefixes set through a "network" statement to a specific > peer without using filters? >
Fast fix use 'announce "self"' or the following diff. -- :wq Claudio Index: parse.y =================================================================== RCS file: /cvs/src/usr.sbin/bgpd/parse.y,v retrieving revision 1.185 diff -u -p -r1.185 parse.y --- parse.y 4 Apr 2006 12:03:26 -0000 1.185 +++ parse.y 17 Apr 2006 15:46:09 -0000 @@ -690,6 +690,12 @@ peeropts : REMOTEAS asnumber { fatal("king bula sees borked AFI"); } } + | ANNOUNCE CAPABILITIES yesno { + curpeer->conf.announce_capa = $3; + } + | ANNOUNCE SELF { + curpeer->conf.announce_type = ANNOUNCE_SELF; + } | ANNOUNCE STRING { if (!strcmp($2, "self")) curpeer->conf.announce_type = ANNOUNCE_SELF; @@ -846,9 +852,6 @@ peeropts : REMOTEAS asnumber { curpeer->conf.auth.auth_keylen_out = keylen; } free($7); - } - | ANNOUNCE CAPABILITIES yesno { - curpeer->conf.announce_capa = $3; } | SET filter_set_opt { struct filter_rule *r;