Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

close
keyboard_arrow_left
list Table of Contents
file_download PDF
keyboard_arrow_right

Configuring a Control Word for BGP VPLS

date_range 23-Nov-23

In a BGP VPLS network, transit routers must determine the payload for hash calculations for load balancing. While parsing an MPLS encapsulated packet for hashing, a transit router can incorrectly calculate an Ethernet payload as an IPv4 or IPv6 payload if the first nibble of the destination address MAC is 0x4 or 0x6, respectively. This false positive can cause out-of-order packet delivery over a pseudowire. This issue can be avoided by configuring a BGP VPLS PE router to request that other BGP VPLS edge (VE) routers insert a control word between the label stack and the MPLS payload.

Warning:

If you attempt to set a control word in a VPLS network that contains a VE router that does not support a control word, the pseudowire will not come up. To ensure that the pseudowire comes up, be sure that all VE routers in the VPLS network support the presence of a control word.

Before configuring support for a control word in a BGP VPLS network, ensure that the router meets the following requirements:

  • MX Series router running Junos OS Release 14.1 or later and containing one of the following Flexible PIC Concentrators: ADPC, NPC, or I-Chip

    OR

  • M320 router running Junos OS Release 14.1 or later and containing either the I-Chip or the Trio

To configure a VE router to expect a control word between the label stack and the MPLS payload:

  1. At the [edit routing-instances] hierarchy level in configuration mode, set control-word for the VPLS protocol for the specified routing instance.
    content_copy zoom_out_map
    [edit routing-instances]
    user@host# set routing-instance-name protocols vpls control-word
    

    For example:

    content_copy zoom_out_map
    [edit routing-instances]
    user@host# set vpls1 protocols vpls control-word
    
  2. If you are setting control-word on a Trio-based MPC on an MX Series router, set no-ether-pseudowire to omit the IP payload over the Ethernet pseudowire from the hash key.
    content_copy zoom_out_map
    [edit forwarding-options]
    user@host# set enhanced-hash-key family mpls no-ether-pseudowire
    
  3. Verify the configuration.
    content_copy zoom_out_map
    [edit routing-instances]
    user@host# show 
    vpls1 {
        protocols {
            vpls {
                control-word;
            }
        }
    }
    content_copy zoom_out_map
    [edit forwarding-options]
    user@host# show 
    enhanced-hash-key {
        family mpls {
            no-ether-pseudowire;
        }
    }
  4. Repeat the configuration on each VE router in the BGP VPLS network.
  5. Run show vpls connections instance routing-instance-name extensive to verify the presence of a control word for the pseudowire.

    For example:

    content_copy zoom_out_map
    user@host# show vpls connections instance vpls1 extensive
    Layer-2 VPN connections:
    
    Legend for connection status (St)   
    EI -- encapsulation invalid      NC -- interface encapsulation not CCC/TCC/VPLS
    ...
    PF -- Profile parse failure      PB -- Profile busy
    
    Legend for interface status 
    Up -- operational           
    Dn -- down
    
    Instance: vpls1
    ...
        connection-site           Type  St     Time last up          # Up trans
        1                         rmt   Up     May 21 10:08:34 2013           2
        Remote PE: 192.0.2.0, Negotiated control-word: Yes
external-footer-nav