Configuration
PE1# /* If logical systems are used for the lab, then * The physical interface encapsulation (ethernet-ccc) is configured * at the global level - NOT at logical system level */ interface { ge-1/1/0 { encapsulation ethernet-ccc; unit 0 { description "PE1->CE1 | Physical interface"; } } } protocols { rsvp { /* PE1->P1 */ interface lt-0/0/10.1101; } mpls { label-switched-path PE1-to-PE2 { to 12.12.12.12; no-cspf; } /* PE1->P1 */ interface lt-0/0/10.1101; } ospf { area 0.0.0.0 { /* PE1 Loopback */ interface lo0.11; /* PE1->P1 */ interface lt-0/0/10.1101; } } connections { remote-interface-switch CE1-to-CE2 { interface ge-1/1/0.0; transmit-lsp PE1-to-PE2; receive-lsp PE2-to-PE1; } } } PE2# interface { ge-1/1/1 { encapsulation ethernet-ccc; unit 0 { description "PE2->CE2 | Physical interface"; } } } protocols { rsvp { /* PE2->P3 */ interface lt-0/0/10.123; } mpls { label-switched-path PE2-to-PE1 { to 11.11.11.11; no-cspf; } /* PE2->P3 */ interface lt-0/0/10.123; } ospf { area 0.0.0.0 { /* PE2->P3 */ interface lt-0/0/10.123; /* PE2 Loopback */ interface lo0.12; } } connections { remote-interface-switch CE2-to-CE1 { interface ge-1/1/1.0; transmit-lsp PE2-to-PE1; receive-lsp PE1-to-PE2; } } }
Verification
pe1@MX:PE1> show connections | find Connection/Circuit Connection/Circuit Type St Time last up # Up trans CE1-to-CE2 rmt-if Up Jul 20 07:08:43 1 ge-1/1/0.0 intf Up PE1-to-PE2 tlsp Up PE2-to-PE1 rlsp Up pe1@MX:PE1> show connections labels Connection/Circuit Type St Time last up # Up trans CE1-to-CE2 rmt-if Up Jul 20 07:08:43 1 Incoming labels: 300512 Outgoing labels: Push 300144
The above labels (incoming of 300512, and outgoing of 300144) are exchanged via RSVP
pe1@MX:PE1> show rsvp session Ingress RSVP: 1 sessions To From State Rt Style Labelin Labelout LSPname 12.12.12.12 11.11.11.11 Up 0 1 FF - 300144 PE1-to-PE2 Total 1 displayed, Up 1, Down 0 Egress RSVP: 1 sessions To From State Rt Style Labelin Labelout LSPname 11.11.11.11 12.12.12.12 Up 0 1 FF 300512 - PE2-to-PE1 Total 1 displayed, Up 1, Down 0 Transit RSVP: 0 sessions Total 0 displayed, Up 0, Down 0 pe1@MX:PE1> show route table mpls.0 mpls.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 0 *[MPLS/0] 01:38:01, metric 1 Receive 1 *[MPLS/0] 01:38:01, metric 1 Receive 2 *[MPLS/0] 01:38:01, metric 1 Receive 300512 *[CCC/7] 01:28:45 > via ge-1/1/0.0, Pop ge-1/1/0.0 *[CCC/7/1] 01:28:45, metric 4 > to 100.1.11.1 via lt-0/0/10.1101, label-switched-path PE1-to-PE2
Note one big difference of CCC compared to BGP/LDP based VPLS, BGP based L2VPN, LDP based L2CKT is that CCC does not support tunnel stacking. There is only one label used to encapsulate CCC traffic. For the other L2 technologies, there are two labels in use: one transport label (outer), and another inner one, which is VPN or CKT label.