VPLS BGP Signaling L2VPN Inter-AS Option A

The Virtual Private LAN Switching (VPLS) Border Gateway Protocol (BGP) Signaling Layer 2 Virtual Private Network (L2VPN) feature simplifies the auto-discovery and signaling of all known PE devices in a VPLS instance by using BGP.

Prerequisites for VPLS BGP Signaling L2VPN Inter-AS Option A

  • The Control word must turned off for VPLS BGP signaling by using the no control-word command under a pseudowire class. For example:
    Router> enable
    Router# configure terminal
    Router(config)# pseudowire-class my_pw_class
    Router(config-pw-class)# no control-word
  • The Route Distinguisher (RD) must match for all the virtual forwarding instances (VFIs) in a VPLS domain.

Information About VPLS BGP Signaling L2VPN Inter-AS Option A

BGP Auto-discovery and Signaling for VPLS

The Virtual Private LAN Switching (VPLS) control plane is used for auto-discovery and signaling. Auto-discovery involves locating all provider edge (PE) devices that participate in a particular VPLS instance. Signaling is accomplished by configuring pseudowires for a VPLS instance. Prior to the introduction of the VPLS BGP Signaling L2VPN Inter-AS Option B feature, Label Distribution Protocol (LDP) was used for signaling and Border Gateway Protocol (BGP) was used for auto-discovery, as specified in RFC 6074. With the introduction of the VPLS BGP Signaling L2VPN Inter-AS Option B feature, the VPLS BGP Signaling L2VPN feature supports RFC 4761 by simplifying the auto-discovery and signaling of all known PE devices in a VPLS instance by using BGP for both functions. Auto-discovery is defined per VPLS instance.

Internal BGP (IBGP) peers exchange update messages of the L2VPN Address Family Identifier (AFI) and the Subsequent Address Family Identifier (SAFI) numbers with L2VPN information to perform both auto-discovery and signaling, which includes the Network Layer Reachability Information (NLRI).

Both BGP standards (RFC 6074 and RFC 4761) for the auto-discovery protocol for VPLS use the same BGP AFI (25) and SAFI (65) but they have different Network Layer Reachability Information (NLRI) encoding, which makes them incompatible with each other. CLI configuration is needed to distinguish the two encoding types as they are mutually exclusive per neighbor. The difference between the two BGP standards is:
  • RFC 6074 provides guidelines for specifying length encoding as bits.

  • RFC 4761 provides guidelines for specifying length encoding as bytes.

To detect which NLRI encoding standard is supported, the length encoding needs to be determined.

BGP L2VPN Signaling with NLRI

Network Layer Reachability Information (NLRI) enables Border Gateway Protocol (BGP) to carry supernetting information, as well as perform aggregation. Each NLRI consists of block labels that follow the structure LB, LB+1, .... , LB+VBS-1. The NLRI is exchanged between BGP devices for BGP auto-discovery with BGP signaling. The following fields are configured or auto-generated for each Virtual Private LAN Switching (VPLS) instance:

  • Length (2 Octets)

  • Route distinguisher (RD) is usually an auto-generated 8-byte VPN ID that can also be configured. This value must be unique for a VPLS bridge-domain (or instance).

  • VPLS Endpoint ID (VEID) (2 Octets). Each PE device is configured with a VEID value.

  • VPLS Endpoint Block Offset (VBO) (2 Octets).

  • VPLS Endpoint Block Size (VBS) (2 Octets).

  • Label Base (LB) (3 Octets).

  • Extended Community Type (2 Octets) - 0x800A attributes. The Route Target (RT) specified for a VPLS instance, next-hop and other Layer 2 information is carried in this encoding. An RT-based import and export mechanism similar to L3VPN is performed by BGP to perform filtering on the L2VPN NLRIs of a particular VPLS instance.

  • Encapsulation Type (1 Octet) - VPLS = 19

  • Control Flags (1 Octet)

  • Layer 2 Maximum Transmission Unit (MTU) (2 Octets)

  • Reserved (2 Octets)

How to Configure VPLS BGP Signaling L2VPN Inter-AS Option A

Enabling BGP Auto-discovery and BGP Signaling

