JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle® VM Server for SPARC 3.1 Administration Guide
Oracle Technology Network
Library
PDF
Print View
Feedback
search filter icon
search icon

Document Information

Using This Documentation

Part I Oracle VM Server for SPARC 3.1 Software

Chapter 1 Overview of the Oracle VM Server for SPARC Software

About Oracle VM Server for SPARC and Oracle Solaris OS Versions

Hypervisor and Logical Domains

Logical Domains Manager

Roles for Domains

Command-Line Interface

Virtual Input/Output

Virtual Network

Virtual Storage

Virtual Console

Resource Configuration

Persistent Configurations

Oracle VM Server for SPARC Physical-to-Virtual Conversion Tool

Oracle VM Server for SPARC Configuration Assistant

Oracle VM Server for SPARC Management Information Base

Chapter 2 Installing and Enabling Software

Required Oracle VM Server for SPARC Software Components

Installing Oracle VM Server for SPARC Software on a New System

Updating the Oracle Solaris OS

Upgrading the System Firmware

Downloading the Logical Domains Manager

How to Download the Logical Domains Manager Software (Oracle Solaris 10)

Installing the Logical Domains Manager

Automatically Installing the Logical Domains Manager Software (Oracle Solaris 10)

Manually Installing the Logical Domains Manager Software

How to Manually Install the Oracle VM Server for SPARC 3.1 Software (Oracle Solaris 10)

Enabling the Logical Domains Manager Daemon

How to Enable the Logical Domains Manager Daemon

Upgrading a System That Is Already Using Oracle VM Server for SPARC

Upgrading the Oracle Solaris OS

Saving and Restoring Autosave Configuration Directories

How to Save and Restore Autosave Directories

Saving and Restoring the Logical Domains Constraints Database File

Preserving the Logical Domains Constraints Database File When Using the Oracle Solaris 10 Live Upgrade Feature

Upgrading the Logical Domains Manager and the System Firmware

How to Stop All Domains Running on the Platform, Except the Control Domain

Upgrading to Oracle VM Server for SPARC 3.1 Software

How to Upgrade to the Oracle VM Server for SPARC 3.1 Software (Oracle Solaris 10)

How to Upgrade to the Oracle VM Server for SPARC 3.1 Software (Oracle Solaris 11)

Factory Default Configuration and Disabling Domains

How to Remove All Guest Domains

How to Remove All Domain Configurations

How to Restore the Factory Default Configuration

How to Disable the Logical Domains Manager

How to Remove the Logical Domains Manager

How to Restore the Factory Default Configuration From the Service Processor

Chapter 3 Oracle VM Server for SPARC Security

Delegating the Management of Logical Domains by Using Rights

Using Rights Profiles and Roles

Managing User Rights Profiles

How to Assign a Rights Profile to a User

Assigning Roles to Users

How to Create a Role and Assign the Role to a User

Logical Domains Manager Rights Profile Contents

Controlling Access to a Domain Console by Using Rights

How to Control Access to All Domain Consoles by Using Roles

How to Control Access to All Domain Consoles by Using Rights Profiles

How to Control Access to a Single Console by Using Roles

How to Control Access to a Single Console by Using Rights Profiles

Enabling and Using Auditing

How to Enable Auditing

How to Disable Auditing

How to Review Audit Records

How to Rotate Audit Logs

Using Domain Console Logging

How to Enable or Disable Console Logging

Service Domain Requirements for Domain Console Logging

Chapter 4 Setting Up Services and the Control Domain

Output Messages

Creating Default Services

How to Create Default Services

Initial Configuration of the Control Domain

How to Configure the Control Domain

Rebooting to Use Domains

How to Reboot

Enabling Networking Between the Control/Service Domain and Other Domains

How to Configure the Virtual Switch as the Primary Interface

Enabling the Virtual Network Terminal Server Daemon

How to Enable the Virtual Network Terminal Server Daemon

Chapter 5 Setting Up Guest Domains

Creating and Starting a Guest Domain

How to Create and Start a Guest Domain

Installing Oracle Solaris OS on a Guest Domain

How to Install the Oracle Solaris OS on a Guest Domain From a DVD

How to Install the Oracle Solaris OS on a Guest Domain From an Oracle Solaris ISO File

