10-25-2010
11:09 AM
- last edited on
03-25-2019
03:30 PM
by
ciscomoderator
Hi
i have a problem, bgp don`t advertise a prefix, i have configured an advertise-map, but when the advertise-map changes to "advertise" the prefix is not been advertised by BGP.
this is my network diagram, a short explanation, the configuration and the debug ip bgp updates output
it`s an mpls network, i want to make a backup path, when node B is down, at node A the advertise-map change to advertise and should be advertise the network 1.1.0.0/16, but isn`t doing
any help will be apreciated
thanks
Node A configuration
router bgp 65194
no synchronization
bgp log-neighbor-changes
network 1.1.0.0 mask 255.255.0.0
network 10.211.0.0 mask 255.255.0.0
neighbor 201.129.78.245 remote-as 8151
neighbor 201.129.78.245 send-community both
neighbor 201.129.78.245 allowas-in
neighbor 201.129.78.245 route-map local in
neighbor 201.129.78.245 route-map INT_ROUTES out
neighbor 201.129.78.245 advertise-map ADVERTISE non-exist-map NON-EXIST
neighbor 201.129.78.245 filter-list 10 out
no auto-summary
!
ip classless
ip route 1.1.0.0 255.255.0.0 10.211.8.10 230
!
ip bgp-community new-format
ip as-path access-list 10 permit ^$
access-list 10 permit any
access-list 40 permit 1.1.0.0 0.0.255.255
access-list 65 permit 192.168.254.227
route-map NON-EXIST permit 10
match ip address 65
!
route-map ADVERTISE permit 10
match ip address 40
!
route-map INT_ROUTES permit 10
match ip address 10
set community 28513:1281
!
route-map local permit 10
match ip address 40
continue
set weight 32770
!
route-map local permit 20
Debug ip bgp updates
NODE_A#
*Oct 25 12:35:17.728: BGP(0): 201.129.78.245 rcv UPDATE about 1.1.0.0/16 -- withdrawn
*Oct 25 12:35:17.732: BGP(0): no valid path for 1.1.0.0/16
*Oct 25 12:35:17.732: BGP(0): nettable_walker 1.1.0.0/16 no best path
*Oct 25 12:35:17.732: BGP(0): route 1.1.0.0/16 up
*Oct 25 12:35:17.732: BGP(0): nettable_walker 1.1.0.0/16 route sourced locally
*Oct 25 12:35:47.732: BGP(0): 201.129.78.245 1.1.0.0/16 matches advertise map ADVERTISE, state: Withdraw
*Oct 25 12:35:47.748: BPG(0): Condition NON-EXIST changes to Advertise
*Oct 25 12:35:47.748: BPG(0): Condition NON-EXIST changes to Advertise
*Oct 25 12:35:47.748: BGP(0): net 1.1.0.0/16 matches ADV MAP ADVERTISE: bump version to 111
*Oct 25 12:35:47.832: BGP(0): nettable_walker 1.1.0.0/16 route sourced locally
*Oct 25 12:36:17.836: BGP(0): 201.129.78.245 1.1.0.0/16 matches advertise map ADVERTISE, state: Advertise
*Oct 25 12:36:17.836: BGP(0): 201.129.78.245 send UPDATE (format) 1.1.0.0/16, next 201.129.78.246, metric 0, path
*Oct 25 12:36:17.856: BGP(0): 201.129.78.245 rcvd UPDATE w/ attr: nexthop 201.129.78.245, origin i, path 8151 8151
*Oct 25 12:36:17.856: BGP(0): 201.129.78.245 rcvd 1.1.0.0/16
*Oct 25 12:36:17.856: BGP(0): Revise route installing 1 of 1 routes for 1.1.0.0/16 -> 201.129.78.245(main) to main IP table
*Oct 25 12:36:17.860: BGP(0): 201.129.78.245 send unreachable 1.1.0.0/16
*Oct 25 12:36:17.860: BGP(0): 201.129.78.245 send UPDATE 1.1.0.0/16 -- unreachable
*Oct 25 12:36:17.860: BGP(0): route 1.1.0.0/16 down
*Oct 25 12:36:17.872: BGP(0): 201.129.78.245 rcv UPDATE about 1.1.0.0/16 -- withdrawn
*Oct 25 12:36:17.876: BGP(0): no valid path for 1.1.0.0/16
*Oct 25 12:36:17.876: BGP(0): nettable_walker 1.1.0.0/16 no best path
*Oct 25 12:36:17.876: BGP(0): route 1.1.0.0/16 up
*Oct 25 12:36:17.876: BGP(0): nettable_walker 1.1.0.0/16 route sourced locally
Solved! Go to Solution.
10-26-2010 01:17 AM
Hi ,
I find it interesting to know what caused your NodeA not to install local route (1.1/16) and while looking at debug it is the weight
which force bgp to allow that prefix.
I don't think provider is doing anything wrong..he is advt. whatever he is receiving..now in your case you stopped advt. of /16 pool
from NodeB and as per you it should be advertised from NodeA...but are you sure you are not advt. same pool from
NodeC or any other node apart from NodeB.
Seems interesting....your local route-map is ok..he is doing what you told him to do..if you want your NodeA to advt. /16 when NodeB goes down you need to attach some tag (community) while advt. to provider and then match it at NodeA..(means in your local route-map you need to add one more statement of match community (advt. from NodeB) before set weight )
I hope this is helpful.
Regards
10-25-2010 11:34 AM
Hello Erodrig,
>> have configured an advertise-map, but when the advertise-map changes to "advertise" the prefix is not been advertised by BGP.
if we look at the debug output we see that BGP conditional advertisement is working, but as soon as your device sends out the update it receives an update from service provider PE router:
*Oct 25 12:35:47.832: BGP(0): nettable_walker 1.1.0.0/16 route sourced locally
*Oct 25 12:36:17.836: BGP(0): 201.129.78.245 1.1.0.0/16 matches advertise map ADVERTISE, state: Advertise
*Oct 25 12:36:17.836: BGP(0): 201.129.78.245 send UPDATE (format) 1.1.0.0/16, next 201.129.78.246, metric 0, path
>>>>*Oct 25 12:36:17.856: BGP(0): 201.129.78.245 rcvd UPDATE w/ attr: nexthop 201.129.78.245, origin i, path 8151 8151
*Oct 25 12:36:17.856: BGP(0): 201.129.78.245 rcvd 1.1.0.0/16
*Oct 25 12:36:17.856: BGP(0): Revise route installing 1 of 1 routes for 1.1.0.0/16 -> 201.129.78.245(main) to main IP table
the eBGP advertisement received causes the locally generated prefix triggered by BGP conditional advertisement to be withdrawn:
Oct 25 12:36:17.860: BGP(0): 201.129.78.245 send unreachable 1.1.0.0/16
*Oct 25 12:36:17.860: BGP(0): 201.129.78.245 send UPDATE 1.1.0.0/16 -- unreachable
*Oct 25 12:36:17.860: BGP(0): route 1.1.0.0/16 down
>>>> *Oct 25 12:36:17.872: BGP(0): 201.129.78.245 rcv UPDATE about 1.1.0.0/16 -- withdrawn
As a confirmation that PE node is sending back your own prefix, the PE node sends back a withdrawn as it receives your own prefix withdrawn and the cycle restarts.
you have configured neighbor allowas-in but the PE node looks like to be using as override as the AS path of reflected route is
>> path 8151 8151
this is typically seen when the SP overrides the private AS number of the customer with its own AS number.
I would contact SP tech people sending the same output, because something is going wrong.
or you need to find out the differences between the primary advertisement and the unwanted reflection for example different BGP communities or a longer AS path in order to deny it.
You can try to send your own BGP conditional adveritisement prefix with one prepending of your own AS.
the route-map that checks the primary route should accept only a route with AS path = 8151 8151 and not one with AS path 8151 8151 8151.
In the same way you could use different BGP communities when advertising from router B and when advertising from router A to have a second criteria to accept or deny the route coming from the SP.
However, I would contact them as what you see is not normal: the PE node shouldn't send back the advertisement to router A.
Hope to help
Giuseppe
10-25-2010 02:55 PM
hi Giuseppe, thanks for your help
i try removing the line neighbor 201.129.78.245 route-map local in and it works.... but this router-map set a weigh of 32770 to the prefix 1.1.0.0/16 when is received, so this way the router put it in the routing table
is doing something wrong this route-map? so when is apllied not work but if i remove it from the configuration It works!!
here`s the debug output
NODE_A#
*Oct 25 16:26:23.559: BGP(0): 201.129.78.245 rcv UPDATE about 1.1.0.0/16 -- withdrawn
*Oct 25 16:26:23.559: BGP(0): no valid path for 1.1.0.0/16
*Oct 25 16:26:23.559: BGP(0): nettable_walker 1.1.0.0/16 no best path
*Oct 25 16:26:23.559: BGP(0): route 1.1.0.0/16 up
*Oct 25 16:26:23.559: BGP(0): nettable_walker 1.1.0.0/16 route sourced locally
*Oct 25 16:26:51.319: BPG(0): Condition NON-EXIST changes to Advertise
*Oct 25 16:26:51.319: BPG(0): Condition NON-EXIST changes to Advertise
*Oct 25 16:26:51.319: BGP(0): net 1.1.0.0/16 matches ADV MAP ADVERTISE: bump version to 138
*Oct 25 16:26:51.563: BGP(0): nettable_walker 1.1.0.0/16 route sourced locally
*Oct 25 16:26:53.563: BGP(0): 201.129.78.245 1.1.0.0/16 matches advertise map ADVERTISE, state: Advertise
*Oct 25 16:26:53.563: BGP(0): 201.129.78.245 send UPDATE (format) 1.1.0.0/16, next 201.129.78.246, metric 0, path
*Oct 25 16:26:53.583: BGP(0): 201.129.78.245 rcvd UPDATE w/ attr: nexthop 201.129.78.245, origin i, path 8151 8151
*Oct 25 16:26:53.583: BGP(0): 201.129.78.245 rcvd 1.1.0.0/16
NODE_A#sh ip bgp nei 201.129.78.245 ad
BGP table version is 138, local router ID is 192.168.254.211
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 1.1.0.0/16 10.211.8.10 0 32768 i
*> 10.211.0.0/16 0.0.0.0 0 32768 i
Here`s the NODE_B link is UP again
NODE_A#
*Oct 25 16:29:51.359: BPG(0): Condition NON-EXIST changes to Withdraw
*Oct 25 16:29:51.359: BPG(0): Condition NON-EXIST changes to Withdraw
*Oct 25 16:29:51.359: BGP(0): net 1.1.0.0/16 matches ADV MAP ADVERTISE: bump version to 139
*Oct 25 16:29:51.555: BGP(0): nettable_walker 1.1.0.0/16 route sourced locally
*Oct 25 16:29:51.555: BGP(0): 201.129.78.245 1.1.0.0/16 matches advertise map ADVERTISE, state: Withdraw
*Oct 25 16:29:51.555: BGP(0): 201.129.78.245 send unreachable 1.1.0.0/16
*Oct 25 16:29:51.555: BGP(0): 201.129.78.245 send UPDATE 1.1.0.0/16 -- unreachable
*Oct 25 16:29:51.651: BGP(0): 201.129.78.245 rcv UPDATE about 1.1.0.0/16 -- withdrawn
*Oct 25 16:29:52.363: BGP(0): 201.129.78.245 rcvd UPDATE w/ attr: nexthop 201.129.78.245, origin i, path 8151 8151, community 28513:1281
*Oct 25 16:29:52.363: BGP(0): 201.129.78.245 rcvd 1.1.0.0/16
*Oct 25 16:30:07.451: BGP(0): 201.129.78.245 rcvd UPDATE w/ attr: nexthop 201.129.78.245, origin i, path 8151 8151, community 28513:1281
*Oct 25 16:30:07.451: BGP(0): 201.129.78.245 rcvd 1.1.0.0/16...duplicate ignored
due to the route-map is not configured, the prefix 1.1.0.0/16 remains in ip route table static (should be the prefix received from node_b)
NODE_A#sh ip route 1.1.1.1
Routing entry for 1.1.0.0/16
Known via "static", distance 230, metric 0
Advertised by bgp 65194
Routing Descriptor Blocks:
* 10.211.8.10
Route metric is 0, traffic share count is 1
10-26-2010 01:17 AM
Hi ,
I find it interesting to know what caused your NodeA not to install local route (1.1/16) and while looking at debug it is the weight
which force bgp to allow that prefix.
I don't think provider is doing anything wrong..he is advt. whatever he is receiving..now in your case you stopped advt. of /16 pool
from NodeB and as per you it should be advertised from NodeA...but are you sure you are not advt. same pool from
NodeC or any other node apart from NodeB.
Seems interesting....your local route-map is ok..he is doing what you told him to do..if you want your NodeA to advt. /16 when NodeB goes down you need to attach some tag (community) while advt. to provider and then match it at NodeA..(means in your local route-map you need to add one more statement of match community (advt. from NodeB) before set weight )
I hope this is helpful.
Regards
10-26-2010 10:12 AM
thanks Mahesh
now is working with the match community in the route-map local!!!
thanks to all again
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide