Re: Advertising local host routes in BGP?

From: Jeffrey Pazahanick <jeffpaz_at_gmail.com>
Date: Wed, 21 Apr 2010 19:54:52 -0500

Marko, Carlos,

Correct, I tried this with a locally sourced route and the injection
doesn't seem to work..

'The route source is the neighbor address that is configured with the
neighbor remote-as command. The tracked prefix must come from this
neighbor in order for conditional route injection to occur. '

Silly rules..

On Wed, Apr 21, 2010 at 3:13 PM, Carlos G Mendioroz <tron_at_huapi.ba.ar> wrote:
> Marko,
> conditional injection depends on the exist map matching a route-source
> with a /32. Even if you put 0.0.0.0/32, it does not do the injection
> when the reference (TRACKER) prefix is local.
> Initial post from Jeffrey did state that cond injection was not working
> for him...
>
> -Carlos
>
> Marko Milivojevic @ 21/4/2010 8:02 -0300 dixit:
>>
>> Jeffrey,
>>
>> Use "bgp inject-map" for this.
>>
>> ip prefix-list TRACKER seq 10 permit 1.1.1.0/24
>> !
>> ip prefix-list INJECTED seq 10 permit 1.1.1.1/32
>> ip prefix-list INJECTED seq 20 permit 1.1.1.3/32
>> ip prefix-list INJECTED seq 30 permit 1.1.1.4/32
>> ip prefix-list INJECTED seq 40 permit 1.1.1.5/32
>> !
>> route-map TRACK permit 10
>> match ip address prefix-list TRACKER
>> !
>> route-map INJECT permit 10
>> set ip address prefix-list INJECTED
>> !
>> router bgp 1
>> bgp inject-map INJECT exist-map TRACK copy-attributes
>> !
>>
>> I'm on the airport now, can't really try it out, but this will at
>> least push you in the right direction.
>>
>> --
>> Marko Milivojevic - CCIE #18427
>> Senior Technical Instructor - IPexpert
>>
>> YES! We include 400 hours of REAL rack
>> time with our Blended Learning Solution!
>>
>> Mailto: markom_at_ipexpert.com
>> Telephone: +1.810.326.1444
>> Fax: +1.810.454.0130
>> Web: http://www.ipexpert.com/
>>
>> On Wed, Apr 21, 2010 at 03:42, Jeffrey Pazahanick <jeffpaz_at_gmail.com>
>> wrote:
>>>
>>> I appreciate your help so far. B My problem is as originally stated..
>>> Is there a way to advertise host routes in BGP from a connected
>>> interface without creating a static route pointing to that interface.
>>>
>>> int g0/0
>>> ip addr 1.1.1.1 255.255.255.0
>>>
>>> router bgp 1
>>> neig 2.2.2.2 remote-as 2
>>> network 1.1.1.3 mask 255.255.255.255
>>> network 1.1.1.4 mask 255.255.255.255
>>> network 1.1.1.5 mask 255.255.255.255
>>>
>>> I want to advertise 1.1.1.3, .4, B and 5 in BGP without doing
>>>
>>> ip route 1.1.1.3 255.255.255.255 g0/0
>>> ip route 1.1.1.4 255.255.255.255 g0/0
>>> ip route 1.1.1.5 255.255.255.255 g0/0
>>>
>>> My output of the FIB and RIB were based on the suggestion of
>>>
>>> ip route 1.1.1.3 255.255.255.255 1.1.1.3
>>> ip route 1.1.1.4 255.255.255.255 1.1.1.4
>>> ip route 1.1.1.5 255.255.255.255 1.1.1.5
>>>
>>> which didn't work.
>>>
>>> On Tue, Apr 20, 2010 at 8:24 PM, Carlos G Mendioroz <tron_at_huapi.ba.ar>
>>> wrote:
>>>>
>>>> You tell me. Again, I don't fully understand what the problem is now.
>>>> I guess you have to reproduce the problem in a lab scenario before you
>>>> try to find a solution...
>>>>
>>>> -Carlos
>>>>
>>>> Jeffrey Pazahanick @ 20/04/2010 19:17 -0300 dixit:
>>>>>
>>>>> I don't have the FIB/RIB data from the actual failure; only from
>>>>> trying to find a way to advertise a host route in my lab..
>>>>> So bgp inject-map is off of the table?
>>>>>
>>>>> On Tue, Apr 20, 2010 at 10:48 AM, Carlos G Mendioroz <tron_at_huapi.ba.ar>
>>>>> wrote:
>>>>>>
>>>>>> Hmm, I don't know what the problem is. All the info you send now seems
>>>>>> ok.
>>>>>> Can you provide a small configuration set that we can use to reproduce
>>>>>> the
>>>>>> issue ?
>>>>>> If this is related to the doc you referred before, your FIB would be
>>>>>> inconsistent with your RIB, which is not the case in the provided
>>>>>> show ooutputs.
>>>>>>
>>>>>> -Carlos
>>>>>>
>>>>>> Jeffrey Pazahanick @ 20/4/2010 11:30 -0300 dixit:
>>>>>>>
>>>>>>> That doesn't seem to work either...
>>>>>>>
>>>>>>> ip route 1.1.1.5 255.255.255.255 1.1.1.5
>>>>>>>
>>>>>>>
>>>>>>> R1#sh ip cef 1.1.1.5 det
>>>>>>> 1.1.1.5/32, version 37, epoch 0
>>>>>>> 0 packets, 0 bytes
>>>>>>> B via 1.1.1.5, 0 dependencies, recursive
>>>>>>> B B unresolved
>>>>>>>
>>>>>>> R1#sh arp
>>>>>>> Protocol B Address B B B B B Age (min) B Hardware Addr B Type B
>>>>>>> Interface
>>>>>>> Internet B 1.1.1.1 B B B B B B B B - B 0015.fa64.6d21 B ARPA
>>>>>>> FastEthernet0/1
>>>>>>> Internet B 1.1.1.5 B B B B B B B B 16 B 0015.fa64.7b13 B ARPA
>>>>>>> FastEthernet0/1
>>>>>>> Internet B 10.1.12.1 B B B B B B B - B 0015.fa64.6d20 B ARPA
>>>>>>> FastEthernet0/0
>>>>>>> Internet B 10.1.12.2 B B B B B B B 16 B 0015.fa64.7518 B ARPA
>>>>>>> FastEthernet0/0
>>>>>>>
>>>>>>> R1#sh ip route 1.1.1.5
>>>>>>> Routing entry for 1.1.1.5/32
>>>>>>> B Known via "static", distance 1, metric 0
>>>>>>> B Advertised by bgp 1
>>>>>>> B Routing Descriptor Blocks:
>>>>>>> B * 1.1.1.5
>>>>>>> B B B Route metric is 0, traffic share count is 1
>>>>>>>
>>>>>>> ----
>>>>>>>
>>>>>>> Remove the static.
>>>>>>>
>>>>>>> R1#conf t
>>>>>>> Enter configuration commands, one per line. B End with CNTL/Z.
>>>>>>> R1(config)#no ip route 1.1.1.5 255.255.255.255 1.1.1.5
>>>>>>> R1(config)#^Z
>>>>>>> R1#ping
>>>>>>> *Apr 20 14:29:07.057: %SYS-5-CONFIG_I: Configured from console by
>>>>>>> console
>>>>>>> R1#ping 1.1.1.5
>>>>>>>
>>>>>>> Type escape sequence to abort.
>>>>>>> Sending 5, 100-byte ICMP Echos to 1.1.1.5, timeout is 2 seconds:
>>>>>>> !!!!!
>>>>>>> Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
>>>>>>> R1#sh ip cef 1.1.1.5 det
>>>>>>> 1.1.1.0/24, version 32, epoch 0, attached, connected
>>>>>>> 0 packets, 0 bytes
>>>>>>> B via FastEthernet0/1, 0 dependencies
>>>>>>> B B valid glean adjacency
>>>>>>> R1#sh arp
>>>>>>> Protocol B Address B B B B B Age (min) B Hardware Addr B Type B
>>>>>>> Interface
>>>>>>> Internet B 1.1.1.1 B B B B B B B B - B 0015.fa64.6d21 B ARPA
>>>>>>> FastEthernet0/1
>>>>>>> Internet B 1.1.1.5 B B B B B B B B 19 B 0015.fa64.7b13 B ARPA
>>>>>>> FastEthernet0/1
>>>>>>> Internet B 10.1.12.1 B B B B B B B - B 0015.fa64.6d20 B ARPA
>>>>>>> FastEthernet0/0
>>>>>>> Internet B 10.1.12.2 B B B B B B B 19 B 0015.fa64.7518 B ARPA
>>>>>>> FastEthernet0/0
>>>>>>> R1#sh ip route 1.1.1.5
>>>>>>> Routing entry for 1.1.1.0/24
>>>>>>> B Known via "connected", distance 0, metric 0 (connected, via
>>>>>>> interface)
>>>>>>> B Routing Descriptor Blocks:
>>>>>>> B * directly connected, via FastEthernet0/1
>>>>>>> B B B Route metric is 0, traffic share count is 1
>>>>>>>
>>>>>>>
>>>>>>> Any other suggestions?
>>>>>>>
>>>>>>> On Sat, Apr 17, 2010 at 6:57 AM, Carlos G Mendioroz
>>>>>>> <tron_at_huapi.ba.ar>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Send it to the destination:
>>>>>>>>
>>>>>>>> ip route 1.1.1.5 255.255.255.255 1.1.1.5
>>>>>>>>
>>>>>>>> That worked in a couple of versions I tested it. I did no other
>>>>>>>> test,
>>>>>>>> so I don't know if it fixes your issue, but it may help.
>>>>>>>>
>>>>>>>> -Carlos
>>>>>>>>
>>>>>>>>
>>>>>>>> Jeffrey Pazahanick @ 17/04/2010 1:33 -0300 dixit:
>>>>>>>>>
>>>>>>>>> Carlos,
>>>>>>>>>
>>>>>>>>> How do you have a static /32 pointed to the segment if you are the
>>>>>>>>> next
>>>>>>>>> hop?
>>>>>>>>>
>>>>>>>>> R1#conf t
>>>>>>>>> Enter configuration commands, one per line. B End with CNTL/Z.
>>>>>>>>> R1(config)#ip route 1.1.1.5 255.255.255.255 1.1.1.1
>>>>>>>>> %Invalid next hop address (it's this router)
>>>>>>>>> R1(config)#R1#conf t
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Apr 16, 2010 at 5:10 PM, Carlos G Mendioroz
>>>>>>>>> <tron_at_huapi.ba.ar>
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Interesting reading (the loop problem).
>>>>>>>>>> Caused by a floating static route to a multipoint if.
>>>>>>>>>>
>>>>>>>>>> You say:
>>>>>>>>>>>
>>>>>>>>>>> The link says the solution is to point the statics to the next
>>>>>>>>>>> hop;
>>>>>>>>>>> which I can't, as they are local.
>>>>>>>>>>
>>>>>>>>>> which triggered me to try it. And it works.
>>>>>>>>>>
>>>>>>>>>> You can have a static /32 route to a next hop which is in a
>>>>>>>>>> connected
>>>>>>>>>> segment. Which solves your need for a given /32 prefix to be
>>>>>>>>>> published
>>>>>>>>>> by BGP w/o the burden of proxy ARP poisoning your CEF adjacency
>>>>>>>>>> table...
>>>>>>>>>>
>>>>>>>>>> -Carlos
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Jeffrey Pazahanick @ 16/04/2010 0:37 -0300 dixit:
>>>>>>>>>>>
>>>>>>>>>>> I have a situation where I'm trying to advertise only 4 host
>>>>>>>>>>> routes
>>>>>>>>>>> from a /24 network to my BGP neighbors.
>>>>>>>>>>> As an example,
>>>>>>>>>>>
>>>>>>>>>>> #R1
>>>>>>>>>>> interface g0/0
>>>>>>>>>>> ip addr 1.1.1.2 255.255.255.0
>>>>>>>>>>> standby ip 1.1.1.1
>>>>>>>>>>>
>>>>>>>>>>> router bgp 1
>>>>>>>>>>> network 1.1.1.4 mask 255.255.255.255
>>>>>>>>>>> network 1.1.1.5 mask 255.255.255.255
>>>>>>>>>>> network 1.1.1.7 mask 255.255.255.255
>>>>>>>>>>> network 1.1.1.9 mask 255.255.255.255
>>>>>>>>>>>
>>>>>>>>>>> With a single router, a static route to the interface worked
>>>>>>>>>>> fine..
>>>>>>>>>>>
>>>>>>>>>>> ip route 1.1.1.4 255.255.255.255 g0/0
>>>>>>>>>>> ip route 1.1.1.5 255.255.255.255 g0/0
>>>>>>>>>>> ip route 1.1.1.7 255.255.255.255 g0/0
>>>>>>>>>>> ip route 1.1.1.9 255.255.255.255 g0/0
>>>>>>>>>>>
>>>>>>>>>>> When adding a redundant router, things initially work as well..
>>>>>>>>>>>
>>>>>>>>>>> #R2
>>>>>>>>>>> interface g0/0
>>>>>>>>>>> ip addr 1.1.1.3 255.255.255.0
>>>>>>>>>>> standby ip 1.1.1.1
>>>>>>>>>>>
>>>>>>>>>>> router bgp 1
>>>>>>>>>>> network 1.1.1.4 mask 255.255.255.255
>>>>>>>>>>> network 1.1.1.5 mask 255.255.255.255
>>>>>>>>>>> network 1.1.1.7 mask 255.255.255.255
>>>>>>>>>>> network 1.1.1.9 mask 255.255.255.255
>>>>>>>>>>>
>>>>>>>>>>> ip route 1.1.1.4 255.255.255.255 g0/0
>>>>>>>>>>> ip route 1.1.1.5 255.255.255.255 g0/0
>>>>>>>>>>> ip route 1.1.1.7 255.255.255.255 g0/0
>>>>>>>>>>> ip route 1.1.1.9 255.255.255.255 g0/0
>>>>>>>>>>>
>>>>>>>>>>> The issue arises when R1 fails, R2 has a CEF routing loop..
>>>>>>>>>>>
>>>>>>>>>>> Troubleshooting Cisco Express Forwarding Routing Loops
>>>>>>>>>>> Document ID: 26083
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> http://www.cisco.com/en/US/partner/tech/tk827/tk831/technologies_tech_note09186a00800cdf2e.shtml
>>>>>>>>>>>
>>>>>>>>>>> The link says the solution is to point the statics to the next
>>>>>>>>>>> hop;
>>>>>>>>>>> which I can't, as they are local.
>>>>>>>>>>>
>>>>>>>>>>> Is there another way to advertise these host routes?
>>>>>>>>>>>
>>>>>>>>>>> I've been trying to use inject-maps, but my own routers are the
>>>>>>>>>>> route
>>>>>>>>>>> source, and it doesn't appear to work.
>>>>>>>>>>>
>>>>>>>>>>> Ideas?

Blogs and organic groups at http://www.ccie.net
Received on Wed Apr 21 2010 - 19:54:52 ART

This archive was generated by hypermail 2.2.0 : Sat May 01 2010 - 09:49:57 ART