bgppath.filter question - modifying AS_PATH
Hello, We use BIRD as Route Server. According your documentation we would like to know how given AS_PATH can be modified for example: To delete ALL ASNs from given AS_PATH except one AS predefined in int set. Here is my example config: function filter_bgp_as_path() int set remove_as; { remove_as = [ 50 ]; bgp_path.filter(remove_as); return true; } table T65533 protocol pipe P65533 from PIPES { description "TEST"; peer table T65533; export all; } protocol bgp R65533x1 from PEERS { source address 10.0.0.200; description "TEST"; neighbor 10.79.2.2 as 65533; multihop; import none; export where filter_bgp_as_path(); table T65533; passive off; } After running "birdc configure" I see in bird.log to return the following error: 17-12-2013 14:44:47 <ERR> filters, line 8: Can't add/delete to non-(e)clist 17-12-2013 14:44:47 <ERR> filters, line 8: Can't add/delete to non-(e)clist 17-12-2013 14:44:47 <ERR> filters, line 8: Can't add/delete to non-(e)clist Could you please point me in the right direction ? Is it possible at all to modify AS_PATH attribute? Thanks in advance! Best~ -- --- Find out about our new Cloud service - Cloudware.bg <http://cloudware.bg/?utm_source=email&utm_medium=signature&utm_content=link&utm_campaign=newwebsite> Access anywhere. Manage it yourself. Pay as you go. ------------------------------------------------------------------------ *Javor Kliachev* IP Engineer Neterra Ltd. Telephone: +359 2 975 16 16 Fax: +359 2 975 34 36 www.neterra.net <http://www.neterra.net>
В письме от 17 декабря 2013 14:52:09 пользователь Javor Kliachev написал:
Hello,
We use BIRD as Route Server.
Which BIRD version is used on your RS? bgp_path.filter support added with commit commit bff9ce5130d16af2fd802d42bdb2bff00980c9ae Author: Ondrej Zajicek <> Date: Thu Aug 15 01:06:47 2013 +0200 Extends delete/filter operators to work no bgp_paths. which now is part of 1.4.0 release.
According your documentation we would like to know how given AS_PATH can be modified for example:
To delete ALL ASNs from given AS_PATH except one AS predefined in int set.
Here is my example config:
...
After running "birdc configure" I see in bird.log to return the following error:
17-12-2013 14:44:47 <ERR> filters, line 8: Can't add/delete to non-(e)clist 17-12-2013 14:44:47 <ERR> filters, line 8: Can't add/delete to non-(e)clist 17-12-2013 14:44:47 <ERR> filters, line 8: Can't add/delete to non-(e)clist
Is bgp_path attribute defined when you call function filter_bgp_as_path()? I can reproduce this on BIRD 1.4.0 filter messages only with routes with undefined bgp_path (e.g. defined(bgp_path) returns false).
Could you please point me in the right direction ? Is it possible at all to modify AS_PATH attribute?
Thanks in advance!
Best~
-- SP5474-RIPE Sergey Popovich
В письме от 17 декабря 2013 14:52:09 пользователь Javor Kliachev написал:
Hello,
We use BIRD as Route Server.
According your documentation we would like to know how given AS_PATH can be modified for example:
To delete ALL ASNs from given AS_PATH except one AS predefined in int set.
On earlier bird versions this could be accomplished with bgp_path.empty; /* Seems still not documented yet */ /* Or "bgp_path = +empty+" which is not officialy supported */ bgp_path.prepend(50);
Thanks in advance!
Best~
-- SP5474-RIPE Sergey Popovich
Hello, Thank you very much for the fast and prompt response. We still use 1.3.9 bgp_path.empty is the exact solution for us. Best~ On 12/17/2013 03:27 PM, Sergey Popovich wrote:
В письме от 17 декабря 2013 14:52:09 пользователь Javor Kliachev написал:
Hello,
We use BIRD as Route Server.
According your documentation we would like to know how given AS_PATH can be modified for example:
To delete ALL ASNs from given AS_PATH except one AS predefined in int set. On earlier bird versions this could be accomplished with
bgp_path.empty; /* Seems still not documented yet */ /* Or "bgp_path = +empty+" which is not officialy supported */ bgp_path.prepend(50);
Thanks in advance!
Best~
-- --- Find out about our new Cloud service - Cloudware.bg <http://cloudware.bg/?utm_source=email&utm_medium=signature&utm_content=link&utm_campaign=newwebsite> Access anywhere. Manage it yourself. Pay as you go. ------------------------------------------------------------------------ *Javor Kliachev* IP Engineer Neterra Ltd. Telephone: +359 2 975 16 16 Fax: +359 2 975 34 36 www.neterra.net <http://www.neterra.net>
Just a side-note - such kind of modification of AS_PATH attribute violates with RFC 4271. On 17.12.2013 15:53, Javor Kliachev wrote:
Hello,
Thank you very much for the fast and prompt response.
We still use 1.3.9
bgp_path.empty is the exact solution for us.
Best~
On 12/17/2013 03:27 PM, Sergey Popovich wrote:
В письме от 17 декабря 2013 14:52:09 пользователь Javor Kliachev написал:
Hello,
We use BIRD as Route Server.
According your documentation we would like to know how given AS_PATH can be modified for example:
To delete ALL ASNs from given AS_PATH except one AS predefined in int set. On earlier bird versions this could be accomplished with
bgp_path.empty; /* Seems still not documented yet */ /* Or "bgp_path = +empty+" which is not officialy supported */ bgp_path.prepend(50);
Thanks in advance!
Best~
-- --- Find out about our new Cloud service - Cloudware.bg <http://cloudware.bg/?utm_source=email&utm_medium=signature&utm_content=link&utm_campaign=newwebsite> Access anywhere. Manage it yourself. Pay as you go. ------------------------------------------------------------------------ *Javor Kliachev* IP Engineer
Neterra Ltd. Telephone: +359 2 975 16 16 Fax: +359 2 975 34 36 www.neterra.net <http://www.neterra.net>
participants (3)
-
Daniel Suchy -
Javor Kliachev -
Sergey Popovich