How to Use the Oracle Solaris JumpStart Feature on an Oracle Solaris 10 Guest Domain

Chapter 6 Setting Up I/O Domains

I/O Domain Overview

General Guidelines for Creating an I/O Domain

Creating a Root Domain by Assigning PCIe Buses

How to Create an I/O Domain by Assigning a PCIe Bus

Creating an I/O Domain by Assigning PCIe Endpoint Devices

Direct I/O Hardware and Software Requirements

Current Direct I/O Feature Limitations

Planning PCIe Endpoint Device Configuration

Rebooting the Root Domain

Making PCIe Hardware Changes

How to Create an I/O Domain by Assigning a PCIe Endpoint Device

Creating an I/O Domain by Assigning PCIe SR-IOV Virtual Functions

SR-IOV Overview

SR-IOV Hardware and Software Requirements

Current SR-IOV Feature Limitations

Static SR-IOV

Static SR-IOV Software Requirements

Dynamic SR-IOV

Dynamic SR-IOV Software Requirements

Dynamic SR-IOV Configuration Requirements

Enabling I/O Virtualization

How to Enable I/O Virtualization for a PCIe Bus

Planning for the Use of PCIe SR-IOV Virtual Functions

Using Ethernet SR-IOV Virtual Functions

Ethernet SR-IOV Hardware Requirements

Ethernet SR-IOV Limitations

Planning for the Use of Ethernet SR-IOV Virtual Functions

Ethernet Device-Specific and Network-Specific Properties

Creating Ethernet Virtual Functions

How to Create an Ethernet SR-IOV Virtual Function

Destroying Ethernet Virtual Functions

How to Destroy an Ethernet SR-IOV Virtual Function

Modifying Ethernet SR-IOV Virtual Functions

How to Modify an Ethernet SR-IOV Virtual Function

Adding and Removing Ethernet SR-IOV Virtual Functions on I/O Domains

How to Add an Ethernet SR-IOV Virtual Function to an I/O Domain

How to Remove an Ethernet Virtual SR-IOV Function From an I/O Domain

Advanced SR-IOV Topics: Ethernet SR-IOV

Advanced Network Configuration for Virtual Functions

Booting an I/O Domain by Using an SR-IOV Virtual Function

SR-IOV Device-Specific Properties

Creating VNICs on SR-IOV Virtual Functions

Using an SR-IOV Virtual Function to Create an I/O Domain

How to Create an I/O Domain by Assigning an SR-IOV Virtual Function to It

Using InfiniBand SR-IOV Virtual Functions

InfiniBand SR-IOV Hardware Requirements

Creating and Destroying InfiniBand Virtual Functions

How to Create an InfiniBand Virtual Function

How to Destroy an InfiniBand Virtual Function

Adding and Removing InfiniBand Virtual Functions on I/O Domains

How to Add an InfiniBand Virtual Function to an I/O Domain

How to Remove an InfiniBand Virtual Function From an I/O Domain

Adding and Removing InfiniBand Virtual Functions to Root Domains

How to Add an InfiniBand Virtual Function to a Root Domain

How to Remove an InfiniBand Virtual Function From a Root Domain

Advanced SR-IOV Topics: InfiniBand SR-IOV

Listing InfiniBand SR-IOV Virtual Functions

Identifying InfiniBand SR-IOV Functions

Using Fibre Channel SR-IOV Virtual Functions

Fibre Channel SR-IOV Hardware Requirements

Fibre Channel SR-IOV Requirements and Limitations

Fibre Channel Device Class-Specific Properties

World-Wide Name Allocation for Fibre Channel Virtual Functions

Creating Fibre Channel SR-IOV Virtual Functions

How to Create a Fibre Channel SR-IOV Virtual Function

Destroying Fibre Channel SR-IOV Virtual Functions

How to Destroy a Fibre Channel SR-IOV Virtual Function

Modifying Fibre Channel SR-IOV Virtual Functions

How to Modify a Fibre Channel SR-IOV Virtual Function

Adding and Removing Fibre Channel SR-IOV Virtual Functions on I/O Domains

How to Add a Fibre Channel SR-IOV Virtual Function to an I/O Domain

