Re: Advertising local host routes in BGP?

From: Marko Milivojevic <markom_at_ipexpert.com>
Date: Wed, 21 Apr 2010 22:13:50 -0400

I'm sure you're right. As I wrote in my message, I was at the airport
(finally) and I had no opportunity to check. Now after 9 hours of
flying and 2 hours of running, I feel even less like connecting to my
rack.

I will follow it up - it's a fun problem, no doubt.

--
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 20:54, Jeffrey Pazahanick <jeffpaz_at_gmail.com> wrote:
> 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
>>> B match ip address prefix-list TRACKER
>>> !
>>> route-map INJECT permit 10
>>> B set ip address prefix-list INJECTED
>>> !
>>> router bgp 1
>>> B 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 B unresolved
>>>>>>>>
>>>>>>>> R1#sh arp
>>>>>>>> Protocol B Address B B B B B B B B B Age (min) B Hardware Addr B B Type B
>>>>>>>> B Interface
>>>>>>>> Internet B 1.1.1.1 B B B B B B B B B 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 B B B B B B B 16 B B 0015.fa64.7b13 B ARPA
>>>>>>>> FastEthernet0/1
>>>>>>>> Internet B 10.1.12.1 B B B B B B B B 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 B B B B B B 16 B 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 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 B valid glean adjacency
>>>>>>>> R1#sh arp
>>>>>>>> Protocol B Address B B B B B B B B B Age (min) B Hardware Addr B B Type B
>>>>>>>> B Interface
>>>>>>>> Internet B 1.1.1.1 B B B B B B B B B 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 B B B B B B B 19 B B 0015.fa64.7b13 B ARPA
>>>>>>>> FastEthernet0/1
>>>>>>>> Internet B 10.1.12.1 B B B B B B B B 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 B B B B B B 19 B 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 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 - 22:13:50 ART

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