Hi, I recently started trying to learn BIRD. I should also mention I have no previous experience with any other Routing daemon either. I want to configure a bgp monitor for both ipv4 and ipv6. I am running BIRD in a Ubuntu 13.10 VM. I managed to install both bird and bird6 but I have some problems with the configurations. In ipv4 : I created a very simple configuration which I attach. The conf is compiled but in birdc the bgp session is considered idle. I tried to do a tcpdump and found that the router sends a TCP SYN on the VM's bgp port but the VM responds with a RST and never tries to set a BGP session itself. In ipv6 : No matter the configuration (my configuration or the sample coming with bird6 or examples found on the web) the configuration is not compiled giving the following error : BIRD ipv6 doesn't run (bird: /usr/local/etc/bird6.conf, line 1: Router ID must be configured manually on IPv6 routers) Could anyone give me some pointers on what I am doing wrong ? Thank you for your help, Ilias Pallikarakis
Hi. You did not write: what version of BIRD do you use ? IPv4: a) Enable debug: protocol bgp { .... debug all; } Than check log. What is there ? b) BGP neighbors are in one IP subnet ? c) Try to set source address in bgp section: source address XXX.XXX.XXX.XXX; IPv6: You must set router id in bird6.conf. See bird6.conf.example: router id 198.51.100.1; Router id must be IPv4 address, not IPv6 address. --- With best regards, Dmitry S. Nikolaev Moscow, Russia phone: +7 (499) 678 8007 [ext. 6003] fax: +7 (499) 678 8007 [ext. 7777] www: http://www.mega-net.ru mail: dnikolaev@mega-net.ru On 21.05.2014 04:13, Ilias Pallikarakis wrote:
Hi, I recently started trying to learn BIRD. I should also mention I have no previous experience with any other Routing daemon either. I want to configure a bgp monitor for both ipv4 and ipv6. I am running BIRD in a Ubuntu 13.10 VM. I managed to install both bird and bird6 but I have some problems with the configurations. In ipv4 : I created a very simple configuration which I attach. The conf is compiled but in birdc the bgp session is considered idle. I tried to do a tcpdump and found that the router sends a TCP SYN on the VM's bgp port but the VM responds with a RST and never tries to set a BGP session itself.
In ipv6 : No matter the configuration (my configuration or the sample coming with bird6 or examples found on the web) the configuration is not compiled giving the following error : BIRD ipv6 doesn't run (bird: /usr/local/etc/bird6.conf, line 1: Router ID must be configured manually on IPv6 routers)
Could anyone give me some pointers on what I am doing wrong ?
Thank you for your help,
Ilias Pallikarakis
Hi, Sorry for the trouble. The version I am using is 1.4.3 Ilias On 5/21/14, 1:15 PM, Dmitry S. Nikolaev wrote:
Hi.
You did not write: what version of BIRD do you use ?
IPv4: a) Enable debug: protocol bgp { .... debug all; } Than check log. What is there ?
b) BGP neighbors are in one IP subnet ?
c) Try to set source address in bgp section: source address XXX.XXX.XXX.XXX;
IPv6: You must set router id in bird6.conf. See bird6.conf.example: router id 198.51.100.1;
Router id must be IPv4 address, not IPv6 address.
--- With best regards, Dmitry S. Nikolaev
Moscow, Russia phone: +7 (499) 678 8007 [ext. 6003] fax: +7 (499) 678 8007 [ext. 7777] www: http://www.mega-net.ru mail: dnikolaev@mega-net.ru
On 21.05.2014 04:13, Ilias Pallikarakis wrote:
Hi, I recently started trying to learn BIRD. I should also mention I have no previous experience with any other Routing daemon either. I want to configure a bgp monitor for both ipv4 and ipv6. I am running BIRD in a Ubuntu 13.10 VM. I managed to install both bird and bird6 but I have some problems with the configurations. In ipv4 : I created a very simple configuration which I attach. The conf is compiled but in birdc the bgp session is considered idle. I tried to do a tcpdump and found that the router sends a TCP SYN on the VM's bgp port but the VM responds with a RST and never tries to set a BGP session itself.
In ipv6 : No matter the configuration (my configuration or the sample coming with bird6 or examples found on the web) the configuration is not compiled giving the following error : BIRD ipv6 doesn't run (bird: /usr/local/etc/bird6.conf, line 1: Router ID must be configured manually on IPv6 routers)
Could anyone give me some pointers on what I am doing wrong ?
Thank you for your help,
Ilias Pallikarakis
Hi, I figured out that my problem was simply not configuring BIRD for multihop neighbour. I have, however, another question if someone would care to answer. From my search so far I came to the conclusion that in BIRD you cannot mrtdump to more than one file (per process) and that it is still not possible to periodically dump a table. Is that correct ? Thank you for your help, Ilias Pallikarakis On 5/21/2014 1:36 PM, Ilias Pallikarakis wrote:
Hi, Sorry for the trouble. The version I am using is 1.4.3
Ilias On 5/21/14, 1:15 PM, Dmitry S. Nikolaev wrote:
Hi.
You did not write: what version of BIRD do you use ?
IPv4: a) Enable debug: protocol bgp { .... debug all; } Than check log. What is there ?
b) BGP neighbors are in one IP subnet ?
c) Try to set source address in bgp section: source address XXX.XXX.XXX.XXX;
IPv6: You must set router id in bird6.conf. See bird6.conf.example: router id 198.51.100.1;
Router id must be IPv4 address, not IPv6 address.
--- With best regards, Dmitry S. Nikolaev
Moscow, Russia phone: +7 (499) 678 8007 [ext. 6003] fax: +7 (499) 678 8007 [ext. 7777] www: http://www.mega-net.ru mail: dnikolaev@mega-net.ru
On 21.05.2014 04:13, Ilias Pallikarakis wrote:
Hi, I recently started trying to learn BIRD. I should also mention I have no previous experience with any other Routing daemon either. I want to configure a bgp monitor for both ipv4 and ipv6. I am running BIRD in a Ubuntu 13.10 VM. I managed to install both bird and bird6 but I have some problems with the configurations. In ipv4 : I created a very simple configuration which I attach. The conf is compiled but in birdc the bgp session is considered idle. I tried to do a tcpdump and found that the router sends a TCP SYN on the VM's bgp port but the VM responds with a RST and never tries to set a BGP session itself.
In ipv6 : No matter the configuration (my configuration or the sample coming with bird6 or examples found on the web) the configuration is not compiled giving the following error : BIRD ipv6 doesn't run (bird: /usr/local/etc/bird6.conf, line 1: Router ID must be configured manually on IPv6 routers)
Could anyone give me some pointers on what I am doing wrong ?
Thank you for your help,
Ilias Pallikarakis
On Tue, May 27, 2014 at 08:42:04PM +0900, Ilias Pallikarakis wrote:
Hi, I figured out that my problem was simply not configuring BIRD for multihop neighbour. I have, however, another question if someone would care to answer. From my search so far I came to the conclusion that in BIRD you cannot mrtdump to more than one file (per process) and that it is still not possible to periodically dump a table. Is that correct ?
Hello That is true. MRTdump was on border of my interests but it could be easily extended. What features w.r.t. MRTdump would be considered useful? -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@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."
On Thu, May 29, 2014 at 11:21:01PM +0200, Ondrej Zajicek wrote:
On Tue, May 27, 2014 at 08:42:04PM +0900, Ilias Pallikarakis wrote:
Hi, I figured out that my problem was simply not configuring BIRD for multihop neighbour. I have, however, another question if someone would care to answer. From my search so far I came to the conclusion that in BIRD you cannot mrtdump to more than one file (per process) and that it is still not possible to periodically dump a table. Is that correct ?
That is true. MRTdump was on border of my interests but it could be easily extended. What features w.r.t. MRTdump would be considered useful?
Automatic file rollover would be a great feature! Have the BIRD process periodically (say every hour) close the MRT file, and open a new one with a new filename which has the date in it. Bonuspoints for making these intervals configurable :-) Kind regards, Job
On 5/30/14, 3:57 PM, Job Snijders wrote:
On Thu, May 29, 2014 at 11:21:01PM +0200, Ondrej Zajicek wrote:
On Tue, May 27, 2014 at 08:42:04PM +0900, Ilias Pallikarakis wrote:
Hi, I figured out that my problem was simply not configuring BIRD for multihop neighbour. I have, however, another question if someone would care to answer. From my search so far I came to the conclusion that in BIRD you cannot mrtdump to more than one file (per process) and that it is still not possible to periodically dump a table. Is that correct ? That is true. MRTdump was on border of my interests but it could be easily extended. What features w.r.t. MRTdump would be considered useful? Automatic file rollover would be a great feature!
Have the BIRD process periodically (say every hour) close the MRT file, and open a new one with a new filename which has the date in it. Bonuspoints for making these intervals configurable :-)
Kind regards,
Job
Not sure if this is considered a given but having the ability to store the tables in a different file than the BGP update/state changes (or any other protocol you might see fit to support dumps) would also be greatly appreciated. Best Regards, Ilias
Hi, Sorry for resurrecting an old thread like this, but I was wondering whether any progress has been made for automatic MRT dump file rotation? I believe there is a patch, and i thought it would be merged into 1.6.0 - but than little happened :( The use case is that I have a big route collector with 41,000,000 routes in RIB, which i'd like to dump into long term archives for research purposes, but without file rotation that will be hard to do. Kind regards, Job On Fri, May 30, 2014 at 08:57:39AM +0200, Job Snijders wrote:
On Thu, May 29, 2014 at 11:21:01PM +0200, Ondrej Zajicek wrote:
On Tue, May 27, 2014 at 08:42:04PM +0900, Ilias Pallikarakis wrote:
Hi, I figured out that my problem was simply not configuring BIRD for multihop neighbour. I have, however, another question if someone would care to answer. From my search so far I came to the conclusion that in BIRD you cannot mrtdump to more than one file (per process) and that it is still not possible to periodically dump a table. Is that correct ?
That is true. MRTdump was on border of my interests but it could be easily extended. What features w.r.t. MRTdump would be considered useful?
Automatic file rollover would be a great feature!
Have the BIRD process periodically (say every hour) close the MRT file, and open a new one with a new filename which has the date in it. Bonuspoints for making these intervals configurable :-)
Kind regards,
Job
Hi, Job! On 2016-08-22 21:21, Job Snijders wrote:
Hi,
Sorry for resurrecting an old thread like this, but I was wondering whether any progress has been made for automatic MRT dump file rotation?
I believe there is a patch, and i thought it would be merged into 1.6.0 - but than little happened :(
The use case is that I have a big route collector with 41,000,000 routes in RIB, which i'd like to dump into long term archives for research purposes, but without file rotation that will be hard to do.
BIRD (>=1.2.0) supports MRTdump BGP4MP type [1]. It makes continual log of BGP packets into one file. If you need to rotate this file the easiest way is to change name in configuration file and call reconfigure command. We implemented MRTdump TABLE_DUMP_V2 type too [2], but haven't merged into master branch yet, so this feature isn't in the BIRD v1.6.0. However you can clone our GIT branch 'mrtdump-core' [3] with the BIRD v1.6.0 and MRTdump TABLE_DUMP_V2 support or apply the patch from email attachment on BIRD v1.6.0 source code. conf/conf.c | 2 +- conf/conf.h | 35 ++++- doc/bird.sgml | 73 +++++++--- nest/Makefile | 2 +- nest/config.Y | 74 ++++++++++- nest/mrtdump.c | 275 ++++++++++++++++++++++++++++++++++++++ nest/mrtdump.h | 113 ++++++++++++++-- nest/route.h | 9 ++ nest/rt-table.c | 368 ++++++++++++++++++++++++++++++++++++++++++++++++++- proto/bgp/Makefile | 2 +- proto/bgp/bgp.c | 3 + proto/bgp/bgp.h | 2 + proto/bgp/mrt.c | 172 ++++++++++++++++++++++++ proto/bgp/mrt.h | 11 ++ proto/bgp/packets.c | 17 ++- sysdep/unix/config.Y | 14 +- sysdep/unix/io.c | 21 ++- sysdep/unix/log.c | 15 ++- sysdep/unix/timer.h | 6 + sysdep/unix/unix.h | 8 +- 20 files changed, 1152 insertions(+), 70 deletions(-) This MRTdump makes only instant dumps of routes to unique named files. An automatic deleting of too old files isn't implemented but I believe that you can reach the same result with cron. Example of usage in configuration: router id 1.1.1.1; table tableA; mrtdump routes { filename "%f-%s.mrt"; # dumps will be saved into files named like 'tableA-1437119435.mrt' table "t*"; # only routes from tables starts with character 't' period 10; # 10 seconds interval between dumps where source = RTS_BGP; # only routes from BGP protocols } ... See doc/bird.sgml for more details. Enjoy! Best regards, Pavel [1] https://tools.ietf.org/html/rfc6396#section-4.4 [2] https://tools.ietf.org/html/rfc6396#section-4.3 [3] https://gitlab.labs.nic.cz/labs/bird/tree/mrtdump-core
Kind regards,
Job
On Fri, May 30, 2014 at 08:57:39AM +0200, Job Snijders wrote:
On Thu, May 29, 2014 at 11:21:01PM +0200, Ondrej Zajicek wrote:
On Tue, May 27, 2014 at 08:42:04PM +0900, Ilias Pallikarakis wrote:
Hi, I figured out that my problem was simply not configuring BIRD for multihop neighbour. I have, however, another question if someone would care to answer. From my search so far I came to the conclusion that in BIRD you cannot mrtdump to more than one file (per process) and that it is still not possible to periodically dump a table. Is that correct ?
That is true. MRTdump was on border of my interests but it could be easily extended. What features w.r.t. MRTdump would be considered useful?
Automatic file rollover would be a great feature!
Have the BIRD process periodically (say every hour) close the MRT file, and open a new one with a new filename which has the date in it. Bonuspoints for making these intervals configurable :-)
Kind regards,
Job
participants (5)
-
Dmitry S. Nikolaev -
Ilias Pallikarakis -
Job Snijders -
Ondrej Zajicek -
Pavel Tvrdík