1

I am really new to working with Junipers and I am struggling a bit with Route Reflector configuration.

I have 3 routers Cisco-Juniper-Juniper2

here is my config: Cisco:

 router bgp 100 
 neighbor 10.255.255.1 remote-as 100
 neighbor 10.255.255.1 update-source Loopback0
 neighbor 10.255.255.1 route-reflector-client
 neighbor 10.255.255.1 next-hop-self all
 neighbor 10.255.255.1 send-label
 neighbor 10.255.255.3 remote-as 100
 neighbor 10.255.255.3 update-source Loopback0
 neighbor 10.255.255.3 next-hop-self all
 neighbor 10.255.255.3 send-label

Juniper:

bgp {
    group ibgp {
        type internal;
        local-address 10.255.255.3;
        family inet {
            labeled-unicast;
        }
        export next-hop-self;
        cluster 10.255.255.3;
        peer-as 100;
        neighbor 10.255.255.2;
        neighbor 10.255.255.4;
    }
}

policy-options {
policy-statement next-hop-self {
    term 1 {
        from route-type internal;
        then {
            next-hop self;
        }
    }
}

}

Juniper2:

bgp {
    group ibgp {
        type internal;
        local-address 10.255.255.4;
        family inet {
            labeled-unicast;        
        }
        export BGP_import_Lo0;
        peer-as 100;
        neighbor 10.255.255.3;
    }
}

