Starting in Junos OS Release 17.2, the MAC pinning feature
is enabled on provider backbone bridging (PBB) and Ethernet VPN (EVPN)
integration, including customer edge (CE) interfaces and EVPN over
PBB core in both all-active or single-active mode.
When MAC pinning is enabled, the dynamically learned MAC addresses
are not allowed to move to any other interface in a bridge domain
until it is aged out and traffic received with the same source MAC
address on other bridge interfaces are discarded. This feature is
an advantage over blocking of the complete interface on duplicate
MAC detection or loop detection, as MAC pinning works at the MAC label.
This feature is local to a provider edge (PE) device and does not
require any interoperability.
Before you begin:
Configure the device interfaces, including the customer
backbone port (CBP) interface, the provider instance port (PIP) interfaces,
and the loopback interface. Assign the bridge family to the interfaces.
Assign the router ID and autonomous system ID to the device.
Configure an internal BGP group with EVPN signaling.
Enable the following protocols on the device:
To enable MAC pinning on PBB-EVPN:
- Configure the B-component routing instance.
Assign the virtual switch instance type and the CBP interface
to it. Configure other routing instance attributes like route distinguisher
and virtual routing and forwarding (VRF) target to the routing instance.
Note: Configure B-component routing instances for other CBP
interface units on the device, and assign different VLAN IDs and I-SID
lists for the different interface units.
[edit routing-instances]
user@R1# set pbbn instance-type virtual-switch
user@R1# set pbbn interface cbp-interface
user@R1# set pbbn route-distinguisher route-distinguisher-value
user@R1# set pbbn vrf-target vrf-target
- Enable PBB- EVPN integration for the B-component routing
instance.
[edit routing-instances]
user@R1# set pbbn protocols evpn pbb-evpn-core
- Enable MAC pinning for the B-component routing instance.
[edit routing-instances]
user@R1# set pbbn protocols evpn mac-pinning
- Assign instance source IDs (I-SID) list to the B-component
routing instance.
[edit routing-instances]
user@R1# set pbbn protocols evpn extended-isid-list extended-isid-list
- Configure a bridge domain for the B-component routing
instance and assign a VLAN and and I-SID list to the bridge domain.
[edit routing-instances]
user@R1# set pbbn bridge-domains bridge-domain vlan-id vlan-id
user@R1# set pbbn bridge-domains bridge-domain isid-list isid-list
- Configure the I-component routing instance.
Assign the virtual switch instance type and the PIP interface
to it.
Note: Configure I-component routing instances for other PIP
interface units on the device, and assign different bridge domains,
VLAN IDs and I-SID lists for the different interface units.
[edit routing-instances]
user@R1# set pbn instance-type virtual-switch
user@R1# set pbn interface pip-interface
- Configure bridge domain for the I-component routing instance
and assign interfaces and VLANs to the bridge domain.
[edit routing-instances]
user@R1# set pbn bridge-domains bridge-domain domain-type bridge
user@R1# set pbn bridge-domains bridge-domain vlan-id vlan-id
user@R1# set pbn bridge-domains bridge-domain interface interface-name
- Enable MAC pinning for the interface in the I-component
routing instance.
[edit routing-instances]
user@R1# set pbn bridge-domains bridge-domain bridge-options interface interface-name mac-pinning
- Configure peering between the B-component and the I-component
routing instances.
[edit routing-instances]
user@R1# set pbn bridge-domains bridge-domain pbb-options peer-instance pbbn
- Configure PBB service group and assign I-SID and VLAN
ID list.
[edit routing-instances]
user@R1# set pbn service-groups service-group pbb-service-options isid isid vlan-id-list valn-id-list