Solaris SAN Configuration and Multipathing Guide

Chapter 7 Configuring IPFC SAN Devices

Configuring Internet Protocol over Fibre Channel (IPFC) on the host system describes host recognition of IPFC devices and implementation of IP over FC in a SAN. The IPFC driver is based on RFC 2625 and allows IP traffic to run over FC.

This chapter contains the following topics:

IPFC Considerations

The following table shows the supported features available for IPFC.

Table 7–1 IPFC (NFS/NAS and SNDR)

Feature  

Supported  

Cascading 

Yes, with fabric zones only 

Zone type 

Fabric zone with the HBA configured as an F-port point-to-point connection 

Maximum number of device ports per zone 

253 

The following restrictions apply:

Determining Fibre Channel Adapter Port Instances

This section explains how to configure the desired host system for IPFC. It includes the procedures to determine the port instance and to plumb an IPFC instance.

ProcedureTo Determine Port Instances

  1. Determine the HBA PCI adapter slot and the I/O board PCI slot.

    You need this information to perform the calculation in Determining Fibre Channel Adapter Port Instances.

    For example, assume you have an array with an HBA card located in PCI adapter slot 5, and the PCI adapter is in slot 1 of the I/O board.

  2. Determine the instance number.

    1. Search for the fp driver binding name in the /etc/path_to_inst file.


      Note –

      Determine the correct entry by finding the hardware path described in your server hardware manual or Sun System Handbook. The Sun System Handbook is available at http://sunsolve.sun.com/handbook_pub/.


    2. Narrow the search by using the I/O board and slot information from Step 1.


      Note –

      The following method of deriving the Solaris 10 OS device path of an HBA from its physical location in server might not work for all Sun server hardware.


      1. Multiply the PCI adapter slot number by the number of adapter ports.

        For example, if the HBA has two ports, multiply by 2. Using the array with an HBA in the PCI adapter slot 5, multiply 5 by 2 to get 10.

      2. Add the PCI adapter I/O board slot number to the number derived in Step i.

        Using an HBA in PCI adapter slot 5 and PCI slot 1 of the I/O board, add 1 to 10 for a sum of 11.

      3. Convert the number derived in Step ii to hexadecimal.

        The number 11 converts to “b” in hexadecimal.

      4. Search for the fp entry with pci@ hex where hex is the number you derived in Step iii.

        The following table shows the elements of the device path for a PCI single FC network adapter device that has the following path:


        "/pci@b,2000/SUNW,qlc@2/fp@0,0" 7 "fp"

        Entry Item  

        Entry Value  

        Physical Name 

        /pci@b,2000/SUNW,qlc@2/fp@0,0

        Instance Number 

        7

        Driver Binding Name 

        fp

    3. Manually plumb each FP instance.

      Use the ifconfig interface-number plumb command. In this example, the value of interface-number is fcip7.


      # ifconfig fcip7 plumb
      

      When the command is successful, a message appears on both the console and in the messages file. For example:


      Sep 13 15:52:30 bytownite ip: ip: joining multicasts failed (7) on fcip0 - 
      will use link layer brocasts for multicast

ProcedureTo Plumb an IPFC Instance