Perform this task to enable Virtual Private LAN Service (VPLS) PE devices to discover other PE devices by BGP auto-discovery and BGP signaling functions announced through IBGP.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. l2vpn vfi context vfi-context-name
  4. vpn id vpn-id
  5. autodiscovery bgp signaling bgp
  6. ve id ve-ID-number
  7. ve range ve-range-number
  8. end

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 3

l2vpn vfi context vfi-context-name

Example:

Device(config)# l2vpn vfi context vfi1

Establishes a Layer 2 VPN (L2VPN) virtual forwarding interface (VFI) for specifying core-facing pseudowires in a Virtual Private LAN Services (VPLS) and enters L2VFI configuration mode.

  • The VFI represents an emulated LAN or a VPLS forwarder from the VPLS architectural model when using an emulated LAN interface.

Step 4

vpn id vpn-id

Example:

Device(config-vfi)# vpn id 10

Configures a VPN ID for the VPLS domain.

Step 5

autodiscovery bgp signaling bgp

Example:

Device(config-vfi)# autodiscovery bgp signaling bgp

Enables BGP auto-discovery and BGP signaling on the device.

Step 6

ve id ve-ID-number

Example:

Device(config-vfi)# ve id 1
Configures a VPLS Endpoint ID (VEID) for the NLRI exchanged between BGP devices for BGP auto-discovery with BGP signaling.
  • For example, VEID numbering sequences such as 1,2,3 or 501, 502, 503 are preferred because the VEIDs are contiguous.
  • Avoid a non-contiguous numbering scheme such as 100, 200, 300.

Repeat this step to add more VEIDs. The VEID must be unique within the same VPLS domain for all PE devices.

Note

 

If you change the VEID, then the virtual circuit (VC) reprovisions and traffic is impacted as a result.

Step 7

ve range ve-range-number

Example:

Device(config-vfi)# ve range 10

Overrides the minimum size of VPLS edge (VE) blocks.

  • The VE range value should be approximately the same as the number of neighbors (up to 100).
  • The VE range can be configured based on the number of neighboring PE devices in the network.
  • For example, if 50 PE devices are in a VPLS domain, then a VE range of 50 is better than 10 because the number of NLRIs exchanged are less and the convergence time is reduced.

Note

 

If no VE range is configured or an existing VE range value is removed, then the default VE range of 10 is applied. The default VE range should not be used if the device has many PE neighbors.

Note

 

If you change the VE range, then the VC reprovisions and traffic is impacted as a result.

Step 8

end

Example:

Device(config-vfi)# end
Exits L2 VFI configuration mode and returns to privileged EXEC mode.

Note

 

Commands take effect after the device exits L2VFI configuration mode.

Configuring BGP Signaling for VPLS Autodiscovery

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. router bgp autonomous-system-number
  4. bgp graceful-restart
  5. neighbor {ip-address | peer-group-name} remote-as autonomous-system-number
  6. address-family l2vpn vpls
  7. neighbor {ip-address | peer-group-name} activate
  8. neighbor {ip-address | peer-group-name} send-community extended
  9. neighbor {ip-address | peer-group-name} suppress-signaling-protocol ldp
  10. exit-address-family
  11. Repeat steps 1 to 10 to configure and activate other BGP neighbors in an L2VPN address family.
  12. end
  13. show l2vpn vfi
  14. show ip bgp l2vpn vpls {all [summary] | rd route-distinguisher}

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 3

router bgp autonomous-system-number

Example:

Device(config)# router bgp 100

Enters router configuration mode for the specified routing process.

Step 4

bgp graceful-restart

Example:

Device(config-router)# bgp graceful-restart

Enables the Border Gateway Protocol (BGP) graceful restart capability globally for all BGP neighbors.

Step 5

neighbor {ip-address | peer-group-name} remote-as autonomous-system-number

Example:

Device(config-router)# neighbor 198.51.100.1 remote-as 65000

Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.

  • If the autonomous-system-number argument matches the autonomous system number specified in the router bgp command, the neighbor is an internal neighbor.

  • If the autonomous-system-number argument does not match the autonomous system number specified in the router bgp command, the neighbor is an external neighbor.

  • In this example, the neighbor at 10.10.10.1 is an internal BGP neighbor.

Step 6

address-family l2vpn vpls

Example:

Device(config-router)# address-family l2vpn vpls

