News, tips, partners, and perspectives for Oracle’s virtualization offerings

Oracle VM Server for SPARC 3.6 features - DLMP aggregation on virtual networks

Jeff Savit
Product Management Senior Manager

Oracle VM Server for SPARC developer Lidong Chen contributed this post describing enhanced functionality.

DLMP Over a Virtual Network

The Oracle VM Server for SPARC 3.6 software supports datalink multipathing (DLMP) aggregation over virtual network devices. Previously, this feature was only available for physical network devices.

DLMP aggregation is similar to IP multipathing (IPMP). Both provide high-availability (HA) for network connections. While IPMP manages IP addresses on a set of network interfaces, DLMP manages the virtual NICs.

DLMP provides high-availability capabilities that enable network connections to remain up even when a service domain becomes unavailable due to a reboot or a panic. With this new release, DLMP is available over virtual network devices, so physical devices can be more efficiently shared, and the guest domains can be live migrated to other hosts.

For details on advantages of DLMP aggregation, see Managing Network Datalinks in Oracle Solaris 11.4.

DLMP aggregation over virtual network devices has the following limitations:

  • A DLMP aggregation is not operable if one of the connected virtual switches is configured over an Ethernet stub.
  • The underlying physical device of each connected virtual switch (as specified by the net-dev property) must have the same link speed.

Configure a High-Availability DLMP Aggregation

To configure DLMP aggregation over virtual network devices on a domain, the service domain and the guest domain must run Oracle Solaris 11.4. Before configuring a DLMP aggregation on a domain, the virtual network devices must have the linkprop property set to phys-state and the custom property set to enable.

The following example shows how to configure a HA DLMP aggregation on the ldg6 domain. In this example, DLMP aggregation is configured on top of two virtual switches. primary-vsw0 is on the primary domain  and ldg5-vsw0 is on the ldg5 domain.

Note that the shell prompt indicates the domain in which to run the commands:

  • primary# for the primary domain
  • ldg5# for the second service domain ldg5
  • ldg6# for the guest domain ldg6 on which the DLMP aggregation is configured.
  • domain# for an external host.
  1. Ensure that the underlying physical device of each virtual switch has the same link speed.
    net0 and net2 are the underlying physical device of the primary-vsw0 and ldg5-vsw0 virtual switches, respectively.

    primary# dladm show-phys  net0

    LINK            MEDIA         STATE  SPEED  DUPLEX    DEVICE

    net0            Ethernet      up         1000      full            igb0

    ldg5# dladm show-phys net2

    LINK            MEDIA         STATE   SPEED  DUPLEX    DEVICE

    net2            Ethernet      up          1000       full            igb2

  2. Determine which virtual network devices to use.
    In this example, the DLMP aggregation is configured over net0 and net1 on the ldg6 domain. net0 and net1 are the Oracle Solaris 11 vanity names for the vnet6 and vnet1 virtual network devices. vnet6 connects to primary-vsw0 and vnet1 connects to ldg5-vsw0.

    primary# ldm list-netdev ldg6

    NAME    CLASS    MEDIA   STATE    SPEED  OVER     LOC           

    ----          -----        -----        -----        -----        ----         ---           

    net0       VNET     ETHER    up          1G         vnet0    primary-vsw0/vnet6

    net1       VNET     ETHER    up          1G         vnet1    ldg5-vsw0/vnet1

    ldg6# dladm show-phys

    LINK            MEDIA         STATE    SPEED  DUPLEX    DEVICE

    net0            Ethernet      up          1000       full            vnet0

    net1            Ethernet      up          1000       full            vnet1

  3. Ensure that the virtual network devices for DLMP aggregation have the custom property set to enable and the linkprop property set to phys-state.     

    primary# ldm list –o network ldg6


        NAME         SERVICE                      MACADDRESS          PVID|PVLAN|VIDs

        ----               -------                          -------------------          -----------------------

        vnet6        primary-vsw0@primary   00:14:4f:f9:cf:47      1|--|--     

                DEVICE        :network@0         ID         :0             

                LINKPROP   :phys-state        MTU    :1500          

                MAXBW      :--                        MODE :--            

                CUSTOM     :enable        

                MAX-CUSTOM-MACS:4096        MAX-CUSTOM-VLANS:4096


        NAME        SERVICE                    MACADDRESS          PVID|PVLAN|VIDs

        ----            ------------                    -------------------          ----------------------

        vnet1        ldg5-vsw0@ldg5         00:14:4f:fb:f5:33         1|--|--     

                DEVICE        :network@1     ID        :1             

                LINKPROP   :phys-state       MTU    :1500          

                MAXBW        :--                    MODE :--            

                CUSTOM     :enable        

                MAX-CUSTOM-MACS:4096        MAX-CUSTOM-VLANS:4096

  4. Configure the DLMP aggregation.
    Note: Ensure that the net0 and net1 datalinks that are configured into the DLMP aggregation do not have any IP interface configured over them

    ldg6# dladm  create-aggr -m dlmp -l net0 -l net1 aggr0

  5. Configure an IP address for the DLMP aggregation.

    ldg6# ipadm create-ip aggr0

    ldg6# ipadm create-addr –T dhcp aggr0/v4

  6. Verify the DLMP configuration.

    ldg6# dladm show-aggr aggr0   


    aggr0             dlmp    --             --                          --                         --

    ldg6# dladm show-aggr –x

    LINK      PORT       SPEED    DUPLEX   STATE     ADDRESS             PORTSTATE

    aggr0     --             1000Mb    full           up          2:8:20:88:84:ba      --

                  net0         1000Mb    full           up          0:14:4f:f9:cf:47     attached

                  net1         1000Mb    full           up          0:14:4f:fb:f5:33     attached
  7. Enable probe-based failure detection for the DLMP aggregation.

    ldg6# dladm set-linkprop  -p  probe-ip=+  aggr0

  8. Verify the detailed probe information about the DLMP aggregation.

    ldg6# dladm show-aggr –nS

    LINK       PORT           FLAGS    STATE   TARGETS      XTARGETS

    aggr0      net0             u--3         active    net1

    --             net1            u-2-         active      --                    net0

    ldg6# ipadm

    NAME               CLASS/TYPE  STATE     UNDER      ADDR

    aggr0                 ip                   ok             --                --

          aggr0/v4     dhcp              ok            --     

  9. Confirm that the DLMP aggregation on the ldg6 domain provides HA capability for the domain.
    Reboot one of the service domains and confirm that the ldg6 guest domain network connection remains up by pinging ldg6 via the DLMP interface. In this example, the rebooted service domain is the primary domain.

    primary# reboot

    domain# ping is alive

At this point, DLMP aggregation is successfully configured on the ldg6 domain and provides HA capability for the domain.


This new feature of Oracle VM Server for SPARC permits datalink multipathing (DLMP) in guest domains, using virtual network devices. This provides improved network availability for virtual network devices, increases ability to share physical devices, and permits flexibility for domain configuration and migration.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.