Each FP instance on the system has an entry in /dev/fc. If HBAs have been removed, some stale links might exist. Use this procedure to load and plumb IPFC.

  1. For each entry in /dev/fc, issue a luxadm -e dump_map command to view all the devices that are visible through that HBA port:


    # luxadm -e dump_map /dev/fc/fp0
    Pos  Port_ID Hard_Addr Port WWN         Node WWN         Type
    0    610100  0         210000e08b049f53 200000e08b049f53 0x1f (Unknown Type)
    1    620d02  0         210000e08b02c32a 200000e08b02c32a 0x1f (Unknown Type)
    2    620f00  0         210000e08b03eb4b 200000e08b03eb4b 0x1f (Unknown Type)
    3    620e00  0         210100e08b220713 200100e08b220713 0x1f (Unknown Type,Host Bus Adapter)
    # luxadm -e dump_map /dev/fc/fp1
     No FC devices found. - /dev/fc/fp1
  2. Based on the list of devices, determine which destination HBAs are visible to the remote host with which you want to establish IPFC communications.

    In the example for this procedure, the destination HBAs have port IDs 610100 and 620d02. The originating HBA’s port ID is 620e00.

  3. List the physical path of the originating HBA port from which you can see the destination HBA port, where originating-hba-link is a variable for the link determined in Step 2.


    # ls -l /dev/fc/fp originating-hba-link
    

    In the following example, 0 is the number for the originating-hba-link:


    # ls -l /dev/fc/fp 0
    lrwxrwxrwx   1 root     root          51 Sep  4 08:23 /dev/fc/fp0 ->
    ../../devices/pci@8,600000/SUNW,qlc@1/fp@0,0:devctl
  4. Search the physical path identified in Step 3.

    You must remove the leading ../../devices from the path name output. For example


    # grep pci@8,600000/SUNW,qlc@1/fp@0,0 /etc/path_to_inst 
    "/pci@8,600000/SUNW,qlc@1/fp@0,0" 0 "fp"
    
  5. Determine the fp instance for the originating HBA port from the output of the command in Step 4.

    The instance number precedes “fp” in the output. In the following example output, the instance number is 0.


    "/pci@8,600000/SUNW,qlc@1/fp@0,0" 0 "fp"
  6. Use the instance number from Step 5 to load IPFC and plumb the IPFC interface.

    In this example, the instance is 0.


    # ifconfig fcip 0 plumb
    

Invoking and Configuring IPFC

Immediately upon installation, start IPFC manually with the ifconfig command. You can configure the host so that on subsequent reboot, the IPFC network interface starts automatically. This section describes the procedures to start a network interface manually and to configure the host for automatic plumbing upon reboot.

ProcedureTo Start a Network Interface Manually

Use this procedure when you want to plumb IPFC with specific netmask values and get the IPFC interface up and running.

  1. Use the ifconfig command with the appropriate interface.

    Ask your network administrator for an appropriate IP address and netmask information. For example, to enable an IPFC interface associated with fp instance 0 and an IP address of 192.9.201.10, type:


    # touch /etc/notrouter
    # ifconfig fcip0 inet 192.9.201.10 netmask 255.255.255.0 up

    The ifconfig command is described in more detail in the ifconfig(1M) man page.

  2. Use the command ifconfig -a to verify that the network is functioning.

    The output of ifconfig -a should look like this:


    lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
    inet 127.0.0.1 netmask ff000000
    fcip0: flags=1001843<UP,BROADCAST,RUNNING,MULTICAST,MULTI_BCAST,IPv4> mtu 1500 index 2
    inet 192.9.201.10 netmask ffffff00 broadcast 192.9.201.255 ether 0:e0:8b:1:3c:f7
    hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
    inet 192.9.200.70 netmask ffffff00 broadcast 192.9.200.255
    ether 8:0:20:fc:e9:49

ProcedureTo Configure the Host for Automatic Plumbing Upon Reboot

Each network interface must have an /etc/hostname.interface file defining the name of the IP address associated with it. For example, IPFC network interface fcip0 has a file named /etc/hostname.fcip0.

  1. Manually create a /etc/hostname.interface file that contains a single line that identifies the host name or interface IP address.

  2. Make any additional entries to the /etc/inet/hosts file.

    The Solaris 10 OS installation program creates the /etc/inet/hosts file with minimum entries. You must manually make additional entries with a text editor. See the hosts(4) man page for additional information.

    The /etc/inet/hosts file contains the hosts database. This file contains the host names and the primary network interface IP addresses, as well as the IP addresses of other network interfaces attached to the system and of any other network interfaces that the machine must know about.

    The following example shows an etc/inet/host file.


    127.0.0.1      localhost     loghost
    192.9.200.70   sun1     #This is the local host name
    192.9.201.10 fcip0 #Interface to network 192.9.201.10
  3. Edit the /etc/nsswitch.conf file so that all uncommented entries have the word files before any other name service.

    The /etc/nsswitch.conf specifies which name service to use for a particular machine. The following code shows an example of an /etc/nsswitch.conf file.


    hosts: files nis