How to Remove a Fibre Channel SR-IOV Virtual Function From an I/O Domain

Advanced SR-IOV Topics: Fibre Channel SR-IOV

Accessing a Fibre Channel Virtual Function in a Guest Domain

SR-IOV: Rebooting the Root Domain

Using Non-primary Root Domains

Non-primary Root Domain Requirements

Non-primary Root Domain Limitations

Enabling I/O Virtualization for a PCIe Bus

Managing Direct I/O Devices on Non-primary Root Domains

Managing SR-IOV Virtual Functions on Non-primary Root Domains

Chapter 7 Using Virtual Disks

Introduction to Virtual Disks

Virtual Disk Identifier and Device Name

Managing Virtual Disks

How to Add a Virtual Disk

How to Export a Virtual Disk Back End Multiple Times

How to Change Virtual Disk Options

How to Change the Timeout Option

How to Remove a Virtual Disk

Virtual Disk Appearance

Full Disk

Single-Slice Disk

Virtual Disk Back End Options

Read-only (ro) Option

Exclusive (excl) Option

Slice (slice) Option

Virtual Disk Back End

Physical Disk or Disk LUN

How to Export a Physical Disk as a Virtual Disk

Physical Disk Slice

How to Export a Physical Disk Slice as a Virtual Disk

How to Export Slice 2

File and Volume Exporting

File or Volume Exported as a Full Disk

How to Export a File as a Full Disk

How to Export a ZFS Volume as a Full Disk

File or Volume Exported as a Single-Slice Disk

How to Export a ZFS Volume as a Single-Slice Disk

Exporting Volumes and Backward Compatibility

Summary of How Different Types of Back Ends Are Exported

Guidelines for Exporting Files and Disk Slices as Virtual Disks

Using the Loopback File (lofi) Driver

Directly or Indirectly Exporting a Disk Slice

Configuring Virtual Disk Multipathing

Virtual Disk Multipathing and Virtual Disk Timeout

How to Configure Virtual Disk Multipathing

CD, DVD and ISO Images

How to Export a CD or DVD From the Service Domain to the Guest Domain

How to Export an ISO Image From the Control Domain to Install a Guest Domain

Virtual Disk Timeout

Virtual Disk and SCSI

Virtual Disk and the format Command

Using ZFS With Virtual Disks

Configuring a ZFS Pool in a Service Domain

Storing Disk Images With ZFS

Examples of Storing Disk Images With ZFS

Creating a Snapshot of a Disk Image

Using Clone to Provision a New Domain

Cloning a Boot Disk Image

How to Create a Snapshot of a Disk Image of an Unconfigured System

Using Volume Managers in an Oracle VM Server for SPARC Environment

Using Virtual Disks With Volume Managers

Using Virtual Disks With Solaris Volume Manager

Using Virtual Disks When VxVM Is Installed

Using Volume Managers With Virtual Disks

Using ZFS With Virtual Disks

Using Solaris Volume Manager With Virtual Disks

Using VxVM With Virtual Disks

Chapter 8 Using Virtual Networks

Introduction to a Virtual Network

Oracle Solaris 10 Networking Overview

Oracle Solaris 11 Networking Overview

Maximizing Virtual Network Performance

Hardware and Software Requirements

Configuring Your Domains to Maximize the Performance of Your Virtual Network

Virtual Switch

Virtual Network Device

Inter-Vnet LDC Channels

Controlling the Amount of Physical Network Bandwidth That Is Consumed by a Virtual Network Device

Network Bandwidth Limitations

Setting the Network Bandwidth Limit

Virtual Device Identifier and Network Interface Name

How to Find Oracle Solaris OS Network Interface Name

Assigning MAC Addresses Automatically or Manually

Range of MAC Addresses Assigned to Domains

Automatic Assignment Algorithm

Duplicate MAC Address Detection

Freed MAC Addresses

Using Network Adapters With Domains

How to Determine Whether a Network Adapter Is GLDv3-Compliant (Oracle Solaris 10)

Configuring a Virtual Switch and the Service Domain for NAT and Routing

Configuring NAT on an Oracle Solaris 10 System

How to Set Up a Virtual Switch to Provide External Connectivity to Domains (Oracle Solaris 10)

