Skip to main content
ONTAP MetroCluster

Changing ISL properties, ISL ports, or the IOD/OOD configuration on a Brocade switch

Contributors netapp-aoife netapp-thomi netapp-martyh netapp-ranuk

You might need to add ISLs to a switch if you are adding or upgrading hardware such as additional or faster controllers or switches.

Before you begin

Ensure that the system is properly configured, that all fabric switches are operational, and that no errors exist.

If the equipment on the ISL link changes and the new link configuration no longer supports the current configuration----trunking and ordered delivery----then the fabric needs to be reconfigured for the correct routing policy: either in-order-deliver (IOD) or out-of-order-delivery (OOD).

Note To make changes to OOD from ONTAP software, use the following steps: Configuring in-order delivery or out-of-order delivery of frames on ONTAP software
Steps
  1. Disable the FCVI and storage HBA ports:

    portcfgpersistentdisable port number

    By default the first 8 ports (ports 0 through 7) are used for FCVI and Storage HBA. The ports must be persistently disabled so that the ports remain disabled in the event of a switch reboot.

    The following example shows ISL ports 0—​7 being disabled on both switches:

        Switch_A_1:admin> portcfgpersistentdisable 0-7
        Switch_B_1:admin> portcfgpersistentdisable 0-7
  2. Change the ISL ports as required.

    Option

    Step

    To change the speed of an ISL port…​

    Use the portcfgspeed port number port speed command on both switches on the fabric.

    In the following example, you change the ISL port speed from 40 Gbps to 16 Gbps:

    brocade_switch_A_1:admin> portcfgspeed 40 16

    You can verify that the speed has changed using the switchshow command:

    brocade_switch_A_1:admin> switchshow

    You should see the following output:

      . . .
       40 40  062800  id 16G  No_Sync FC Disabled
      . . .

    To change the distance of an ISL port…​

    Use the portcfglongdistance port number port distance command on both switches in the fabric.

    To remove an ISL…​

    Disconnect the link.

    To add an ISL…​

    Insert SFPs into the ports you are adding as ISL ports. Ensure that these ports are listed in Install a fabric-attached MetroCluster for the switch to which you are adding them.

    To relocate an ISL…​

    Relocating an ISL is the same as removing and then adding an ISL. First, remove the ISL by disconnecting the link and then insert SFPs into the ports you are adding as ISL ports.

    Note When you make changes to ISL ports you might also need to apply additional settings recommended by the WDM vendor. Refer to the WDM vendor documentation for guidance.
  3. Reconfigure for out-of-order delivery (OOD) or in-order-delivery (IOD).

    Note If the routing policies remain the same, you do not need to reconfigure and this step can be ignored. The ONTAP configuration needs to match the fabric configuration. If the fabric is configured for OOD, then ONTAP must also be configured for OOD. The same applies for IOD.

    This step should be executed in the following scenarios:

    • More than one ISL formed a trunk before the change, but after the change, trunking is no longer supported. In this case, you must configure the fabric for OOD.

    • There is one ISL before the change and multiple ISLs after the change.

    • If multiple ISLs form a trunk, configure the fabric for IOD. If multiple ISLs cannot form a trunk, configure the fabric for OOD.

    • Persistently disable the switches using the switchcfgpersistentdisable command as shown in the following example:

      Switch_A_1:admin> switchcfgpersistentdisable
      Switch_B_1:admin> switchcfgpersistentdisable
      1. Configure the trunking mode for each ISL portcfgtrunkport port number as shown in the following table:

        Scenario

        Steps

        Configure the ISL for trunking \(IOD\)

        Set the portcfgtrunkport port number to 1:

        FC_switch_A_1:admin> portcfgtrunkport 20 1
        FC_switch_A_1:admin> portcfgtrunkport 21 1
        FC_switch_B_1:admin> portcfgtrunkport 20 1
        FC_switch_B_1:admin> portcfgtrunkport 21 1

        Configure the ISL for trunking \(OOD\)

        Set the portcfgtrunkport port number to 0:

        FC_switch_A_1:admin> portcfgtrunkport 20 0
        FC_switch_A_1:admin> portcfgtrunkport 21 0
        FC_switch_B_1:admin> portcfgtrunkport 20 0
        FC_switch_B_1:admin> portcfgtrunkport 21 0
      2. Configure the fabric for IOD or OOD as required.

        Scenario

        Steps

        Configure the fabric for IOD

        Set the three settings of IOD, APT, and DLS using the iodset, aptpolicypolicy, and dlsreset commands as shown in the following example:

        Switch_A_1:admin> iodset
        Switch_A_1:admin> aptpolicy 1
        Policy updated successfully.
        Switch_A_1:admin> dlsreset
        FC_switch_A_1:admin>portcfgtrunkport 40 1
        FC_switch_A_1:admin>portcfgtrunkport 41 1
        
        Switch_B_1:admin> iodset
        Switch_B_1:admin> aptpolicy 1
        Policy updated successfully.
        Switch_B_1:admin> dlsreset
        FC_switch_B_1:admin>portcfgtrunkport 20 1
        FC_switch_B_1:admin>portcfgtrunkport 21 1

        Configure the fabric for OOD

        Set the three settings of IOD, APT, and DLS using the iodreset, aptpolicypolicy, and dlsset commands as shown in the following example:

        Switch_A_1:admin> iodreset
        Switch_A_1:admin> aptpolicy 3
        Policy updated successfully.
        Switch_A_1:admin> dlsset
        FC_switch_A_1:admin> portcfgtrunkport 40 0
        FC_switch_A_1:admin> portcfgtrunkport 41 0
        
        Switch_B_1:admin> iodreset
        Switch_B_1:admin> aptpolicy 3
        Policy updated successfully.
        Switch_B_1:admin> dlsset
        FC_switch_B_1:admin> portcfgtrunkport 40 0
        FC_switch_B_1:admin> portcfgtrunkport 41 0
      3. Enable the switches persistently:

        switchcfgpersistentenable

        switch_A_1:admin>switchcfgpersistentenable
        switch_B_1:admin>switchcfgpersistentenable

        If this command does not exist, use the switchenable command as shown in the following example:

        brocade_switch_A_1:admin>
        switchenable
      4. Verify the OOD settings using the iodshow, aptpolicy, and dlsshow commands as shown in the following example:

        switch_A_1:admin> iodshow
        IOD is not set
        
        switch_A_1:admin> aptpolicy
        
               Current Policy: 3 0(ap)
        
               3 0(ap) : Default Policy
               1: Port Based Routing Policy
               3: Exchange Based Routing Policy
               0: AP Shared Link Policy
               1: AP Dedicated Link Policy
               command aptpolicy completed
        
        switch_A_1:admin> dlsshow
        DLS is set by default with current routing policy
        Note You must run these commands on both switches.
      5. Verify the IOD settings using the iodshow, aptpolicy, and dlsshow commands as shown in the following example:

        switch_A_1:admin> iodshow
        IOD is set
        
        switch_A_1:admin> aptpolicy
               Current Policy: 1 0(ap)
        
               3 0(ap) : Default Policy
               1: Port Based Routing Policy
               3: Exchange Based Routing Policy
               0: AP Shared Link Policy
               1: AP Dedicated Link Policy
               command aptpolicy completed
        
        switch_A_1:admin> dlsshow
        DLS is not set
        Note You must run these commands on both switches.
  4. Verify that the ISLs are online and trunked (if the linking equipment supports trunking) using the islshow and trunkshow commands.

    Note If FEC is enabled, the deskew value of the last online port of the trunk group might show a difference of up to 36 although the cables are all of the same length.

    Are ISLs trunked?

    You see the following system output…​

    Yes

    If the ISLs are trunked, only a single ISL appears in the output for the islshow command. Either port 40 or 41 can appear depending on which is the trunk master. The output of trunkshow should one trunk with ID “1” listing both the physical ISLs on ports 40 and 41. In the following example the ports 40 and 41 are configured for use as an ISL:

    switch_A_1:admin> islshow 1:
    40-> 40 10:00:00:05:33:88:9c:68 2 switch_B_1 sp: 16.000G bw: 32.000G TRUNK CR_RECOV FEC
    switch_A_1:admin> trunkshow
    1: 40-> 40 10:00:00:05:33:88:9c:68 2 deskew 51 MASTER
    41-> 41 10:00:00:05:33:88:9c:68 2 deskew 15

    No

    If the ISLs are not trunked, both ISLs appear separately in the outputs for islshow and trunkshow. Both commands list the ISLs with their ID of “1” and “2”. In the following example, the ports “40” and “41” are configured for use as an ISL:

    switch_A_1:admin> islshow
    1: 40-> 40 10:00:00:05:33:88:9c:68 2 switch_B_1 sp: 16.000G bw: 16.000G TRUNK CR_RECOV FEC
    2: 41-> 41 10:00:00:05:33:88:9c:68 2 switch_B_1 sp: 16.000G bw: 16.000G TRUNK CR_RECOV FEC
    switch_A_1:admin> trunkshow
    1: 40-> 40 10:00:00:05:33:88:9c:68 2 deskew 51 MASTER
    2: 41-> 41 10:00:00:05:33:88:9c:68 2 deskew 48 MASTER
  5. Run the spinfab command on both switches to verify that the ISLs are healthy:

    switch_A_1:admin> spinfab -ports 0/40 - 0/41
  6. Enable the ports that were disabled in step 1:

    portenable port number

    The following example shows ISL ports “0” through “7” being enabled:

    brocade_switch_A_1:admin> portenable 0-7