bird vs cisco/quagga

Anton Danilov littlesmilingcloud at gmail.com
Mon Feb 27 19:31:21 CET 2017


Hi, Boris.
Why do you use both protocol (OSPF and BGP) between the core router and the
border router?
I think you have at least two ways to solve your issue.
First way is pretty simple - don't use OSPF between the core router and the
border. It will make your setup is pretty simple: the core router advertise
only aggregated prefix (from static protocol) to the border, then this
prefix is being advertised with eBGP into upstream domain; the border
advertise all prefixes from upstream to the core router; the core router
advertise default router through itself into the OSPF domain. Obviously,
you don't need redistribute the iBGP into OSPF and vice versa.
Second way: you can separate the routes from OSPF and iBGP with different
routing tables (RIB) inside bird, and advertise the aggregated route into
upstream domain with eBGP. Also, you can use the route leaking with the
pipe protocol between RIBs.

2017-02-27 15:07 GMT+03:00 Борис Коваленко <b.ju.kovalenko at gmail.com>:

> Ok, Martin. Let speak in general. The topology is very simple:
> There is set of "area" routers speaking with "core" router by ospf. Core
> router has "supernet" routed to null (ip route X.X.X.X/20 null0) to avoid
> forwading loops to unallocated IPs. And it also injects this route into
> ospf and bgp with "redistribute static". When route is injected into bgp it
> gets some communities for further processing. Core router is speaking to
> border router by ospf and bgp. So on border router we get two routes
> X.X.X.X/20 ospf E2 type, and X.X.X.X/20 ibgp. OSPF wins, and route can not
> be announced to ebgp peers. What do You suggest? Change preference for OSPF
> - so we break igp?
>
> This is my knowlegde from cisco/quagga world. And it does not work with
> bird. Where is my mistake?
>
> Regards,
> Boris
>
>
> пн, 27 февр. 2017 г. в 16:50, Martin Mares <mj at ucw.cz>:
>
>> Hello!
>>
>> > I'm newbie to bird. Used cisco/quagga before. But filter language of
>> bird
>> > is very nice, so I want to try it. But I have one big misunderstanding.
>> > With other vendors each protocol has it own routing table. So OSPF may
>> work
>> > only with ospf prefixes, BGP with bgp and so on. If we need protocol to
>> get
>> > access to other routing tables there are redistribute XXX commands.
>> >
>> > Unfortunatelly in bird there is one "super" table by default. So i get
>> > sutiation where I have to prefixes on router, one from static protocol,
>> and
>> > one from ibgp. Prefix from ibgp has some communities on it, and I use
>> this
>> > communities in filters to ebgp. But static prefix always win. By some
>> > reason I can't remove static prefix and use ibgp prefix and also can't
>> add
>> > communities to static prefix as they are changed by other router.
>>
>> Generally speaking, what you export to other routers should be a subset of
>> what you really use for forwarding packets. Otherwise you are inviting
>> routing
>> loops and other problems. (There are exceptions to this rule, for example
>> when
>> you are running a BGP route reflector, but I suspect it is not your case.)
>>
>> From this point of view, it does make much sense to me what you are trying
>> to accomplish. If you use the static route for forwarding, you should
>> export
>> it via eBGP. If the static route is merely a backup for cases when iBGP is
>> down, adjust its preference so that the iBGP route will be preferred.
>>
>>                                 Have a nice fortnight
>> --
>> Martin `MJ' Mares                          <mj at ucw.cz>
>> http://mj.ucw.cz/
>> Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
>> "It is easier to port a shell than a shell script." -- Larry Wall
>>
> --
>
> С уважением,
> Борис Коваленко
>



-- 
Anton.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20170227/6737756f/attachment.html>


More information about the Bird-users mailing list