Configuring NAT on an Oracle Solaris 11 System

How to Set Up a Virtual Switch to Provide External Connectivity to Domains (Oracle Solaris 11)

Configuring IPMP in an Oracle VM Server for SPARC Environment

Configuring Virtual Network Devices Into an IPMP Group in a Domain

Configuring and Using IPMP in the Service Domain

Using Link-Based IPMP in Oracle VM Server for SPARC Virtual Networking

How to Configure Physical Link Status Updates

Configuring and Using IPMP in Releases Prior to Logical Domains 1.3

Configuring IPMP in the Guest Domain

Configuring IPMP in the Service Domain

How to Configure a Host Route for Probe-Based IPMP

Using VLAN Tagging

Port VLAN ID

VLAN ID

How to Assign VLANs to a Virtual Switch and Virtual Network Device

How to Install a Guest Domain When the Install Server Is in a VLAN

Using Private VLANs

PVLAN Configuration Information

Creating and Removing PVLANs

Creating a PVLAN

Removing a PVLAN

Viewing PVLAN Information

Using NIU Hybrid I/O

How to Configure a Virtual Switch With an NIU Network Device

How to Enable or Disable Hybrid Mode

Using Link Aggregation With a Virtual Switch

Configuring Jumbo Frames

How to Configure Virtual Network and Virtual Switch Devices to Use Jumbo Frames

Compatibility With Older (Jumbo-Unaware) Versions of the vnet and vsw Drivers (Oracle Solaris 10)

Oracle Solaris 11 Networking-Specific Feature Differences

Chapter 9 Migrating Domains

Introduction to Domain Migration

Overview of a Migration Operation

Software Compatibility

Security for Migration Operations

Migrating a Domain

Performing a Dry Run

Performing Non-Interactive Migrations

Migrating an Active Domain

Domain Migration Requirements for CPUs

Migration Requirements for Memory

Migration Requirements for Physical I/O Devices

Migration Requirements for Virtual I/O Devices

Migration Requirements for PCIe Endpoint Devices

Migration Requirements for PCIe SR-IOV Virtual Functions

Migration Requirements for NIU Hybrid I/O

Migration Requirements for Cryptographic Units

Delayed Reconfiguration in an Active Domain

Migrating While an Active Domain Has the Power Management Elastic Policy in Effect

Operations on Other Domains

Migrating a Domain From the OpenBoot PROM or a Domain That Is Running in the Kernel Debugger

Migrating Bound or Inactive Domains

Migration Requirements for Virtual I/O Devices

Migration Requirements for PCIe Endpoint Devices

Migration Requirements for PCIe SR-IOV Virtual Functions

Monitoring a Migration in Progress

Canceling a Migration in Progress

Recovering From a Failed Migration

Migration Examples

Chapter 10 Managing Resources

Resource Reconfiguration

Dynamic Reconfiguration

Delayed Reconfiguration

Resource Allocation

CPU Allocation

How to Apply the Whole-Core Constraint

How to Apply the Max-Cores Constraint

Interactions Between the Whole-Core Constraint and Other Domain Features

CPU Dynamic Reconfiguration

Dynamic Resource Management

Configuring the System With Hard Partitions

Checking the Configuration of a Domain

Configuring a Domain With CPU Whole Cores

How to Create a New Domain With CPU Whole Cores

How to Configure an Existing Domain With CPU Whole Cores

How to Configure the Primary Domain With CPU Whole Cores

Interaction of Hard Partitioned Systems With Other Oracle VM Server for SPARC Features

CPU Dynamic Reconfiguration

CPU Dynamic Resource Management

Power Management

Domain Reboot or Rebind

Assigning Physical Resources to Domains

How to Remove the physical-bindings Constraint

How to Remove All Non-Physically Bound Resources

Managing Physical Resources on the Control Domain

Restrictions for Managing Physical Resources on Domains

Using Memory Dynamic Reconfiguration

Adding Memory

Removing Memory

Partial Memory DR Requests

Memory Reconfiguration of the Control Domain

Decrease the Control Domain's Memory

Dynamic and Delayed Reconfiguration

Memory Alignment

Memory Alignment for Active Domains

Memory Alignment for Bound Domains

Memory Alignment for Inactive Domains

