Configuring Flex Links

This document describes the Flex Link feature and configuration steps to implement Flex Links. They also describe how to configure the MAC address table move update feature.

Note


Flex Links does not currently support stacking, duo switches structure, or VLAN separation.

Prerequisites for Configuring Flex Links

Default Configuration

  • Disable STP before configuring Flex Links. If STP is disabled on the switch, make sure that there are no Layer 2 loops in the topology.

  • Flex Links is supported on the Serval CEServices application.

Default Flex Links configuration is when there is no configuration for Flex Links pairs or for the MAC address move update transmit feature.

Restrictions for Configuring Flex Links

  • Only one Flex Links backup link can be configured for any active link, and it must be a different interface from the active interface.

  • The backup link does not have to be the same type as the active link. However, they should be configured with similar characteristics so that there are no loops or changes in operation if the standby link becomes active.

  • An active link cannot belong to another Flex Links pair.

  • The Flex Links pair cannot belong to the same port channel. However, a Flex Links pair can be a port channel and a physical interface, or two port channels or physical interfaces.

  • The port channel interface should be active when included in the Flex Links pair, for it to be configured properly.

Information about Flex Links

Flex Links configuration provides link-level redundancy in the absence of Spanning Tree Protocol (STP). Flex Links consists of a pair of interfaces (ports or port channels) with one interface configured as the primary interface (forwarding status) and the other as the backup interface (standby status). When a failure occurs on the primary interface, the backup interface moves to forwarding status and starts to forward traffic.

Flex Links works by detecting link down on a primary interface and then bringing up the backup interface that has been defined as backup. It is most commonly implemented at the access layer where the switch has dual uplinks to the distribution layer.

Flex Links is designed to interact with supporting modules, such as the port module, the aggregation module, the packet module, and the configuration module. The basic Flex Links protocol functions are as follows:

  • Initialize module configurations

  • Interact with the packet module to transmit/receive MAC address table update frames

  • Interact with the configuration module to read/write FL configurations

  • Register with the port module to receive the port up/down event

The Flex Links API layer provides direct interaction with the switch for the implementation of the active and backup ports groups, the setup of the port status, and the MAC-address table read.

MAC Address Table Move Update

The MAC address table move update is an optional Flex Links feature. It allows the switch to provide rapid bidirectional convergence when an active link goes down and the backup link starts forwarding traffic.

Note


MAC address table move update enables fast recovery of network connectivity but consumes CPU resources.

How to Configure Flex Links

