next-hop announcement/withdrawal process

Ondrej Zajicek santiago at crfreenet.org
Mon Aug 4 20:12:02 CEST 2014


On Mon, Aug 04, 2014 at 10:53:27AM +0300, Sergey Popovich wrote:
> 
> > Hi,
> 
> Hello.
> 
> > The problem I am facing is that when I adjust a filter in order to
> > withdraw the route, all routes are withdrawn and the remaining are
> > announced again. According to the doc if a reload on bird brings a new
> > configuration for a protocol, that protocol will be restarted. So, it is
> > expected behavior.
> > 
> 
> You have changed import filter of direct1 protocol, thus direct1 gets 
> reconfigured (on HUP or birdc configure). However this protocol does not
> perform "soft" reconfiguration on filter changes thus direct1 restarts
> unconditionally to apply your filter changes (IP removal/addition).
> 
> All routes flushed out from the table (causing BGP withdrawal) and
> fetched from the protocol (direct) again to the table (causing BGP update).

Yes, that is the reason, direct protocol is limited in this regard.
Simple workaround would be to put the filter as export filter to BGP
instead of import filter from direct (as in your example). If filtered
routes would be needed for more purposes, it is possible to attach direct
to separate table and put filters to a pipe connecting these two tables.

Just some minor comments:

> Also I suggest you to use global prefix set definition, as local variable
> (in filter/function) is created/assigned each time function is called.

That is not true - (prefix and other) sets are created during parsing of
the config file (that is the reason why they are read only and cannot be
dynamically parametrized). Although i would usually suggest to put these
prefix definitions as global variables anyways.


>>>   # This may  be is needed to properly resolve nexthops from upstream routes.
>>>   interface "<interface_to_your_routers>";

> You need this only if you import something from the your routers
> (for example default from both routers) to let BIRD correctly
> resolve nexthop.

This is not necessary since 1.4.0. In the original configuration there is
a 'direct' option in BGP template, which also by default chooses the
direct (instead of recursive) resolution of next hops (as done by default
in EBGP),

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20140804/11c4f2d1/attachment-0001.asc>


More information about the Bird-users mailing list