Adding Unaligned Memory

Memory DR Examples

Using Power Management

Using Dynamic Resource Management

Listing Domain Resources

Machine-Readable Output

Flag Definitions

Utilization Statistic Definition

Viewing Various Lists

Listing Constraints

Chapter 11 Managing Domain Configurations

Managing Domain Configurations

Available Configuration Recovery Methods

Restoring Configurations By Using Autosave

Autorecovery Policy

How to Modify the Autorecovery Policy

Saving Domain Configurations

Restoring Domain Configurations

How to Restore a Domain Configuration From an XML File (ldm add-domain)

How to Restore a Domain Configuration From an XML File (ldm init-system)

Chapter 12 Handling Hardware Errors

Hardware Error-Handling Overview

Using FMA to Blacklist or Unconfigure Faulty Resources

Recovering Domains After Detecting Faulty or Missing Resources

Degraded Configuration

Enabling Recovery Mode

Marking Domains as Degraded

Marking I/O Resources as Evacuated

Chapter 13 Performing Other Administration Tasks

Entering Names in the CLI

Connecting to a Guest Console Over the Network

Using Console Groups

How to Combine Multiple Consoles Into One Group

Stopping a Heavily Loaded Domain Can Time Out

Operating the Oracle Solaris OS With Oracle VM Server for SPARC

OpenBoot Firmware Not Available After the Oracle Solaris OS Has Started

Performing a Power Cycle of a Server

Result of Oracle Solaris OS Breaks

Results From Halting or Rebooting the Control Domain

Using Oracle VM Server for SPARC With the Service Processor

Configuring Domain Dependencies

Domain Dependency Examples

Dependency Cycles

Determining Where Errors Occur by Mapping CPU and Memory Addresses

CPU Mapping

Memory Mapping

Example of CPU and Memory Mapping

Using Universally Unique Identifiers

Virtual Domain Information Command and API

Using Logical Domain Channels

Part II Optional Oracle VM Server for SPARC Software

Glossary

Index

How to Create an I/O Domain by Assigning a PCIe Bus

This example procedure shows how to create a new I/O domain from an initial configuration where several buses are owned by the primary domain. By default the primary domain owns all buses present on the system. This example is for a SPARC T4-2 server. This procedure can also be used on other servers. The instructions for different servers might vary slightly from these, but you can obtain the basic principles from this example.

First, you must retain the bus that has the primary domain's boot disk. Then, you remove another bus from the primary domain and assign it to another domain.


Caution

Caution  - All internal disks on the supported servers might be connected to a single PCIe bus. If a domain is booted from an internal disk, do not remove that bus from the domain. Also, ensure that you are not removing a bus with devices (such as network ports) that are used by a domain. If you remove the wrong bus, a domain might not be able to access the required devices and could become unusable. To remove a bus that has devices that are used by a domain, reconfigure that domain to use devices from other buses. For example, you might have to reconfigure the domain to use a different on-board network port or a PCIe card from a different PCIe slot.


In this example, the primary domain uses only a ZFS pool (rpool) and network interface (igb0). If the primary domain uses more devices, repeat Steps 2-4 for each device to ensure that none are located on the bus that will be removed.