policy-options {
policy-statement BGP_import_Lo0 {
    from {
        route-filter 10.255.255.4/32 exact;
    }
    then accept;
}                             

This is a SeamlessMPLS try, and Cisco + Juniper are in IS-IS, Juniper + Juniper2 are in OSPF

BGP is connected using Loopback0 interfaces

Before these 3 machines there is another Cisco machine that is advertising a route to BGP using network 10.255.255.255.1 mask 255.255.255.255

The route 10.255.255.1 makes it to Juniper 2 using this cluster with a correct next-hop (to Cisco-> Juniper2 works)

Juniper> show route advertising-protocol bgp 10.255.255.4
inet.0: 12 destinations, 13 routes (12 active, 0 holddown, 0 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
* 10.255.255.1/32         Self                 0       100        I

But Juniper2 -> Cisco doesnt work

Juniper> show route receive-protocol bgp 10.255.255.4
inet.0: 12 destinations, 13 routes (12 active, 0 holddown, 0 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
  10.255.255.4/32         10.255.255.4                 100        I

This route never gets past Juniper to Cisco

So my guess is there is something i missed when reflecting from Juniper to Cisco? Because Cisco never hears about 10.255.255.4/32

Is there anyone that can clear things out as to why? Thank you so much in advance!

edit I may have oversimplified the description for the worse... okay, here we go: this is my topology enter image description here

ABR2 is Juniper

PE2 is Juniper

ABR1 and ABR2 Lo0 are in OSPF and IS-IS

Every IGP zone is running MPLS

There is no redistribution between IGP zones

I am trying to establish LSP between PE1 and PE2 using SeamlessMPLS

PE1 Lo0 is 10.255.255.1/32 and it travels through 2 RRs (ABR1 and ABR2) to PE2

I am able to reflect Lo0 of PE1 (10.255.255.1/32) to PE2 through ABR2

But i am unable to reflect PE2s Lo0 to ABR1 through ABR2

BTW each of the routers is BGP neighbored with the closest routers only so ABR1 has PE1 and ABR2 as neighbors, ABR2 has ABR1 and PE2... and so on


PE1:

PE1_2#sh run
Building configuration...

Current configuration : 2268 bytes
!
! Last configuration change at 20:01:09 UTC Wed Jan 2 2019
!
version 15.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname PE1_2
!
boot-start-marker
boot-end-marker
!
aqm-register-fnf
!
!
no aaa new-model
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
no ip icmp rate-limit unreachable
!
!
!
!
!
!
!
!


!
!
!
!
no ip domain lookup
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
!         
!
!
!
!
!
redundancy
!
!
ip tcp synwait-time 5
! 
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.255.255.1 255.255.255.255
 ip ospf 1 area 0
!
interface Ethernet0/0
 ip address 10.0.1.1 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
 mpls ip
!
interface Ethernet0/1
 no ip address
 shutdown
!
interface Ethernet0/2
 no ip address
 shutdown
!
interface Ethernet0/3
 no ip address
 shutdown
!
interface Ethernet1/0
 no ip address
 shutdown
!
interface Ethernet1/1
 no ip address
 shutdown
!
interface Ethernet1/2
 no ip address
 shutdown
!
interface Ethernet1/3
 no ip address
 shutdown
!
interface Serial2/0
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial2/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial2/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial2/3
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/0
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/3
 no ip address
 shutdown
 serial restart-delay 0
!
router ospf 1
 passive-interface Loopback0
 network 10.255.255.1 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 network 10.255.255.1 mask 255.255.255.255
 neighbor 10.255.255.2 remote-as 100
 neighbor 10.255.255.2 update-source Loopback0
 neighbor 10.255.255.2 send-label
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
!
!
!
!
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
 login
 transport input none
!
!
end

ABR1:

ABR1_2#sh run
Building configuration...

Current configuration : 2552 bytes
!
! Last configuration change at 17:58:29 UTC Wed Jan 2 2019
!
version 15.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ABR1_2
!
boot-start-marker
boot-end-marker
!
aqm-register-fnf
!
!
no aaa new-model
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
no ip icmp rate-limit unreachable
!
!
!
!
!
!
!
!


!
!
!
!
no ip domain lookup
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
!         
!
!
!
!
!
redundancy
!
!
ip tcp synwait-time 5
! 
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.255.255.2 255.255.255.255
 ip router isis 
 ip ospf 1 area 0
!
interface Ethernet0/0
 ip address 10.0.2.1 255.255.255.252
 ip router isis 
 mpls ip
!
interface Ethernet0/1
 ip address 10.0.1.2 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
 mpls ip
!
interface Ethernet0/2
 no ip address
 shutdown
!
interface Ethernet0/3
 no ip address
 shutdown
!         
interface Ethernet1/0
 no ip address
 shutdown
!
interface Ethernet1/1
 no ip address
 shutdown
!
interface Ethernet1/2
 no ip address
 shutdown
!
interface Ethernet1/3
 no ip address
 shutdown
!
interface Serial2/0
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial2/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial2/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial2/3
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/0
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/1
 no ip address
 shutdown
 serial restart-delay 0
!         
interface Serial3/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/3
 no ip address
 shutdown
 serial restart-delay 0
!
router ospf 1
!
router isis
 net 49.0001.0102.5525.5002.00
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 10.255.255.1 remote-as 100
 neighbor 10.255.255.1 update-source Loopback0
 neighbor 10.255.255.1 route-reflector-client
 neighbor 10.255.255.1 next-hop-self all
 neighbor 10.255.255.1 send-label
 neighbor 10.255.255.3 remote-as 100
 neighbor 10.255.255.3 update-source Loopback0
 neighbor 10.255.255.3 route-reflector-client
 neighbor 10.255.255.3 next-hop-self all
 neighbor 10.255.255.3 send-label
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
!
!
!
!
!
!         
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
 login
 transport input none
!
!
end

P:

P_2#sh run
Building configuration...

Current configuration : 2026 bytes
!
! Last configuration change at 20:02:07 UTC Wed Jan 2 2019
!
version 15.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname P_2
!
boot-start-marker
boot-end-marker
!
aqm-register-fnf
!
!
no aaa new-model
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
no ip icmp rate-limit unreachable
!
!
!
!
!
!
!
!


!
!
!
!
no ip domain lookup
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
!         
!
!
!
!
!
redundancy
!
!
ip tcp synwait-time 5
! 
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
 ip router isis 
!
interface Ethernet0/0
 ip address 10.0.2.5 255.255.255.252
 ip router isis 
 mpls ip
!
interface Ethernet0/1
 ip address 10.0.2.2 255.255.255.252
 ip router isis 
 mpls ip
!
interface Ethernet0/2
 no ip address
 shutdown
!
interface Ethernet0/3
 no ip address
 shutdown
!
interface Ethernet1/0
 no ip address
 shutdown
!
interface Ethernet1/1
 no ip address
 shutdown
!
interface Ethernet1/2
 no ip address
 shutdown
!
interface Ethernet1/3
 no ip address
 shutdown
!
interface Serial2/0
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial2/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial2/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial2/3
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/0
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial3/3
 no ip address
 shutdown
 serial restart-delay 0
!
router isis
 net 49.0001.0030.0300.3003.00
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!         
!
!
!
!
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
 login
 transport input none
!
!
end

ABR2:

root# run show configuration 
## Last commit: 2019-01-02 18:41:19 UTC by root
version 17.3R1.10;
system {
    syslog {
        user * {
            any emergency;
        }
        file messages {
            any notice;
            authorization info;
        }
        file interactive-commands {
            interactive-commands any;
        }
    }
    ## Warning: missing mandatory statement(s): 'root-authentication'
}
interfaces {
    em0 {
        unit 0 {
            family inet {
                address 10.0.3.1/24;
            }
            family mpls;                
        }
    }
    em1 {
        unit 0 {
            family inet {
                address 10.0.2.6/30;
            }
            family iso;
            family mpls;
        }
    }
    lo0 {
        unit 0 {
            family inet {
                address 10.255.255.3/32;
            }
            family iso {
                address 49.0001.0102.5525.5003.00;
            }
        }
    }
}
routing-options {                       
    autonomous-system 100;
}
protocols {
    mpls {
        interface em1.0;
        interface em0.0;
    }
    bgp {
        group ibgp {
            type internal;
            local-address 10.255.255.3;
            family inet {
                labeled-unicast;
            }
            export next-hop-self;
            cluster 10.255.255.3;
            peer-as 100;
            neighbor 10.255.255.2;
            neighbor 10.255.255.4;
        }
    }
    isis {
        interface em1.0;                
        interface lo0.0;
    }
    ospf {
        area 0.0.0.0 {
            interface em0.0;
            interface lo0.0;
        }
    }
    ldp {
        interface em0.0;
        interface em1.0;
    }
}
policy-options {
    policy-statement next-hop-self {
        term 1 {
            from route-type internal;
            then {
                next-hop self;
            }
        }
    }
}                                       

PE2:

root# run show configuration    
## Last commit: 2019-01-02 17:23:09 UTC by root
version 17.3R1.10;
system {
    syslog {
        user * {
            any emergency;
        }
        file messages {
            any notice;
            authorization info;
        }
        file interactive-commands {
            interactive-commands any;
        }
    }
    ## Warning: missing mandatory statement(s): 'root-authentication'
}
interfaces {
    em1 {
        unit 0 {
            family inet {
                address 10.0.3.2/24;
            }
            family mpls;                
        }
    }
    lo0 {
        unit 0 {
            family inet {
                address 10.255.255.4/32;
            }
        }
    }
}
routing-options {
    autonomous-system 100;
}
protocols {
    mpls {
        interface em1.0;
    }
    bgp {
        group ibgp {
            type internal;
            local-address 10.255.255.4;
            family inet {
                labeled-unicast;        
            }
            export BGP_import_Lo0;
            peer-as 100;
            neighbor 10.255.255.3;
        }
    }
    ospf {
        area 0.0.0.0 {
            interface em1.0;
            interface lo0.0;
        }
    }
    ldp {
        interface em1.0;
    }
}
policy-options {
    policy-statement BGP_import_Lo0 {
        from {
            route-filter 10.255.255.4/32 exact;
        }
        then accept;
    }                                   
}
5
  • I am guessing it may be connected with RRs not reflecting routes that are not best... Juniper also knows 10.255.255.4/32 via OSPF which is being used 10.255.255.4/32 *[OSPF/10] 04:04:45, metric 1 > to 10.0.3.2 via em0.0 [BGP/170] 00:41:25, localpref 100, from 10.255.255.4 AS path: I, validation-state: unverified > to 10.0.3.2 via em0.0 – Cariffo Jan 2 '19 at 19:22
  • A diagram would go a long way to help us understand. Also, OSPF will be preferred over iBGP. – Ron Maupin Jan 2 '19 at 19:26
  • im sorry, i have updated the question and even pasted the configuration link :) – Cariffo Jan 2 '19 at 20:10
  • Totally unrelated to your question, but run show configuration is a really complex way of requesting the configuration in edit mode. show would be enough. – Teun Vink Jan 2 '19 at 22:14
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can provide and accept your own answer. – Ron Maupin Dec 14 '19 at 18:20
3

Ok so i now know what the problem was...

The thing is that Juniper and Cisco behaves a lot differently

Cisco: if you have a BGP route learned but it already is in the routing table (from for example IGP) Cisco will still take it as best from BGP but show you a RIB-failure but still will reflect it to RR clients

Juniper: if you have a BGP route learned but it already is in the routing table (from for example IGP) it wont reflect it if it is not being used for routing

i had to change the preference so that in the routing table that BGP route was being used over the OSPF one

1
  • Yes, that is what I explained in my comment above. Cisco calls it "administrative distance" or "AD", and Juniper calls it "preference values." – Ron Maupin Jan 2 '19 at 21:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.