Routing

 View Only
last person joined: 2 days ago 

Ask questions and share experiences about ACX Series, CTP Series, MX Series, PTX Series, SSR Series, JRR Series, and all things routing, including portfolios and protocols.
  • 1.  BGP bgp.l3vpn-inet6. optimal route reflection ORR problems

    Posted 5 days ago

    Hello,

    I work on a network with BGP MPLS VPNL3 implemented, with MX10003, MX10008 and PTX routers. We acquired Juniper vRR route reflectors to use, as part of the design we made, we want to use Optimal Route Reflection (ORR). For the correct operation of the bgp vpnv4 routes we configured the rib resolution for the bgp.l3vpn.0 table to be done through inet.0 and not through inet.3 and ORR is working as expected.

    We are trying this in a lab, and we have problems with the vpnv6 routes, I understand that for it to work it is necessary to turn off ipv6-tunneling but it has not worked since although the ORR resolves the netx-hop well, the routes go to hidden.

    I would appreciate if someone could help me with this problem since my company acquired the vRR and I need to make the ORR work as soon as possible.

    With ipv6-tunneling the next hop is chosen without using orr (next hop ::ffff:192.168.3.1)

    juniper@vrr2# ...2 rd-prefix 65000:1:3000:2:1:1::/64 detail

    bgp.l3vpn-inet6.0: 240000 destinations, 480000 routes (240000 active, 0 holddown, 0 hidden)
    * 65000:1:3000:2:1:1::/64 (2 entries, 0 announced)
     BGP group br-2 type Internal
              Route Distinguisher: 65000:1
              VPN Label: 20
              Nexthop: ::ffff:192.168.3.1
              Localpref: 0
              AS path: [65000] I
              Communities: target:1:1 target:100:1
              Cluster ID: 0.0.0.125
              Originator ID: 193.0.0.1
              
     After deleting ipv6-tunneling the routes become hidden since the next hop is not resolved, but the next hop is resolved according to orr ::ffff:192.168.4.1.

     juniper@vrr2# delete protocols mpls ipv6-tunneling

    [edit]
    juniper@vrr2# commit
    commit complete

    juniper@vrr2# run show route table bgp.l3vpn-inet6.0 hidden extensive

    bgp.l3vpn-inet6.0: 240000 destinations, 480000 routes (0 active, 0 holddown, 480000 hidden)

    65000:1:3000:2:1:1::/64 (2 entries, 0 announced)
                      BGP        Preference: 170/-1
                                    Route Distinguisher: 65000:1
                                    Next hop type: Unusable, Next hop index: 0
                                    Address: 0x1db848dc
                                    Next-hop reference count: 60048
                                    Kernel Table Id: 0
                                    Source: 192.168.4.1
                                    State: <Hidden Int Ext ProtectionPath ProtectionCand>
                                    Local AS: 65000 Peer AS: 65000
                                    Age: 1:46
                                    Validation State: unverified
                                    Task: BGP_65000.192.168.4.1
                                    AS path: I
                                    Communities: target:1:1 target:100:1
                                    Accepted
                                    VPN Label: 16
                                    Localpref: 0
                                    Router ID: 194.0.0.1
                                    Thread: junos-bgpshard5
                                    Indirect next hops: 1
                                                    Protocol next hop: ::ffff:192.168.4.1 ResolvState: PnhUnresolv
                                                    Label operation: Push 16
                                                    Label TTL action: prop-ttl
                                                    Load balance label: Label 16: None;
                                                    Indirect next hop: 0x0 - INH Session ID: 0


    juniper@vrr2# show routing-options
    resolution {
            rib bgp.l3vpn.0 {
                    resolution-ribs inet.0;
            }
    }
    autonomous-system 65000;

    Regards

    José



    ------------------------------
    JOSE RESTAINO
    ------------------------------


  • 2.  RE: BGP bgp.l3vpn-inet6. optimal route reflection ORR problems
    Best Answer

    Posted 5 days ago
    Edited by JOSE RESTAINO 3 days ago

    Hi, 

    What ipv6-tunnelling does is copy all routes from inet.3 table in inet6.3 table in an IPV6 format. In your case, 192.168.4.1  is present in inet.3 table and copied as ::ffff:192.168.4.1  in inet6.3 table. 

    When you delete this knob, you no longer have an IPv6 route in inet6.3 table, and you cannot resolve the NH. 

    You can get around this by configuring :

         routing-options {

             rib inet6.3 static route 0::0/0 discard;

    OR 

    resolution {

        rib bgp.l3vpn-inet6.0 {

            resolution-ribs [ inet6.3 inet.6 ];   <--- BUT in this case the  ::ffff:192.168.4.1  needs to be present in inet6 table.  

        }

    }

    Regards, 

    Alin 



    ------------------------------
    Bandiu Alin-Filip-Gabriel
    ------------------------------



  • 3.  RE: BGP bgp.l3vpn-inet6. optimal route reflection ORR problems

    Posted 3 days ago

    Thanks for the reply, we were able to get it working both ways. In the first one we need to import the inet.0 in the inet6.3 and inet6.0 and in the second one we did not requerie to put the inet6.3 in the resolution rib, but as you said we need to put ::ffff:192.168.4.1 in the inet6 table.

    Regards



    ------------------------------
    JOSE RESTAINO
    ------------------------------



  • 4.  RE: BGP bgp.l3vpn-inet6. optimal route reflection ORR problems

    Posted 3 days ago

    As already mentioned, ipv6-tunneling under mpls copies all routes from inet.3 to inet6.3, where next-hop will be ipv4-mapped ipv6 address (in the format of 0:0:0:0:0:ffff:a.b.c.d, where a.b.c.d will be ipv4 loopback of PE.

    IMHO, easiest way would be to add "set routing-options rib inet6.3 static route 0:0:0:0:0:ffff::/96 receive" command, which will make sure that routes are resolved in inet6.3 table properly.



    ------------------------------
    FARID AKHUNDOV
    ------------------------------