You can add a bus to or remove a bus from a domain by using its device path (pci@nnn) or its pseudonym (pci_n). The ldm list-bindings primary or ldm list -l -o physio primary command shows the following:

  1. Verify that the primary domain owns more than one PCIe bus.
    primary# ldm list-io
    NAME                                      TYPE   BUS      DOMAIN   STATUS
    ----                                      ----   ---      ------   ------
    pci_0                                     BUS    pci_0    primary
    pci_1                                     BUS    pci_1    primary
    pci_2                                     BUS    pci_2    primary
    pci_3                                     BUS    pci_3    primary
    /SYS/MB/PCIE1                             PCIE   pci_0    primary  EMP
    /SYS/MB/SASHBA0                           PCIE   pci_0    primary  OCC
    /SYS/MB/NET0                              PCIE   pci_0    primary  OCC
    /SYS/MB/PCIE5                             PCIE   pci_1    primary  EMP
    /SYS/MB/PCIE6                             PCIE   pci_1    primary  EMP
    /SYS/MB/PCIE7                             PCIE   pci_1    primary  EMP
    /SYS/MB/PCIE2                             PCIE   pci_2    primary  EMP
    /SYS/MB/PCIE3                             PCIE   pci_2    primary  EMP
    /SYS/MB/PCIE4                             PCIE   pci_2    primary  EMP
    /SYS/MB/PCIE8                             PCIE   pci_3    primary  EMP
    /SYS/MB/SASHBA1                           PCIE   pci_3    primary  OCC
    /SYS/MB/NET2                              PCIE   pci_3    primary  OCC
    /SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary
    /SYS/MB/NET0/IOVNET.PF1                   PF     pci_0    primary
    /SYS/MB/NET2/IOVNET.PF0                   PF     pci_3    primary
    /SYS/MB/NET2/IOVNET.PF1                   PF     pci_3    primary
  2. Determine the device path of the boot disk that must be retained.
    • For UFS file systems, run the df / command to determine the device path of the boot disk.
      primary# df /
      /                  (/dev/dsk/c0t5000CCA03C138904d0s0):22755742 blocks  2225374 files
    • For ZFS file systems, first run the df / command to determine the pool name. Then, run the zpool status command to determine the device path of the boot disk.
      primary# zpool status rpool
        pool: rpool
       state: ONLINE
        scan: none requested
      config:
      
              NAME                       STATE     READ WRITE CKSUM
              rpool                      ONLINE       0     0     0
                c0t5000CCA03C138904d0s0  ONLINE       0     0     0
  3. Obtain information about the system's boot disk.
    • For a disk that is managed with Solaris I/O multipathing, determine the PCIe bus under which the boot disk is connected by using the mpathadm command.

      Starting with the SPARC T3 servers, the internal disks are managed by Solaris I/O multipathing.

      1. Find the initiator port to which the disk is connected.
        primary# mpathadm show lu /dev/rdsk/c0t5000CCA03C138904d0s0
        Logical Unit:  /dev/rdsk/c0t5000CCA03C138904d0s2
                mpath-support:  libmpscsi_vhci.so
                Vendor:  HITACHI 
                Product:  H106030SDSUN300G
                Revision:  A2B0
                Name Type:  unknown type
                Name:  5000cca03c138904
                Asymmetric:  no
                Current Load Balance:  round-robin
                Logical Unit Group ID:  NA
                Auto Failback:  on
                Auto Probing:  NA
        
                Paths:  
                        Initiator Port Name:  w50800200014100c8
                        Target Port Name:  w5000cca03c138905
                        Override Path:  NA
                        Path State:  OK
                        Disabled:  no
        
                Target Ports:
                        Name:  w5000cca03c138905
                        Relative ID:  0
      2. Determine the PCIe bus on which the initiator port is present.
        primary# mpathadm show initiator-port w50800200014100c8
        Initiator Port:  w50800200014100c8
                Transport Type:  unknown
                OS Device File:  /devices/pci@400/pci@2/pci@0/pci@e/scsi@0/iport@1
    • For a disk that is not managed with Solaris I/O multipathing, determine the physical device to which the block device is linked by using the ls -l command.

      Use this command for a disk on an UltraSPARC T2 or UltraSPARC T2 Plus system that is not managed with Solaris I/O multipathing.

      The following example uses block device c1t0d0s0:

      primary# ls -l /dev/dsk/c0t1d0s0
      lrwxrwxrwx   1 root     root          49 Oct  1 10:39 /dev/dsk/c0t1d0s0 ->
      ../../devices/pci@400/pci@0/pci@1/scsi@0/sd@1,0:a

      In this example, the physical device for the primary domain's boot disk is connected to the pci@400 bus.

  4. Determine the network interface that is used by the system.

    Identify the primary network interface that is “plumbed” by using the ifconfig command. A plumbed interface has streams set up so that the IP protocol can use the device.

    • Oracle Solaris 10:
      primary# ifconfig -a
      lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
              inet 127.0.0.1 netmask ff000000 
      igb0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 3
              inet 10.129.241.135 netmask ffffff00 broadcast 10.129.241.255
              ether 0:10:e0:e:f1:78
    • Oracle Solaris 11:
      primary# ifconfig -a
      lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
              inet 127.0.0.1 netmask ff000000 
      net0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 3
              inet 10.129.241.135 netmask ffffff00 broadcast 10.129.241.255
              ether 0:10:e0:e:f1:78 
      
      primary# dladm show-phys net0
      LINK              MEDIA                STATE      SPEED  DUPLEX    DEVICE
      net0              Ethernet             up         1000   full      igb0
  5. Determine the physical device to which the network interface is linked.

    The following command uses the igb0 network interface:

    primary# ls -l /dev/igb0
    lrwxrwxrwx   1 root     root          46 Oct  1 10:39 /dev/igb0  ->
    ../devices/pci@500/pci@0/pci@c/network@0:igb0 

    In this example, the physical device for the network interface used by the primary domain is under bus pci@500, which corresponds to the earlier listing of pci_1. So, the other two buses, pci_2 (pci@600) and pci_3 (pci@700), can safely be assigned to other domains because they are not used by the primary domain.

    If the network interface used by the primary domain is on a bus that you want to assign to another domain, reconfigure the primary domain to use a different network interface.

  6. Remove a bus that does not contain the boot disk or the network interface from the primary domain.

    In this example, the pci_2 bus is being removed from the primary domain. You must also initiate a delayed reconfiguration.

    primary# ldm start-reconf primary
    primary# ldm remove-io pci_2 primary
    

    The bus that the primary domain uses for the boot disk and the network device cannot be assigned to other domains. You can assign any of the other buses to another domain. In this example, the pci@600 is not used by the primary domain, so you can reassign it to another domain.

  7. Save this configuration to the service processor.

    In this example, the configuration is io-domain.

    primary# ldm add-config io-domain

    This configuration, io-domain, is also set as the next configuration to be used after the reboot.

  8. Reboot the root domain so that the change takes effect.
    primary# shutdown -i6 -g0 -y
  9. Stop the domain to which you want to add the PCIe bus.

    The following example stops the ldg1 domain:

    primary# ldm stop ldg1
  10. Add the available bus to the domain that needs direct access.

    The available bus is pci_2 and the domain is ldg1.

    primary# ldm add-io pci_2 ldg1
  11. Restart the domain so that the change takes affect.

    The following commands restart the ldg1 domain:

    primary# ldm start ldg1
  12. Confirm that the correct bus is still assigned to the primary domain and that the correct bus is assigned to domain ldg1.
    primary# ldm list-io
    NAME                                      TYPE   BUS      DOMAIN   STATUS
    ----                                      ----   ---      ------   ------
    pci_0                                     BUS    pci_0    primary
    pci_1                                     BUS    pci_1    primary
    pci_2                                     BUS    pci_2    ldg1
    pci_3                                     BUS    pci_3    primary
    /SYS/MB/PCIE1                             PCIE   pci_0    primary  EMP
    /SYS/MB/SASHBA0                           PCIE   pci_0    primary  OCC
    /SYS/MB/NET0                              PCIE   pci_0    primary  OCC
    /SYS/MB/PCIE5                             PCIE   pci_1    primary  EMP
    /SYS/MB/PCIE6                             PCIE   pci_1    primary  EMP
    /SYS/MB/PCIE7                             PCIE   pci_1    primary  EMP
    /SYS/MB/PCIE2                             PCIE   pci_2    ldg1     EMP
    /SYS/MB/PCIE3                             PCIE   pci_2    ldg1     EMP
    /SYS/MB/PCIE4                             PCIE   pci_2    ldg1     EMP
    /SYS/MB/PCIE8                             PCIE   pci_3    primary  EMP
    /SYS/MB/SASHBA1                           PCIE   pci_3    primary  OCC
    /SYS/MB/NET2                              PCIE   pci_3    primary  OCC
    /SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary
    /SYS/MB/NET0/IOVNET.PF1                   PF     pci_0    primary
    /SYS/MB/NET2/IOVNET.PF0                   PF     pci_3    primary
    /SYS/MB/NET2/IOVNET.PF1                   PF     pci_3    primary

    This output confirms that PCIe buses pci_0, pci_1, and pci_3 and their devices are assigned to the primary domain. It also confirms that PCIe bus pci_2 and its devices are assigned to the ldg1 domain.