10-16-2023 08:30 PM - last edited on 10-25-2023 02:31 AM by Translator
Hey,I am currently studying BGP from Jeff Doyle's Routing TCP/IP book,I usually create labs on CML based on what I am reading,I was reading about Route Aggregation in BGP and did a lab.So I have
prefixes 192.168.192.1 to 192.168.200.1
learnt via EIGRP on Router#Angelfire.They are loopbacks on that router.I am using
aggregate address 192.168.192.0 255.255.248.0
command on Routers #Taos and # Sandria.It works and I can see the aggregate learnt on Routers#Vail and Telluride.
On Routers#Sandria and Taos,I have prefix list permitting the aggregate,I called that prefix list in a
route-map
and used
#set-comm none
,and I used the next line in
route-map
to permit all other prefixes,and set a
#no-export community
My goal was to send only the Aggregate to AS 700,but send Aggregate + Specific Prefixes into AS 100.
Other than the aggregate,My routers #Taos and Sandria are advertizing their loopbacks into BGP because of redistribution from EIGRP into BGP
Route-Map Config - (Similar on Routers#Taos and Sandria except the EBGP nei)
neighbor 192.168.1.226 remote-as 100
neighbor 192.168.1.226 send-community
neighbor 192.168.1.226 route-map COMM out
ip prefix-list SETCOMM seq 10 permit 192.168.192.0/21
route-map COMM permit 10
match ip address prefix-list SETCOMM
set community none
!
route-map COMM permit 20
set community no-export.
So coming to my problem,On #AS700 router,I see the aggregate prefix,I don't see 192.168.192.1,192.168.193.1....192.168.200.1 which is good/working as intended.but I see all these other loopbacks and point to point interfaces that belong to AS 200(Which got into BPG from redistribution) in #AS700 router's BGP table.Based on my understanding,My
route-map
should tag a
#no-export community
to all the routes advertized from #Taos to #Vail and #Sandria to #Telluride,So I am not sure why I am seeing these prefixes in #AS-700s BGP table.
AS700# BGP table
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 192.168.1.214 0 100 200 i -Loopback on #Taos
*> 11.11.11.11/32 0.0.0.0 0 32768 i
*> 192.168.1.216/30 192.168.1.214 0 100 200 ? - P2P int between Taos and angelfire
*> 192.168.1.224/30 192.168.1.214 0 100 200 ? - P2P int between Vail and Taos
*> 192.168.1.228/30 192.168.1.249 0 100 200 ? - P2P int between Angel and Sandria
*> 192.168.192.0/21 192.168.1.249 0 100 200 i --Good EXPECTED aggregate prefix
* 192.168.1.214 0 100 200 i
*> 192.168.254.1/32 192.168.1.214 0 100 200 ? - Lo on Taos
*> 192.168.254.2/32 192.168.1.249 0 100 200 ? - Lo on Sandria
Some findings from digging around -
Based on the next-hops on AS700 router,it is clear that the prefixes from the left have a next-hop that's going to Telluride,and prefixes from the right have a next-hop that's going to Vail...So from this,It's clear to me that the EBGP routes being advertized from Vail to AS700 have
no-export
comm,and are not sent to AS700,but these routes are going to Telluride from Vail via IBGP via the #ASPEN router link,and Telluride is advertizing these routes to EBGP NEI #AS700 routers and vice versa.
To further test this,I shut off the link between Routers#Vail and Telluride disabling BGP,and then I can only see the aggregate prefix on #AS700 router.
So my conclusion is,when EBGP learnt routes with
no-export
comm set are recieved on AS 100 router(vail) and sent to an IBGP nei(telluride),the IBGP Nei sends these prefixes to an EBGP Nei (AS 700) because the IBGP route it learnt for a similar prefix that it learnt via EBGP has no
#no-export community
[See example below],So what is the point of using
no-export community
here ?Please correct me if I am wrong.
Telluride#show ip bgp 192.168.254.1
BGP routing table entry for 192.168.254.1/32, version 47
Paths: (2 available, best #1, table default)
Advertised to update-groups:
1
Refresh Epoch 2
200
2.2.2.2 (metric 3) from 2.2.2.2 (2.2.2.2) -- IBGP route
Origin incomplete, metric 0, localpref 100, valid, internal, best
rx pathid: 0, tx pathid: 0x0 - No No-export community
Refresh Epoch 1
200
192.168.1.241 from 192.168.1.241 (192.168.254.2) -EBGP route
Origin incomplete, metric 131072, localpref 100, valid, external
Community: no-export
rx pathid: 0, tx pathid: 0
Solved! Go to Solution.
10-17-2023 04:49 PM - last edited on 10-25-2023 02:58 AM by Translator
Hello,
If I understand your setup and configuration correctly I believe this is working as expected. It doesn't have to do with eBGP/iBGP so much as to how you are advertising the communities attached to the route. In BGP you need to issue the
neighbor <ip> send-community both
on ALL routers in your BGP domain. From the looks of it on Tellu the route is being learned from Sandria with the
no-export community
and from Vail without the
no export community
My guess is because you have not configured the iBGP neighbors to send communities to each other like you did iBGP.
If you do not configure the command I specified above then the router will not sent the community and therefor render it ineffective as a whole. Essentially the router sets the community on a hop by hop basis. So if one router does not send communities to its neighbor it will not attach any community values to the routes even if it was learned with community values.
*I say configure with the both keyword but you can optionally set it for standard/extended communities if you are using one or the other exclusively, however its best to just include both when working in a lab environment.
If this is not the case could you please provide configurations for all the devices involved to further troubleshoot the issue.
Hope that helps
-David
10-16-2023 10:48 PM - last edited on 10-25-2023 04:29 AM by Translator
no-export
is effect AS100,
it inform all routers in AS100 do not export these prefix to other AS.
NOTE:- add
send community both
<<- when config bgp
10-17-2023 04:18 PM - last edited on 10-25-2023 02:54 AM by Translator
Hey,Shouldn't
No-export
be in effect in AS100 telling AS100 routers not to export these prefixes to other AS,Because I attached the community to prefixes advertized into AS100.
I am just not sure,if this is normal,An IBGP peer(Vail) ,when it's sending prefixes that it learnt from an EBGP peer(Taos) with
no-export community
set,removes the community and sends it to an IBGP Neighbor(Telluride).Are you saying add
#send
-comm both,So that the IBGP peer(Vail) doesnt adv these prefixes to an IBGP nei(Telluride) inside AS 100,So I don't have this issue of IBGP nei(Telluride) advertizing these prefixes into AS700.
I ll lab it out and check.
10-17-2023 04:49 PM - last edited on 10-25-2023 02:58 AM by Translator
Hello,
If I understand your setup and configuration correctly I believe this is working as expected. It doesn't have to do with eBGP/iBGP so much as to how you are advertising the communities attached to the route. In BGP you need to issue the
neighbor <ip> send-community both
on ALL routers in your BGP domain. From the looks of it on Tellu the route is being learned from Sandria with the
no-export community
and from Vail without the
no export community
My guess is because you have not configured the iBGP neighbors to send communities to each other like you did iBGP.
If you do not configure the command I specified above then the router will not sent the community and therefor render it ineffective as a whole. Essentially the router sets the community on a hop by hop basis. So if one router does not send communities to its neighbor it will not attach any community values to the routes even if it was learned with community values.
*I say configure with the both keyword but you can optionally set it for standard/extended communities if you are using one or the other exclusively, however its best to just include both when working in a lab environment.
If this is not the case could you please provide configurations for all the devices involved to further troubleshoot the issue.
Hope that helps
-David
10-17-2023 05:13 PM - last edited on 10-25-2023 02:59 AM by Translator
Thank you,David,I added
send-comm
both on both Vail and Tellu,and now I only see the aggregate on my AS700 router,I didn't know the community was set on a hop by hop basis.
10-17-2023 05:33 PM
Glad you were able to get it working. Yeah communities are not on routes by default so its just a feature (per router) you need to enable if you want it to propagate through to other neighbors.
10-17-2023 06:25 PM - last edited on 10-25-2023 03:01 AM by Translator
I believe this has already been explained by the other posters, but in short, for
no-export
to work you need to send communities (so BGP doesn't send routes tagged for
no-export
).
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