Configuring Flexlink Ports

     Command or ActionPurpose
    Step 1Configure NID


    Example:
    UCS# Configure NID 1
     
    Opens a new session for NID 1.  
    Step 2FlexlinksPortType


    Example:
    UCS# FlexlinksPortType
     
    Enters FlexlinksPortType mode to provision Flex Links.  
    Step 3flexlinkPortConfigurationflexlinksConfiguration{activePort|backupPort|flexlinkEnabled}


    Example:
    UCS(FlexlinkPortType)#flexlinkPortConfiguration flexlinksConfiguration activePort activePortId 4 
    flexlinkPortConfiguration flexlinksConfiguration backupPort backupPortId 6 
    flexlinkPortConfiguration flexlinksConfiguration flexlinkEnabled enable 
     
    • activePort— Enter the Port number of interface to be configured .

    • backupPort— Enter the backup interface port number. It can be a physical port number or LLAG/LACP group ID.

    • flexlinkEnabled— Enter enable or disable to configure Flexlink port number.

     
    Step 4flexlinkPortConfiguration review


    Example:
    UCS(FlexlinksPotType)# flexlinkPortConfiguration review
     
    Displays the Flexlink configuration commands in the queue.  
    Step 5flexlinkPortConfiguration commit


    Example:
    UCS(FlexlinksPotType)# flexlinkPortConfiguration commit
     
    Sends the Flexlink port configuration to the NID.  
    Step 6exit


    Example:
    UCS(FlexLinksPortType)# exit
     
    Exits the Flex Links provisioning mode.  

    Provisioning the UCS Controller to Configure Flex Links

       Command or ActionPurpose
      Step 1Configure NID


      Example:
      UCS# Configure NID 1
       
      Opens a new session for NID 1.  
      Step 2FlexLinksPortType


      Example:
      UCS#ProvisionFlexLinksPortType
       
      Enters Flex Links provisioning mode.  
      Step 3 ProvisionFlexlinksPortType {do | end | exit | flexlinkPortConfiguration | getFlexlinksConfiuration | getMACMoveUpdateConfig | help | macMoveUpdatePortConfig | showFlexlinksConfig}


      Example:
      UCS(ProvisionFlexlinksPortType)# ?
        ProvisionFlexLinksPortType sub-mode commands:
        do                              To run exec commands in config mode
        end                             Go back to EXEC mode
        exit                            Exit from ProvisionFlexlinksPortType sub configuration mode
        FlexlinkPortConfiguration       Get Flexlinks configuration response
        getFlexlnksConfiguration        Get Flexlinks configuration request
        getMACMoveUpdateConfig          Get Mac Move Update config response
        help                            Description of the interactive help system
        macMoveUpdatePortConfig         Show MAC move update Response
        showFlexlinksConfig             Display Flexlinks configuration response
       
       
      Displays the supported configurations for Flex Links.  
      Step 4exit


      Example:
      UCS(ProvisionFlexlinksPortType)# exit
       
      Exits the Flex Links provisioning mode.  

      Configuration Example

      The following example shows the supported Flex Link configuration:

      UCS(ProvisionFlexlinksPortType)# ?
        ProvisionFlexLinksPortType sub-mode commands:
        do                              To run exec commands in config mode
        end                             Go back to EXEC mode
        exit                            Exit from ProvisionFlexlinksPortType sub configuration mode
        FlexlinkPortConfiguration       Get Flexlinks configuration response
        getFlexlnksConfiguration        Get Flexlinks configuration request
        getMACMoveUpdateConfig          Get Mac Move Update config response
        help                            Description of the interactive help system
        macMoveUpdatePortConfig         Show MAC move update Response
        showFlexlinksConfig             Display Flexlinks configuration response

      Viewing Flex Link Configuration at Port Level

      Before You Begin
      • Perform the steps to provision Flex Links on the NID.

         Command or ActionPurpose
        Step 1 getFlexlinksConfig {commit | flexlinksPhysicalPort port_num | review}


        Example:
        UCS(FlexlinksPortType)# getflexlinkConfiguration ?
         commit                  commit getFlexlinksConfig
         flexlinksPhysicalPort   Get flexlinks physical port configuration request
         review                  review getFlexlinksConfig commands
        UCS(FlexlinksPortType)# getFlexlinksConfigRequestportphyPortId 1
         

        Retrieves the Flex Links configuration at port.

        • commit—Sends the Flex Links configuration to NID.

        • flexlinksPhysicalPort port-num—Retrieves the Flex Links configuration for specified port on the controller.

        • review—Displays the configuration on the controller.

         
        Step 2getFlexlinksConfiguration review


        Example:
        UCS(FlexlinksPortType)# getFlexlinksConfiguration review
        Commands in queue:
                getFlexlinksConfiguration flexlinksPhysicalPort 1
         
        Displays the Flex Links configuration.  
        Step 3getFlexlinksConfiguration commit


        Example:
        UCS(FlexlinksPortType)# getFlexlinksConfiguration commit
         
        Sends the Flex Links configuration to the NID.  
        Step 4exit


        Example:
        UCS(FlexLinksPortType)# exit
         
        Exits the Flex Links provisioning mode.  

        Configuration Example

        The example retrieves the Flex Links configuration for port 1 on the NID:

        UCS(FlexlinksPortType)# getFlexlinksConfigRequestportphyPortId 1
        UCS(FlexlinksPortType)# getFlexlinksConfiguration review
        Commands in queue:
               getFlexlinksConfigRequestportphyPortId 1
        UCS(FlexlinksPortType)# getFlexlinksConfiguration commit
        GetFlexlinksConfiguration_Output.getFlexlinksConfiguration.portNumber = 1
        GetFlexlinksConfiguration_Output.getFlexlinksConfiguration.flexlinksEnable = false
        GetFlexlinksConfiguration_Output.getFlexlinksConfiguration.key = 1
        GetFlexlinksConfiguration_Output.getFlexlinksConfiguration.role.t = 1
        GetFlexlinksConfiguration_Output.getFlexlinksConfiguration.role.u.active = true
        GetFlexlinksConfiguration_Output.getFlexlinksConfiguration.portPriority = 32768
        GetFlexlinksConfiguration_Output.getFlexlinksConfiguration.timeout.t = 1
        getFlexlinksConfiguration_Output.getFlexlinksConfiguration.timeout.u.fast = true
        
         GetFlexlinksConfiguration Commit Success!!!
        UCS(FlexlinksPortType)# exit

        Displaying Flex Link ActivePort Configuration

        Before You Begin
        • Perform the following steps to display Flex Links active port configuration on the NID.

           Command or ActionPurpose
          Step 1configure nid


          Example:
          UCS# configure nid 1
           

          Opens a new session for NID 1.

           
          Step 2FlexlinksPortType


          Example:
          UCS# FlexlinksPortType
           
          Enters FlexlinksPortType mode to provision Flex Links.  
          Step 3ShowFlexlinksConfig {commit | displayFlexlinksConfig |flush | review}


          Example:
          UCS(FlexlinksPortType)# showflexlinksConfig ?
           commit                    commit showFlexlinksConfig
           displayFlexlinksConfig    Display Flexlinks Configuration State on physical or LLAG interfaces
           review                    review getFlexlinksConfig commands
           flush                     flush getFlexlinksConfig commands
          UCS(FlexlinksPortType)# showFlexlinksConfig display FlexlinkConfig portphyPortId 1
           
          Displays the Flex Links configuration at port.
          • commit—Sends the Flex Links configuration to NID.

          • displayFlexlinksConfig—Shows the Flex Links configuration for specified port on the NID.

          • review—Displays the configuration.

           
          Step 4showFlexlinksConfigreview


          Example:
          UCS(FlexlinksPortType)# showFlexlinksConfig review
          Commands in queue:
                  showFlexlinksConfig flexlinksPhysicalPort 1
           
          Displays the configuration  
          Step 5showFlexlinksConfigcommit


          Example:
          UCS(FlexlinksPortType)# showFlexlinksConfig commit
           
          Sends the Flex Links Configuration to the NID.  
          Step 6exit


          Example:
          UCS(FlexLinksPortType)# exit
           
          Exits the Flex Links mode.  

          The example shows the Flex Links configuration for port 1 on the controller:

          UCS(FlexlinksPortType)# showFlexlinksConfig display FlexlinkConfig portphyPortId 1
          UCS(FlexlinksPortType)# showFlexlinksConfig review
          Commands in queue:
                 showFlexlinksConfigportphyPortId 1
          UCS(FlexlinksPortType)# showFlexlinksConfig commit
          ShowFlexlinksConfiguration_Output.showFlexlinksConfig.portNumber = 1
          ShowFlexlinksConfiguration_Output.showFlexlinksConfig.flexlinksEnable = false
          ShowFlexlinksConfiguration_Output.showFlexlinksConfig.key = 1
          ShowFlexlinksConfiguration_Output.showFlexlinksConfig.role.t = 1
          ShowFlexlinksConfiguration_Output.showFlexlinksConfig.role.u.active = true
          ShowFlexlinksConfiguration_Output.showFlexlinksConfig.portPriority = 32768
          ShowFlexlinksConfiguration_Output.showFlexlinksConfig.timeout.t = 1
          ShowFlexlinksConfiguration_Output.showFlexlinksConfig.timeout.u.fast = true
          
          ShowFlexlinksConfiguration Commit Success!!!
          UCS(FlexlinksPortType)# exit

          Enabling macMoveupdate on Active Port

             Command or ActionPurpose
            Step 1configure nid


            Example:
            UCS# configure nid 1
             

            Opens a new session for NID 1.

             
            Step 2FlexlinksPortType


            Example:
            UCS# FlexlinksPortType
             
            Enters the FlexlinksPortType mode to provision Flex Links.  
            Step 3macMoveUpdatePortConfig macMoveUpdateConfig { llagGroupId llagGroup-Id | mmuEnabled { enable|disable } | portNumber portNumber }


            Example:
            UCS(FlexlinksPortType)# macMoveUpdatePortConfig macMoveUpdateConfig
            UCS(FlexlinksPortType)# macMoveUpdatePortConfig macMoveUpdateConfig llagGroup id 2
            UCS(FlexlinksPortType)# macMoveUpdatePortConfig macMoveUpdateConfig portNumber 4
            UCS(FlexlinksPortType)# macMoveUpdatePortConfig macMoveUpdateConfig mmuEnabled enable
             
            Displays the macMoveUpdateConfig mode.
            Note    User can enable macMoveUpdate, only after flex link is configured.
            • llagGroupId— Configures llag as an active port in flex link. The range is from 1-4

            • portNumber— Configures port number in flex link. The range is from 1-124

            • mmuEnabled—Updates the MAC Move Transmitr in flex link to either enale o disable.

             
            Step 4macMoveUpdatePortConfig review


            Example:
            UCS(FlexlinksPotType)# macMoveUpdatePortConfig review
             
            Displays the macMoveUpdatePortConfig commands.  
            Step 5macMoveUpdatePortConfig commit


            Example:
            UCS(FlexlinksPotType)# macMoveUpdatePortConfig commit
             
            Sends the macMoveUpdatePortConfig commands to the NID.  
            Step 6exit


            Example:
            UCS(FlexLinksPortType)# exit
             
            Exits the Flex Links mode.  

            Viewing macMoveUpdate Active Port Configuration

               Command or ActionPurpose
              Step 1Configure NID


              Example:
              UCS# Configure NID 1
               
              Opens a new session for NID 1.  
              Step 2FlexlinksPortType


              Example:
              UCS# FlexlinksPortType
               
              Enters FlexlinksPortType mode to provision Flex Links.  
              Step 3getMACMoveUpdateConfiggetFlexlinkConfigRequestport{llagGroupId|phyPortId}


              Example:
              UCS(FlexlinksPortType)# getMACMoveUpdateConfig getFlexlinkConfigRequest port phyPortId 4
               
              • port— Displays the targeted active port.

              • llagGroupID— Displays the active llagGroupID number.

              • phyPortId— Displays the active physical port number.

               
              Step 4getMACMoveUpdateConfig review


              Example:
              UCS(FlexlinksPotType)# getMACMoveUpdateConfig review
               
              Displays the ports for Flexlink configuration.  
              Step 5getMACMoveUpdateConfig commit


              Example:
              UCS(FlexlinksPotType)# getMACMoveUpdateConfig review
               
              Sends the Flexlink configuration to the NID.  
              Step 6exit


              Example:
              UCS(FlexLinksPortType)# exit
               
              Exits the Flex Links mode.  

              Configuration Example

              The example shows the flexlink configuration in active ports.

              UCS# FlexlinksPortType
              UCS(FlexlinksPortType)# getMACMoveUpdateConfig getFlexlinkConfigRequest port phyPortId 4
              
              
              
              UCS(FlexlinksPortType)# getMACMoveUpdateConfig review 
              
              Commands in queue: 1
              
              getMACMoveUpdateConfig getFlexlinkConfigRequest port phyPortId 4 
              UCS(FlexlinksPortType)# getMACMoveUpdateConfig commit 
              GetMACMoveUpdateConfig_Output.macMoveUpdateConfig._choice1.t = 1
              GetMACMoveUpdateConfig_Output.macMoveUpdateConfig._choice1.u.portNumber = 4
              GetMACMoveUpdateConfig_Output.macMoveUpdateConfig.mmuEnabled = true
              
              GetMACMoveUpdateConfig Commit Success!!!(FlexlinksPortType)#