Routing

Expand all | Collapse all

6PE in lab not working

Jump to Best Answer
  • 1.  6PE in lab not working

    Posted 01-28-2020 05:10

    Hello everyone.

    I`m trying to set up 6PE schema in my lab using vMX as PE/P routers and vSRX as CE.

    Here what topology looks like:

    image.png

     

    Main goal is to ping inet6 address 2a00:f440:0:673::5 on vsrx called INTERNET from vsrx called CE-6PE.

    INTERNET config looks like this:

    show configuration interfaces ge-0/0/0
    unit 0 {
        family inet {
            address 192.168.100.0/31;
        }
        family inet6 {
            address 2a00:f440:0:673::5/126;
        }
    }
    

    BGP neighbors:

    show configuration protocols bgp
    group INTERNET {
        family inet {
            unicast;
        }
        family inet6 {
            unicast;
        }
        export EXPORT-DEFAULT;
        peer-as 65000;
        neighbor 192.168.100.1;
        neighbor 192.168.101.1;
    }
    
     policy-statement EXPORT-DEFAULT
    term 1 {
        from {
            route-filter 0.0.0.0/0 exact;
        }
        then accept;
    }
    term 2 {
        from {
            route-filter ::/0 exact;
        }
        then {
            next-hop 2a00:f440:0:673::5;
            accept;
        }
    }
    then reject;
    
    show route advertising-protocol bgp 192.168.100.1
    
    inet.0: 15 destinations, 24 routes (15 active, 0 holddown, 0 hidden)
      Prefix                  Nexthop              MED     Lclpref    AS path
    * 0.0.0.0/0               Self                                    I
    
    inet6.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
      Prefix                  Nexthop              MED     Lclpref    AS path
    * ::/0                    2a00:f440:0:673::5                      I
    

    configuration of BNG1 which is ASBR in this topology:

    show configuration interfaces ge-0/0/2
    unit 0 {
        family inet {
            address 192.168.100.1/31;
        }
        family inet6 {
            address 2a00:f440:0:673::6/126;
        }
    }
    
     show configuration protocols bgp
    group ibgp {
        type internal;
        local-address 10.0.0.1;
        family inet {
            unicast;
        }
        family inet6 {
            labeled-unicast {
                explicit-null;
            }
        }
        family evpn {
            signaling;
        }
        family route-target;
        export EXPORT-DEFAULT;
        cluster 0.0.0.10;
        multipath;
        neighbor 10.0.0.3;
    }
    group INTERNET {
        import EBGP-IMPORT;
        family inet {
            unicast;
        }
        family inet6 {
            unicast;
        }
        export EBGP-DEFAULT;
        neighbor 192.168.100.0 {
            peer-as 65100;
        }
    }
    
    show route receive-protocol bgp 192.168.100.0
    
    inet.0: 23 destinations, 23 routes (23 active, 0 holddown, 0 hidden)
      Prefix                  Nexthop              MED     Lclpref    AS path
    * 0.0.0.0/0               192.168.100.0                           65100 I
    
    inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
    
    iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
    
    mpls.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
    
    inet6.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
      Prefix                  Nexthop              MED     Lclpref    AS path
    * ::/0                    2a00:f440:0:673::5                      65100 I
    
    inet6.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
    
    bgp.rtarget.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
    
     show route advertising-protocol bgp 192.168.100.0
    
    inet.0: 23 destinations, 23 routes (23 active, 0 holddown, 0 hidden)
      Prefix                  Nexthop              MED     Lclpref    AS path
    * 10.0.0.1/32             Self                                    I
    * 10.0.0.2/32             Self                 10                 I
    * 10.0.0.3/32             Self                 10                 I
    * 10.0.0.4/32             Self                 20                 I
    * 10.0.0.5/32             Self                 30                 I
    * 10.0.0.6/32             Self                 20                 I
    * 10.0.0.100/32           Self                 10                 I
    * 10.0.0.252/30           Self                 40                 I
    * 10.10.10.0/24           Self                 40                 I
    
    inet6.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
      Prefix                  Nexthop              MED     Lclpref    AS path
    * 2a00:f440:a::/48        2a00:f440:0:673::6                      I
    

    10.0.0.3 is route-reflector:

    table inet6.0 advertising-protocol bgp 10.0.0.3 detail
    
    inet6.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
    * ::/0 (1 entry, 1 announced)
     BGP group ibgp type Internal
         Route Label: 2
         Nexthop: Self
         Flags: Nexthop Change
         Localpref: 100
         AS path: [65000] 65100 I
         Communities: 65000:0
    

    Label 2 as expected.

     

     

    There is LSP to PE2:

    show configuration protocols mpls
    ipv6-tunneling;
    label-switched-path BNG1-PE2 {
        to 10.0.0.5;
        inter-domain;
    }
    interface ge-0/0/0.0;
    interface ge-0/0/1.0;
    

    and it is up and running:

     show mpls lsp ingress
    Ingress LSP: 1 sessions
    To              From            State Rt P     ActivePath       LSPname
    10.0.0.5        10.0.0.1        Up     0 *                      BNG1-PE2
    Total 1 displayed, Up 1, Down 0
    

    On RR(10.0.0.3)

    show configuration protocols bgp
    group ibgp {
        type internal;
        local-address 10.0.0.3;
        family inet {
            unicast;
        }
        family inet-vpn {
            unicast;
        }
        family inet6 {
            labeled-unicast {
                explicit-null;
            }
        }
        family evpn {
            signaling;
        }
        family route-target {
            advertise-default;
        }
        cluster 0.0.0.100;
        neighbor 10.0.0.1;
        neighbor 10.0.0.5;
        neighbor 10.0.0.6;
        neighbor 10.0.0.2;
    }
    

    routes advertised from RR(P1) to PE2 (10.0.0.5):

    advertising-protocol bgp 10.0.0.5 detail
    
    inet6.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
    * ::/0 (1 entry, 1 announced)
     BGP group ibgp type Internal
         Route Label: 2
         Nexthop: ::ffff:10.0.0.1
         Localpref: 100
         AS path: [65000] 65100 I
         Communities: 65000:0
         Cluster ID: 0.0.0.100
         Originator ID: 10.0.0.1
    

    route advertised fro RR(P1) to BNG1(10.0.0.1):

    able inet6.0 advertising-protocol bgp 10.0.0.1 detail
    
    inet6.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
    * 2a00:f440:a:2::4/127 (1 entry, 1 announced)
     BGP group ibgp type Internal
         Route Label: 2
         Nexthop: ::ffff:10.0.0.5
         Localpref: 100
         AS path: [65000] I
         Cluster ID: 0.0.0.100
         Originator ID: 10.0.0.5
    

    Link between PE2 and CE-6PE is redistributed to BGP on PE2 with a policy:

    show configuration policy-options policy-statement EXPORT-BGP
    term 1 {
        from {
            route-filter 10.0.0.0/24 orlonger;
        }
        then accept;
    }
    term 2 {
        from {
            route-filter 2a00:f440:a:2::4/127 exact;
        }
        then accept;
    }
    

    on CE-6PE:

    show configuration interfaces ge-0/0/0
    unit 0 {
        family inet {
            address 10.0.0.254/30;
        }
        family inet6 {
            address 2a00:f440:a:2::5/127;
        }
    }
    
    

    With static route pointing to ge-0/0/3 interface on PE2:

    show configuration routing-options
    rib inet6.0 {
        static {
            route ::/0 next-hop 2a00:f440:a:2::4;
        }
    

    PE2 config:

    label-switched-path PE1-BNG1 {
        to 10.0.0.1;
        inter-domain;
    }
    interface ge-0/0/0.0;
    interface ge-0/0/1.0;
    
     show configuration protocols bgp
    group ibgp {
        type internal;
        local-address 10.0.0.5;
        family inet {
            unicast;
        }
        family inet6 {
            labeled-unicast {
                explicit-null;
            }
        }
        family evpn {
            signaling;
        }
        family route-target;
        export EXPORT-BGP;
        neighbor 10.0.0.3;
    }
    

    ::/0 is in inet6.0 table:

    ::/0               *[BGP/170] 18:39:53, localpref 100, from 10.0.0.3
                          AS path: 65100 I, validation-state: unverified
                        >  to 192.168.0.11 via ge-0/0/0.0, label-switched-path PE1-BNG1
    

    After checking forwarding plane everything seems ok:

    The path is CE-6PE->PE2->PE1->P1->BNG1->INTERNET

    CE-6PE:

    show route 2a00:f440:0:673::5
    
    inet6.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    ::/0               *[Static/5] 1d 02:16:27
                        >  to 2a00:f440:a:2::4 via ge-0/0/0.0
    

    PE2:

    show route 2a00:f440:0:673::5 detail
    
    inet6.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
    ::/0 (1 entry, 1 announced)
            *BGP    Preference: 170/-101
                    Next hop type: Indirect, Next hop index: 0
                    Address: 0xce34330
                    Next-hop reference count: 2
                    Source: 10.0.0.3
                    Next hop type: Router, Next hop index: 514
                    Next hop: 192.168.0.11 via ge-0/0/0.0, selected
                    Label-switched-path PE1-BNG1
                    Label operation: Push 2, Push 300176(top)
                    Label TTL action: prop-ttl, prop-ttl(top)
                    Load balance label: Label 2: None; Label 300176: None;
                    Label element ptr: 0xcfdb224
                    Label parent element ptr: 0xcfdae34
                    Label element references: 1
                    Label element child references: 0
                    Label element lsp id: 0
                    Session Id: 0x140
                    Protocol next hop: ::ffff:10.0.0.1
                    Label operation: Push 2
                    Label TTL action: prop-ttl
                    Load balance label: Label 2: None;
                    Indirect next hop: 0xdd04cc0 1048575 INH Session ID: 0x14f
                    State: <Active Int Ext>
                    Local AS: 65000 Peer AS: 65000
                    Age: 18:45:18   Metric2: 30
                    Validation State: unverified
                    Task: BGP_65000.10.0.0.3
                    Announcement bits (2): 0-KRT 4-Resolve tree 5
                    AS path: 65100 I  (Originator)
                    Cluster list:  0.0.0.100
                    Originator ID: 10.0.0.1
                    Communities: 65000:0
                    Accepted
                    Route Label: 2
                    Localpref: 100
                    Router ID: 10.0.0.3
    

    PE1:

    show route table mpls.0 label 300176 detail
    
    mpls.0: 13 destinations, 13 routes (13 active, 0 holddown, 0 hidden)
    300176 (1 entry, 1 announced)
            *RSVP   Preference: 7/1
                    Next hop type: Router, Next hop index: 591
                    Address: 0xce343f0
                    Next-hop reference count: 2
                    Next hop: 192.168.0.2 via ge-0/0/1.0, selected
                    Label-switched-path PE1-BNG1
                    Label operation: Swap 299872
                    Load balance label: Label 299872: None;
                    Label element ptr: 0xcfdbb90
                    Label parent element ptr: 0x0
                    Label element references: 2
                    Label element child references: 0
                    Label element lsp id: 0
                    Session Id: 0x140
                    State: <Active Int AckRequest Accounting EL-capable>
                    Local AS: 65000
                    Age: 1d 2:47:14         Metric: 1
                    Validation State: unverified
                    Task: RSVP
                    Announcement bits (1): 1-KRT
                    AS path: I
    

    P1:

    show route table mpls.0 label 299872 detail
    
    mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
    299872 (1 entry, 1 announced)
            *RSVP   Preference: 7/1
                    Next hop type: Router, Next hop index: 584
                    Address: 0xce35cb0
                    Next-hop reference count: 2
                    Next hop: 192.168.0.0 via ge-0/0/0.0, selected
                    Label-switched-path PE1-BNG1
                    Label operation: Pop
                    Load balance label: None;
                    Label element ptr: 0xcfdaee8
                    Label parent element ptr: 0x0
                    Label element references: 2
                    Label element child references: 0
                    Label element lsp id: 0
                    Session Id: 0x143
                    State: <Active Int AckRequest Accounting EL-capable>
                    Local AS: 65000
                    Age: 1d 2:48:20         Metric: 1
                    Validation State: unverified
                    Task: RSVP
                    Announcement bits (1): 1-KRT
                    AS path: I
    
    299872(S=0) (1 entry, 1 announced)
            *RSVP   Preference: 7/1
                    Next hop type: Router, Next hop index: 588
                    Address: 0xce34f90
                    Next-hop reference count: 2
                    Next hop: 192.168.0.0 via ge-0/0/0.0, selected
                    Label-switched-path PE1-BNG1
                    Label operation: Pop
                    Load balance label: None;
                    Label element ptr: 0xcfdb9bc
                    Label parent element ptr: 0x0
                    Label element references: 1
                    Label element child references: 0
                    Label element lsp id: 0
                    Session Id: 0x143
                    State: <Active Int AckRequest Accounting EL-capable>
                    Local AS: 65000
                    Age: 1d 2:48:20         Metric: 1
                    Validation State: unverified
                    Task: RSVP
                    Announcement bits (1): 1-KRT
                    AS path: I
    

    So the path looks like:

    pure inet 6 from CE-6PE to PE2, PE2 pushes label 300176 on top and label 2 as service label, 

     



  • 2.  RE: 6PE in lab not working
    Best Answer

    Posted 01-28-2020 05:51

    Hello,

    2 things:

    1/ "family inet6" needs to be enabled on PE core-facing interfaces. IPv6 address is not necessary, just "family inet6" is enough.

    2/ (v)SRX needs to be put either in packet-mode or IPv6 flow mode needs to be enabled

    https://kb.juniper.net/InfoCenter/index?page=content&id=KB25697&actp=METADATA

    HTH

    Thx

    Alex



  • 3.  RE: 6PE in lab not working

    Posted 01-28-2020 06:40

    Hello


    @aarseniev wrote:

    1/ "family inet6" needs to be enabled on PE core-facing interfaces. IPv6 address is not necessary, just "family inet6" is enough.

     


    Worked like a charm, thanks! 🙂