Hi, Ordinary as_path from 'show route all' output usually looks like: ------------------------- 78.153.135.0/24 via 193.232.244.186 on bce1 [R48467x1 2011-07-04 16:16:21] (100) [AS44116i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 48467 44116 44116 BGP.next_hop: 193.232.244.186 BGP.local_pref: 100 ------------------------- Here is unusual as_path example: ------------------------- 94.228.160.0/20 via 193.232.244.186 on bce1 [R48467x1 2011-07-05 01:28:04] * (100) [i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 48467 { 49245 50448 } BGP.next_hop: 193.232.244.186 BGP.local_pref: 100 BGP.aggregator: 178.236.240.1 AS48467 What purpose of '{' and '}' at BGP.as_path output? Why at 'show route' we see only '[i]'? (expected to see the first AS in as_path)
2011/7/5 Mikhail A. Grishin <magr@ripn.net>:
What purpose of '{' and '}' at BGP.as_path output?
It indicates an "AS Set" - some aggregation happened, the longer routes of which were in the two ASNs in the brackets.
Why at 'show route' we see only '[i]'? (expected to see the first AS in as_path)
IMO, it should show AS48467 as they were the aggregator. Matthew Walster
Matthew Walster wrote, 05.07.2011 16:07:
2011/7/5 Mikhail A. Grishin<magr@ripn.net>:
What purpose of '{' and '}' at BGP.as_path output?
It indicates an "AS Set" - some aggregation happened, the longer routes of which were in the two ASNs in the brackets.
Why at 'show route' we see only '[i]'? (expected to see the first AS in as_path)
IMO, it should show AS48467 as they were the aggregator.
Moreover, this prefix (94.228.160.0/20) was filtered and not accepted because of this BIRD structure: # Apply as_path filters on the last AS (originated route) allas = [ 15905, 34211, 41206, 44116, 44893, 47773, 48467, 50875, 51031, 51186, 51443, 52163 ]; if ! (bgp_path.last ~ allas) then reject; So bgp_path.last doesn't hit to 48467 in this case. Is this normal?
Matthew Walster
on 05.07.2011 14:21 Mikhail A. Grishin wrote:
Matthew Walster wrote, 05.07.2011 16:07:
2011/7/5 Mikhail A. Grishin<magr@ripn.net>:
What purpose of '{' and '}' at BGP.as_path output?
It indicates an "AS Set" - some aggregation happened, the longer routes of which were in the two ASNs in the brackets.
Why at 'show route' we see only '[i]'? (expected to see the first AS in as_path)
IMO, it should show AS48467 as they were the aggregator.
Moreover, this prefix (94.228.160.0/20) was filtered and not accepted because of this BIRD structure: # Apply as_path filters on the last AS (originated route) allas = [ 15905, 34211, 41206, 44116, 44893, 47773, 48467, 50875, 51031, 51186, 51443, 52163 ]; if ! (bgp_path.last ~ allas) then reject;
So bgp_path.last doesn't hit to 48467 in this case. Is this normal?
this is at least the current behaviour. It would be great if bgp_path.last would also be able to operate on an AS-SET. From the top of my head I have no idea how you could do it straight forward. You would have to break up the AS-SET and do the lookup for each AS in the set. Arnold -- Arnold Nipper / nIPper consulting, Sandhausen, Germany email: arnold@nipper.de phone: +49 6224 9259 299 mobile: +49 152 53717690 fax: +49 6224 9259 333
On Tue, Jul 05, 2011 at 04:21:51PM +0400, Mikhail A. Grishin wrote:
Moreover, this prefix (94.228.160.0/20) was filtered and not accepted because of this BIRD structure: # Apply as_path filters on the last AS (originated route) allas = [ 15905, 34211, 41206, 44116, 44893, 47773, 48467, 50875, 51031, 51186, 51443, 52163 ]; if ! (bgp_path.last ~ allas) then reject;
So bgp_path.last doesn't hit to 48467 in this case. Is this normal?
Yes, as bgp_path.last expression returns one integer, it cannot return both (or more) ASNs in the AS set. It returns 0 in that case. -- 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 Tue, Jul 05, 2011 at 01:07:39PM +0100, Matthew Walster wrote:
2011/7/5 Mikhail A. Grishin <magr@ripn.net>:
What purpose of '{' and '}' at BGP.as_path output?
It indicates an "AS Set" - some aggregation happened, the longer routes of which were in the two ASNs in the brackets.
Yes
Why at 'show route' we see only '[i]'? (expected to see the first AS in as_path)
IMO, it should show AS48467 as they were the aggregator.
If there is no definite originator (because of aggregation), nothing is shown. -- 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."
participants (4)
-
Arnold Nipper -
Matthew Walster -
Mikhail A. Grishin -
Ondrej Zajicek