Specifies the L2VPN address family and enters address family configuration mode.

  • The vpls keyword specifies that the VPLS endpoint provisioning information is to be distributed to BGP peers and a L2VPN VPLS address family session is created.

Step 7

neighbor {ip-address | peer-group-name} activate

Example:

Device(config-router-af)# neighbor 198.51.100.1 activate

Enables the exchange of information with a BGP neighbor.

Step 8

neighbor {ip-address | peer-group-name} send-community extended

Example:

Device(config-router-af)# neighbor 198.51.100.1 send-community extended

Specifies that a communities attribute should be sent to a BGP neighbor.

  • In this example, an extended communities attribute is sent to the neighbor at 10.10.10.1.

Step 9

neighbor {ip-address | peer-group-name} suppress-signaling-protocol ldp

Example:

Device(config-router-af)# neighbor 198.51.100.1 suppress-signaling protocol ldp

Suppresses LDP signaling for a BGP neighbor so that BGP signaling for VPLS auto-discovery is used instead.

  • In this example, LDP signaling is suppressed for the neighbor at 10.10.10.1.

Step 10

exit-address-family

Example:

Device(config-router-af)# exit-address-family

Exits address family configuration mode and returns to router configuration mode.

Step 11

Repeat steps 1 to 10 to configure and activate other BGP neighbors in an L2VPN address family.

Step 12

end

Example:

Device(config-router)# end

Exits router configuration mode and returns to privileged EXEC mode.

Step 13

show l2vpn vfi

Example:

Device# show l2vpn vfi

PE1-standby#sh l2vpn vfi 
Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%
Time source is hardware calendar, *20:50:52.526 GMT Wed Aug 29 2012

Legend: RT=Route-target, S=Split-horizon, Y=Yes, N=No

VFI name: VFI1, state: up, type: multipoint, signaling: BGP
  VPN ID: 1, VE-ID: 10, VE-SIZE: 10 
  RD: 1:1, RT: 1:1
  Bridge-Domain 100 attachment circuits:
  Pseudo-port interface: pseudowire100001
  Interface          Peer Address    VE-ID  Local Label  Remote Label    S
  pseudowire100003   198.51.100.2     11     1003         2002            Y
  pseudowire100005   198.51.100.3     12     1004         2002            Y

VFI name: VFI2, state: up, type: multipoint, signaling: BGP
  VPN ID: 2, VE-ID: 20, VE-SIZE: 12 
  RD: 1:2, RT: 1:2, import 3:3, export 4:4
  Bridge-Domain 200 attachment circuits:
  Pseudo-port interface: pseudowire100002
  Interface          Peer Address    VE-ID  Local Label  Remote Label    S
  pseudowire100004   198.51.100.2         21     1021         2020            Y
  pseudowire100006   198.51.100.3         22     1022         2020            Y

Displays information about the configured VFI instances.

Step 14

show ip bgp l2vpn vpls {all [summary] | rd route-distinguisher}

Example:

Device# show ip bgp l2vpn vpls all summary

BGP router identifier 198.51.100.1, local AS number 65000
BGP table version is 14743, main routing table version 14743
6552 network entries using 1677312 bytes of memory
6552 path entries using 838656 bytes of memory
3276/3276 BGP path/bestpath attribute entries using 760032 bytes of memory
1638 BGP extended community entries using 65520 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 3341520 total bytes of memory
BGP activity 9828/3276 prefixes, 9828/3276 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
198.51.101.1     4        65000   90518   90507    14743    0    0 8w0d         1638
198.51.102.2     4        65000    4901    4895    14743    0    0 2d01h        1638
198.51.103.3     4        65000    4903    4895    14743    0    0 2d01h        1638

Displays information about the L2VPN VPLS address family.

VPLS BGP Signaling L2VPN Inter-AS Option A: Example

The following example configuration describes Inter-AS Option A for VPLS BGP signaling in an L2VPN. The Autonomous System Boundary Router (ASBR) 1 acts as the Provider Edge (PE) for all VPLS instances that span over Autonomous System (AS) 1 and ASBR 2 are viewed as the CE device. And for the other way around, for AS 2, ASBR 2 acts as the PE and ASBR 1 is viewed as the CE. MPLS is not required between ASBR 1 and ASBR 2 because VPLS is used for layer 2 linking. Each VPLS instance needs to be segregated so that it can be sent in the proper VPLS domain in ASBRs (for example, a switchport interface or Ethernet sub-interface).

