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;