[nsp] BGP conditional advertising?

From: Sergey V. Artjushkin (skiv@caravan.ru)
Date: Mon Oct 29 2001 - 05:13:15 EST


Hello Colleagues.

My name is Sergey Artjushkin. I'm network engineer of
ISP "Caravan" (Moscow).

I have tow bgp peering with ISP1 and ISP2, for example.
ISP1 advertise to me full bgp table and default route, ISP2 advertise
only default route. ISP2 is a backup link for my network. Despite the
fact, that to ISP2 I advertise my network with 7 prepend (!) I have
inbound traffic on this link. To solve this problem I have decided to
use bgp conditional advertising. If bgp link to ISP1 is up, I advertise
to ISP1 my networks, and nothing advertise to ISP2. If ISP1 is down,
I have to advertise to ISP2 my networks.
For writing non-exist-map I decided to use prefix 1.0.0.0/8 (this prefix
is not real) that I receive from ISP2. SO I writed the following
configuration:

-----------------------------------------------------------
neighbor 1.1.1.1 remote-as 1111
neighbor 1.1.1.1 next-hop-self
neighbor 1.1.1.1 prefix-list ZAPAD-OUT out
neighbor 1.1.1.1 route-map SET-ZAPAD-COMM in
neighbor 2.2.2.2 remote-as 2222
neighbor 2.2.2.2 ebgp-multihop 255
neighbor 2.2.2.2 next-hop-self
neighbor 2.2.2.2 prefix-list ZAPAD-OUT out
neighbor 2.2.2.2 route-map SET-ZAPAD-COMM in
neighbor 2.2.2.2 advertise-map ZAPAD-OUT non-exist-map TTT
!
access-list 6 permit 1.0.0.0 0.255.255.255
!
route-map ZAPAD-OUT permit 5
   match ip address prefix-list CARAVAN
   set as-path prepend 15756 15756 15756 15756 15756
!
ip prefix-list CARAVAN seq 5 permit 217.23.128.0/19
ip prefix-list ZAPAD-OUT seq 5 permit 217.23.128.0/19
!
route-map TTT permit 5
   match ip address 6
---------------------------------------------------------

So, If prefix 1.0.0.0/8 is received from ISP1, to ISP2 nothing should
be advertised. Am I right? I think, I'm right. But this configuration
is NOT WORKING. Undepending of existence 1.0.0.0/8 to IPS2 nothing is
advertised. Diagnostic is following:

----------------------------------------------------------
c7200.caravan.ru#sh ip bgp sum | in 2222
2.2.2.2 4 2222 1119 1130 10148290 0 0 00:16:27 1

c7200.caravan.ru#sh ip bgp 1.0.0.0/8
% Network not in table

c7200.caravan.ru#sh ip bgp nei 2.2.2.2 ad

c7200.caravan.ru#

c7200.caravan.ru#sh ip bgp neighbors 2.2.2.2
BGP neighbor is 2.2.2.2, remote AS 2222, external link
    BGP version 4, remote router ID 2.2.2.2
    BGP state = Established, up for 00:00:52
    Last read 00:00:50, hold time is 180, keepalive interval is 60 seconds
    Neighbor capabilities:
      Route refresh: advertised and received(new)
      Address family IPv4 Unicast: advertised and received
    Received 1124 messages, 0 notifications, 0 in queue
    Sent 1134 messages, 0 notifications, 0 in queue
    Route refresh request: received 1, sent 0
    Default minimum time between advertisement runs is 30 seconds

   For address family: IPv4 Unicast
    BGP table version 10148498, neighbor version 10148498
    Index 6, Offset 0, Mask 0x40
    NEXT_HOP is always this router
    Inbound path policy configured
    Outgoing update prefix filter list is ZAPAD-OUT
    Route map for incoming advertisements is SET-ZAPAD-COMM
    Condition-map TTT, Advertise-map ZAPAD-OUT, status: Uninitialized
    1 accepted prefixes consume 36 bytes
    Prefix advertised 10, suppressed 0, withdrawn 4
    Number of NLRIs in the update sent: max 1, min 0

    Connections established 3; dropped 2
    Last reset 00:01:14, due to User reset
    External BGP neighbor may be up to 255 hops away.
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 2.2.2.2.1, Local port: 49646
Foreign host: 2.2.2.2, Foreign port: 179

Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0 (0 bytes)

Event Timers (current time is 0xFAFAF384):
Timer Starts Wakeups Next
Retrans 5 0 0x0
TimeWait 0 0 0x0
AckHold 4 1 0x0
SendWnd 0 0 0x0
KeepAlive 0 0 0x0
GiveUp 0 0 0x0
PmtuAger 0 0 0x0
DeadWait 0 0 0x0

iss: 4186393376 snduna: 4186393479 sndnxt: 4186393479 sndwnd: 16282
irs: 1908286013 rcvnxt: 1908286158 rcvwnd: 16240 delrcvwnd: 144

SRTT: 165 ms, RTTO: 1410 ms, RTV: 1245 ms, KRTT: 0 ms
minRTT: 0 ms, maxRTT: 472 ms, ACK hold: 200 ms
Flags: higher precedence, nagle

Datagrams (max data segment is 536 bytes):
Rcvd: 7 (out of order: 0), with data: 4, total data bytes: 144
Sent: 7 (retransmit: 0, fastretransmit: 0), with data: 4, total data
bytes: 102

c7200.caravan.ru#sh ver
Cisco Internetwork Operating System Software
IOS (tm) 7200 Software (C7200-JS-M), Version 12.2(1a), RELEASE SOFTWARE
(fc1)
Copyright (c) 1986-2001 by cisco Systems, Inc.
Compiled Fri 25-May-01 20:19 by pwade
Image text-base: 0x60008960, data-base: 0x616B2000
-------------------------------------------------------------------

Any ideas? Why my network is not advertised to 2.2.2.2 if 1.0.0.0/8 is
not exist (not received from IPS1) ??
I'll be very grateful for any advices.

Thank you for advance.

-- 
With best regards.
------------------------------------------------------------------
Sergey Artjushkin                      Network Operation Center
   (SKIV-RIPE)                               ISP "CARAVAN"



This archive was generated by hypermail 2b29 : Sun Aug 04 2002 - 04:13:21 EDT