Note


From a BGP signaling perspective, there is no specific change within the AS. From the VPLS perspective, there is no BGP peering between ASBR1 and ASBR2.


The following figure shows a network diagram for the BGP signaling Inter-AS option A BGP configuration:

The following example shows the PE 1 BGP configuration for Inter-AS Option A:

router bgp 100
  neighbor 10.0.0.2 remote-as 100
   address-family l2vpn vpls 
    neighbor 10.0.0.2 activate
    neighbor 10.0.0.2 send-community extended
    neighbor 10.0.0.2 suppress-signaling-protocol ldp
   exit-address-family

The following example shows the ASBR 1 BGP configuration for Inter-AS Option A:

router bgp 100
  neighbor 10.0.0.1 remote-as 100
   address-family l2vpn vpls 
    neighbor 10.0.0.1 activate
    neighbor 10.0.0.1 send-community extended
    neighbor 10.0.0.1 suppress-signaling-protocol ldp
   exit-address-family

The following example shows the ASBR 2 BGP configuration for Inter-AS Option A:

router bgp 200
  neighbor 10.0.1.1 remote-as 100
   address-family l2vpn vpls 
    neighbor 10.0.1.1 activate
    neighbor 10.0.1.1 send-community extended
    neighbor 10.0.1.1 suppress-signaling-protocol ldp
   exit-address-family

The following example shows the PE 2 BGP configuration for Inter-AS Option A:

router bgp 200
  neighbor 10.0.1.2 remote-as 100
   address-family l2vpn vpls 
    neighbor 10.0.1.2 activate
    neighbor 10.0.1.2 send-community extended
    neighbor 10.0.1.2 suppress-signaling-protocol ldp
   exit-address-family

Additional References for VPLS Autodiscovery BGP Based

Related Documents

Related Topic

Document Title

Cisco IOS commands

Master Command List, All Releases

MPLS commands

Multiprotocol Label Switching Command Reference

Standards and RFCs

Standard/RFC

Title

draft-ietf-l2vpn-signaling-08.txt

Provisioning, Autodiscovery, and Signaling in L2VPNs

draft-ietf-l2vpn-vpls-bgp-08.8

Virtual Private LAN Service (VPLS) Using BGP for Autodiscovery and Signaling

draft-ietf-mpls-lsp-ping-03.txt

Detecting MPLS Data Plane Failures

draft-ietf-pwe3-vccv-01.txt

Pseudo-Wire (PW) Virtual Circuit Connection Verification (VCCV)

RFC 3916

Requirements for Pseudo-wire Emulation Edge-to-Edge (PWE3)

RFC 3981

Pseudo Wire Emulation Edge-to-Edge Architecture

RFC 6074

Provisioning, Auto-Discovery, and Signaling in Layer 2 Virtual Private Networks (L2VPNs)

RFC 4761

Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling

MIBs

MIB

MIBs Link

  • CISCO-IETF-PW-ATM-MIB (PW-ATM-MIB)

  • CISCO-IETF-PW-ENET-MIB (PW-ENET-MIB)

  • CISCO-IETF-PW-FR-MIB (PW-FR-MIB)

  • CISCO-IETF-PW-MIB (PW-MIB)

  • CISCO-IETF-PW-MPLS-MIB (PW-MPLS-MIB)

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

Technical Assistance

Description

Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies. Access to most tools on the Cisco Support website requires a Cisco.com user ID and password. If you have a valid service contract but do not have a user ID or password, you can register on Cisco.com.

http://www.cisco.com/techsupport

Feature Information for VPLS BGP Signaling L2VPN Inter-AS Option A

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for VPLS BGP Signaling L2VPN

Feature Name

Releases

Feature Information

VPLS BGP Signaling L2VPN

Cisco IOS XE Release 3.8S

This feature simplifies the auto-discovery and signaling of all known provider edge (PE) devices in a VPLS instance by using BGP for both functions.

The following commands were introduced or modified: autodiscovery bgp signaling bgp , debug bgp l2vpn vpls updates , neighbor suppress-signaling-protocol ldp , ve id , ve range , show bgp l2vpn vpls .