Juniper Martini PW LDP Requested VLAN ID
So this is a short post. I’m studying for the JNCIP-SP and I found very interesting that although l2circuits / Martini PWs need the VLANs at both ends to match, this disappears from the LDP label mapping if there’s outer-vlan-map swap present
PE configs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
fabrizzio@PE01# show interfaces ge-0/0/4.150
encapsulation vlan-ccc;
vlan-id 150;
fabrizzio@PE01# show protocols l2circuit neighbor 10.254.0.12 interface ge-0/0/4.150
virtual-circuit-id 2;
fabrizzio@PE03# show interfaces ge-0/0/3.200
encapsulation vlan-ccc;
vlan-id 200;
input-vlan-map {
swap;
vlan-id 150;
}
output-vlan-map swap;
fabrizzio@PE03# show protocols l2circuit neighbor 10.254.0.10 interface ge-0/0/3.200
virtual-circuit-id 2;
This does work just fine because PE03 is doing the job of the VLAN swapping in both directions.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
fabrizzio@PE01> show l2circuit connections interface ge-0/0/4.150 | find Nei
Neighbor: 10.254.0.12
Interface Type St Time last up # Up trans
ge-0/0/4.150(vc 2) rmt Up Jun 15 09:01:54 2024 1
Remote PE: 10.254.0.12, Negotiated control-word: Yes (Null)
Incoming label: 299968, Outgoing label: 299968
Negotiated PW status TLV: No
Local interface: ge-0/0/4.150, Status: Up, Encapsulation: VLAN
Flow Label Transmit: No, Flow Label Receive: No
fabrizzio@PE03> show l2circuit connections interface ge-0/0/3.200 | find Nei
Neighbor: 10.254.0.10
Interface Type St Time last up # Up trans
ge-0/0/3.200(vc 2) rmt Up Jun 15 08:19:26 2024 1
Remote PE: 10.254.0.10, Negotiated control-word: Yes (Null)
Incoming label: 299968, Outgoing label: 299968
Negotiated PW status TLV: No
Local interface: ge-0/0/3.200, Status: Up, Encapsulation: VLAN
Flow Label Transmit: No, Flow Label Receive: No
LDP database
I have two Martini PWs built between these PEs.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
fabrizzio@PE01> show ldp database session 10.254.0.12 extensive l2circuit
Input label database, 10.254.0.10:0--10.254.0.12:0
Labels received: 14
Label Prefix
299952 L2CKT CtrlWord VLAN VC 1
MTU: 1982 Requested VLAN ID: 100 Flow Label T Bit: 1 Flow Label R Bit: 1
State: Active
Age: 59:44
VCCV Control Channel types:
PWE3 control word
MPLS router alert label
MPLS PW label with TTL=1
VCCV Control Verification types:
LSP ping
BFD with PW-ACH-encapsulation for Fault Detection
BFD with IP/UDP-encapsulation for Fault Detection
Label Prefix
299968 L2CKT CtrlWord VLAN VC 2
MTU: 1982 Flow Label T Bit: 0 Flow Label R Bit: 0
State: Active
Age: 50:13
VCCV Control Channel types:
PWE3 control word
MPLS router alert label
MPLS PW label with TTL=1
VCCV Control Verification types:
LSP ping
BFD with PW-ACH-encapsulation for Fault Detection
BFD with IP/UDP-encapsulation for Fault Detection
Output label database, 10.254.0.10:0--10.254.0.12:0
Labels advertised: 14
Label Prefix
299952 L2CKT CtrlWord VLAN VC 1
MTU: 1982 Requested VLAN ID: 100
PW status code: 0x0
Flow Label T Bit: 1 Flow Label R Bit: 1
State: Active
Age: 1:04:01
VCCV Control Channel types:
PWE3 control word
MPLS router alert label
MPLS PW label with TTL=1
VCCV Control Verification types:
LSP ping
BFD with PW-ACH-encapsulation for Fault Detection
BFD with IP/UDP-encapsulation for Fault Detection
Label Prefix
299968 L2CKT CtrlWord VLAN VC 2
MTU: 1982 Requested VLAN ID: 150 Flow Label T Bit: 0 Flow Label R Bit: 0 <<<<<<<<<<<<<<<
State: Active
Age: 50:51
VCCV Control Channel types:
PWE3 control word
MPLS router alert label
MPLS PW label with TTL=1
VCCV Control Verification types:
LSP ping
BFD with PW-ACH-encapsulation for Fault Detection
BFD with IP/UDP-encapsulation for Fault Detection
The interesting part is that as seen right now, the label mapping PE01 receives from PE03 (label 299968) doesn’t contain any requested VLAN ID. The mapping sent from PE01 to PE03 (same label 299968) does request the VLAN 150.
Adding output-vlan-map swap
Added on PE01 side
1
2
3
4
fabrizzio@PE01# show interfaces ge-0/0/4.150
encapsulation vlan-ccc;
vlan-id 150;
output-vlan-map swap;
Now PE01 doesn’t request any VLAN :)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
fabrizzio@PE01> show ldp database session 10.254.0.12 extensive l2circuit
Input label database, 10.254.0.10:0--10.254.0.12:0
Labels received: 14
Label Prefix
299952 L2CKT CtrlWord VLAN VC 1
MTU: 1982 Requested VLAN ID: 100 Flow Label T Bit: 1 Flow Label R Bit: 1
State: Active
Age: 1:03:03
VCCV Control Channel types:
PWE3 control word
MPLS router alert label
MPLS PW label with TTL=1
VCCV Control Verification types:
LSP ping
BFD with PW-ACH-encapsulation for Fault Detection
BFD with IP/UDP-encapsulation for Fault Detection
Label Prefix
299968 L2CKT CtrlWord VLAN VC 2
MTU: 1982 Flow Label T Bit: 0 Flow Label R Bit: 0
State: Active
Age: 53:32
VCCV Control Channel types:
PWE3 control word
MPLS router alert label
MPLS PW label with TTL=1
VCCV Control Verification types:
LSP ping
BFD with PW-ACH-encapsulation for Fault Detection
BFD with IP/UDP-encapsulation for Fault Detection
Output label database, 10.254.0.10:0--10.254.0.12:0
Labels advertised: 14
Label Prefix
299952 L2CKT CtrlWord VLAN VC 1
MTU: 1982 Requested VLAN ID: 100
PW status code: 0x0
Flow Label T Bit: 1 Flow Label R Bit: 1
State: Active
Age: 1:07:20
VCCV Control Channel types:
PWE3 control word
MPLS router alert label
MPLS PW label with TTL=1
VCCV Control Verification types:
LSP ping
BFD with PW-ACH-encapsulation for Fault Detection
BFD with IP/UDP-encapsulation for Fault Detection
Label Prefix
299968 L2CKT CtrlWord VLAN VC 2
MTU: 1982 Flow Label T Bit: 0 Flow Label R Bit: 0 <<<<<<<<<<<<<<<
State: Active
Age: 54:10
VCCV Control Channel types:
PWE3 control word
MPLS router alert label
MPLS PW label with TTL=1
VCCV Control Verification types:
LSP ping
BFD with PW-ACH-encapsulation for Fault Detection
BFD with IP/UDP-encapsulation for Fault Detection
I just found this interesting.
This post is licensed under CC BY 4.0 by the author.