Summary

The virtual Private Lan Service (VPLS) interface can be considered a tunnel interface just like the EoIP interface. To achieve transparent ethernet segment forwarding between customer sites.

Negotiation of VPLS tunnels can be done by LDP protocol or MP-BGP - both endpoints of tunnel exchange labels they are going to use for the tunnel.

Data forwarding in the tunnel happens by imposing 2 labels on packets: tunnel label and transport label - a label that ensures traffic delivery to the other endpoint of the tunnel.


MikroTik RouterOS implements the following VPLS features:

  • VPLS LDP signaling (RFC 4762)
  • Cisco style static VPLS pseudowires (RFC 4447 FEC type 0x80)
  • VPLS pseudowire fragmentation and reassembly (RFC 4623)
  • VPLS MP-BGP based autodiscovery and signaling (RFC 4761)
  • Cisco VPLS BGP-based auto-discovery (draft-ietf-l2vpn-signaling-08)
  • support for multiple import/export route-target extended communities for BGP based VPLS (both, RFC 4761 and draft-ietf-l2vpn-signaling-08)


VPLS Prerequisities

For VPLS to be able to transport MPLS packets, one of the label distribution protocols should be already running on the backbone, it can be LDP, RSVP-TE, or static bindings.

Before moving forward, familiarize yourself with the prerequisites required for LDP and prerequisites for RSVP-TE.

In case, if BGP should be used as a VPLS discovery and signaling protocol, the backbone should be running iBGP preferably with route reflector/s.


Example Setup

Let's consider that we already have a working LDP setup from the LDP configuration example.

Routers R1, R3, and R4 have connected Customer A sites, and routers R1 and R3 have connected Customer B sites. Customers require transparent L2 connectivity between the sites.



Reference

General

Sub-menu: /interface vpls


List of all VPLS interfaces. This menu shows also dynamically created BGP-based VPLS interfaces.

Properties

PropertyDescription
arp (disabled | enabled | proxy-arp | reply-only; Default: enabled)Address Resolution Protocol
arp-timeout (time interval | auto; Default: auto)
bridge (name; Default:)
bridge-cost (integer [1..200000000]; Default: )Cost of the bridge port.
bridge-horizon (none | integer; Default: none)If set to none bridge horizon will not be used.
cisco-static-id (integer [0..4294967295]; Default: 0)Cisco-style VPLS tunnel ID.
comment (string; Default: )Short description of the item
disable-running-check (yes | no; Default: no)Specifies whether to detect if an interface is running or not. If set to no interface will always have the running flag.
disabled (yes | no; Default: yes)Defines whether an item is ignored or used. By default VPLS interface is disabled.
mac-address (MAC; Default: )
mtu (integer [32..65536]; Default: 1500)
name (string; Default: )Name of the interface
pw-l2mtu (integer [0..65536]; Default: 1500)L2MTU value advertised to a remote peer.
pw-type (raw-ethernet | tagged-ethernet | vpls; Default: raw-ethernet)Pseudowire type.
peer (IP; Default: )The IP address of the remote peer.
pw-control-word (disabled | enabled | default; Default: default)Enables/disables Control Word usage. Default values for regular and cisco style VPLS tunnels differ. Cisco style by default has control word usage disabled. Read more in the VPLS Control Word article.
vpls-id (AsNum | AsIp; Default: )A unique number that identifies the VPLS tunnel. Encoding is 2byte+4byte or 4byte+2byte number.


Read-only properties

PropertyDescription
cisco-bgp-signaled (yes | no)
vpls (string)name of the bgp-vpls instance used to create dynamic vpls interface
bgp-signaled
bgp-vpls
bgp-vpls-prfx
dynamic (yes | no)
l2mtu (integer)
running (yes | no)

Monitoring

Command /interface vpls monitor [id] will display the current VPLS interface status

For example:

[admin@10.0.11.23] /interface vpls> monitor vpls2
remote-label: 800000
local-label: 43
remote-status: 
transport: 10.255.11.201/32
transport-nexthop: 10.0.11.201
imposed-labels: 800000

Available read-only properties:

PropertyDescription
imposed-label (integer)VPLS imposed label
local-label (integer)Local VPLS label
remote-group ()
remote-label (integer)Remote VPLS label
remote-status (integer)
transport-nexthop (IP prefix)Shows used transport address (typically Loopback address).
transport (string)Name of the transport interface. Set if VPLS is running over the Traffic Engineering tunnel.


  • No labels