Routing

Expand all | Collapse all

Native IPv6 iBGP Peering and Route Reflection Issue

Jump to Best Answer
  • 1.  Native IPv6 iBGP Peering and Route Reflection Issue

    Posted 07-27-2020 16:37

    Hello J-NET Community,

    I am trying to configure IPv6 iBGP Peering to the Route-Reflectors from a PE router. I have two VRF's that I would like to be reflected in the iBGP network. iBGP for IPv4 is working fine. Since I have IPv6 running natively using LDP as an IGP, I dont want/have to do 6PE/6VPE or IPv6 over IPv4 Tunnelling.
    I am configuring a separate BGP group for IPv6-Only neighbors. group qc_i is the IPv6 iBGP peering group.

    When configuring one of the PE routers to setup iBGP Peering to the Route Reflector, I run into an error

    Here's my config:

    [edit protocols bgp]

    group qc_i { ... }

    +    group qc_v6_i {

    +        type internal;
    +        local-address 2620:xxx:xxxx:x::a;

    +        family inet6-vpn {

    +            any;

    +        }

    +        multipath {

    +            multiple-as;

    +        }

    +        neighbor 2620:xxx:xxxx:x::1 {

    +            description "Route Reflector";

    +        }

    +    }


    Error:

    [edit protocols]

      'bgp'

        Error in neighbor 2620:xxx:xxxx:x::1 of group qc_v6_i:

    Local IPv4 address must be configured under non-IPv6 NLRI with an IPv6 n

    error: configuration check-out failed


    I also tried specifically assigning the address-family at the neighbor level but I still get the same error.

    [edit protocols bgp]

    group qc_i { ... }

    +    group qc_v6_i {

    +        type internal;

    +        local-address 2620:xxx:xxxx:x::a;

    +        family inet6 {

    +            any;

    +        }

    +        multipath {

    +            multiple-as;

    +        }

    +        neighbor 2620:xxx:xxxx:x::1 {

    +            description "Route Reflector";

    +            family inet6-vpn {

    +                any;

    +            }

    +        }

    +    }



    After configuring a Local IPv4 address as instructed by the error, I still get an error where it asks that both the local and peer addresses must be from the same address-family.
    Should I have to enable address-family inet6-vpn on my lo0 interface?

    +    group qc_v6_i {

    +        type internal;

    +        local-address 2620:xxx:xxxx:x::a;

    +        family inet6-vpn {

    +            any;

    +        }

    +        multipath {

    +            multiple-as;

    +        }

    +        neighbor 2620:xxx:xxxx:x::1 {

    +            description "Route Reflector";

    +            local-address 10.255.4.9;

    +        }

    +    }

    Error:

    [edit protocols]

      'bgp'

        Error in neighbor 2620:xxx:xxxx:x::1 of group qc_v6_i:

    local and peer addresses must be from the same family

    error: configuration check-out failed

    I also tried to configure an IPv6 Local address but same result

    [edit protocols bgp]

         group qc_i { ... }

    +    group qc_v6_i {

    +        type internal;

    +        family inet6-vpn {

    +            any;

    +        }

    +        multipath {

    +            multiple-as;

    +        }

    +        neighbor 2620:xxx:xxx:x::1 {

    +            local-address 2620:xxx:xxxx:x::a;

    +            family inet6-vpn {

    +                unicast;

    +            }

    +        }

    +    }

    [edit protocols]

      'bgp'

        Error in neighbor 2620:xxx:xxxx:x::1 of group qc_v6_i:

    Local IPv4 address must be configured under non-IPv6 NLRI with an IPv6 n

    error: configuration check-out failed

     

    I tried this, and it seems to work, but I dont think this neighborship will advertise ipv6-vpn routes

     

    +    group qc_v6_i {

    +        type internal;

    +        local-address 2620:xxx:xxxx:x::a;

    +        family inet6-vpn {

    +            any;

    +        }

    +        multipath {

    +            multiple-as;

    +        }

    +        neighbor 2620:xxx:xxxx:x::1 {

    +            description "Route Reflector";

    +            family inet6 {

    +                unicast;

    +            }

    +        }

    +    }


    What am I missing?

    Thanks in advance



  • 2.  RE: Native IPv6 iBGP Peering and Route Reflection Issue
    Best Answer

    Posted 07-27-2020 20:27

    Hello,

    Here is the working Route Reflector configuration for You:

     

     

    [edit protocols bgp]
    +    group MPBGP6 {
    +        type internal;
    +        local-address fd::5;
    +        family inet6-vpn {
    +            unicast {
    +                local-ipv4-address 198.51.100.5;
    +            }
    +        }
    +        cluster 0.0.0.5;
    +        neighbor fd::1;
    +        neighbor fd::3;
    +    }
    [edit protocols mpls]
    +   ipv6-tunneling;

     

    The working configuration for RR client:

     

    [edit protocols mpls]
    +   ipv6-tunneling;
    [edit protocols bgp]
    +    group RRC6 {
    +        type internal;
    +        local-address fd::1;
    +        family inet6-vpn {
    +            unicast {
    +                local-ipv4-address 198.51.100.1;
    +            }
    +        }
    +        neighbor fd::5;
    +    }

     

     

    BUT - You also have to have a working MPLS transport layer between all Your clients for this configurations to work. 

    The working MPLS transport layer between clients and Route Reflector is also advised but not strictly necessary for BGP NH resolution on RR - You can use the below static ::/0 route trick on RR to achieve it:

     

    set routing-options rib inet6.3 static route ::/0 discard

     

    HTH

    Thx

    Alex

     

     

     

     



  • 3.  RE: Native IPv6 iBGP Peering and Route Reflection Issue

    Posted 07-27-2020 20:49

    Hi Alex,
    Thanks for your reply. I will test it out and let you know.

    I do have IPv6 MPLS running and I am using SPRING with ISIS, although, my network is only PE-'s and I dont have any "P" routers. I am not doing any TE as of yet. All PR's are connected via point-to-point links.

    Will "ipv6-tunneling" be required, given IPv6 MPLS is working already, since I my inet6.3 route table is already populated with the Native IPv6 Loopback IP's.

    Appreciate your response.

    Thanks,
    Harshil



  • 4.  RE: Native IPv6 iBGP Peering and Route Reflection Issue

    Posted 07-27-2020 21:09

    Hello,

     


    @hjhaveri wrote:

     

    I do have IPv6 MPLS running and I am using SPRING with ISIS,

     

     

    AFAIK, 6VPE over SPRING-ISIS is not formally supported although it may work in the lab.

     

     

     


    @hjhaveri wrote:

     

    Will "ipv6-tunneling" be required, given IPv6 MPLS is working already, since I my inet6.3 route table is already populated with the Native IPv6 Loopback IP's.

     

    The JUNOS default is that the BGP NH for VPNv6 NLRI is the mapped-v4 IPv6 address. From my earlier example, the BGP NH for VPNv6 NLRI sent from RR client to Route Reflector will be ::ffff:198.51.100.1 and NOT the fd::1 (native lo0.0 IPv6 address).

    Hence, You need :

    1/ MPLS transport based on IPv4, AND

    2/ "ipv6-tunneling" knob

    OR

    1/ MPLS transport based on IPv6 , AND

    2/ BGP export policy on RR clients to rewrite VPNv6 BGP NH to IPv6 address

     

    HTH

    Thx

    Alex

     



  • 5.  RE: Native IPv6 iBGP Peering and Route Reflection Issue

    Posted 07-30-2020 09:54

    Thank you @aarseniev
    I was able to deploy the code with the local-ipv4-address and ipv6-tunneling and it worked as expected.
    Appreciate your help!