Allowing multiple instances of kernel protocol to use same table

Sergey Popovich popovich_sergei at mail.ru
Mon Aug 18 19:40:14 CEST 2014


В письме от 18 августа 2014 17:52:30 пользователь Sergey Popovich написал:
> > Hi,
> > 
> > Is there any specific reason why each instance of kernel protocol must
> > use unique table?
> > 
> > What I want to achieve is to export different protocols (OSPF, BGP etc)
> > to different kernel tables,
> > but the only way I can do this currently is to use pipe, instead of
> > export filter only.
> > 
> > My concern is duplication of data - BGP table has over 500k routes, so
> > keeping this in master *and*
> > piping to another one for kernel export is a waste of resources (both
> > RAM and CPU).
> > 
> > Thank you!
> 
> Try attached patch.
> 
> It only removes checks for multiple kernel syncers attached to the single
> BIRD routing table, but does not touches checks for creating multiple
> kernel syncers attached to the single kernel routing table.
> 
> Patch is against upstream 1.4.4 version of BIRD, but I only had
> tested this for BIRD 1.3.11 on Linux 3.2.x.
> 
> Tested with up to 5 kernel syncers attached to the single BRT and
> protocols (BGP, static, direct, etc.) seems work correctly.
> 
> Also tested with 2 kernel syncers attached to the single BRT
> with import/export set to "all" (transparent pipe between two
> kernel routing tables).

V2: Do not flush kernel routes learned from the protocol itself.

Note that it is still possible to uninstall route imported from
one KRT and installed in another KRT.

This needs to be handled more carefully.

-- 
SP5474-RIPE
Sergey Popovich
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bird-1.4.4-support-for-multiple-syncers-attached-to-the-single-table-v2.patch
Type: text/x-patch
Size: 1664 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20140818/f6a8a27c/attachment-0001.bin>


More information about the Bird-users mailing list