How to Configure a DLMP Aggregation in a Domain

Before You Begin

Before you can configure a DLMP aggregation over virtual network devices in a domain, you must ensure that the linkprop property for each virtual network device is set to phys-state and that the custom property set to enable. For more information, see How to Configure Physical Link Status Updates, Configuring Trusted Virtual Networks, and the ldm(8) man page.

The steps you perform in this procedure are run in two domains, the domain in which you create the DLMP aggregation and the primary domain.

The shell prompt indicates the domain in which to run the commands: gdom# for the DLMP aggregation domain and primary# for the primary domain.

  1. Determine which virtual network devices to use.

    Any of the virtual network devices that you choose cannot be in use.

    gdom# dladm show-phys -m
  2. Ensure that the virtual network devices you choose for the DLMP aggregation have the custom property set to enable and the linkprop property set to phys-state.
    primary# ldm list -o network domain-name
  3. Configure the DLMP aggregation.

    The following command assumes that two virtual network devices are used for the DLMP aggregation.

    gdom# dladm create-aggr -m dlmp -l net-name1 -l net-name2 aggr-name

    Note:

    Ensure that the network devices that are configured into the DLMP aggregation do not have any IP interface configured over them.
  4. Configure an IP interface for the DLMP aggregation.
    gdom# ipadm create-ip aggr-name
  5. Configure an IP address for the DLMP aggregation.
    gdom# ipadm create-addr -a IP-addr/24 aggr-name
  6. Verify the configuration of the DLMP aggregation and verify that the network devices used by the aggregation are attached.
    gdom# dladm show-aggr -x
  7. Verify the configuration of the DLMP aggregation and the network devices.
    primary# ldm list-netdev domain-name
  8. Enable probe-based failure detection for the DLMP aggregation.
    gdom# dladm set-linkprop -p probe-ip=+ aggr-name
  9. Verify the detailed probe information about the DLMP aggregation configuration.
    gdom# dladm show-aggr -nS

Example 13-8 Configuring a DLMP Aggregation in a Domain

This example follows the steps in the procedure to create a DLMP aggregation.

You can determine that net1 and net2 are the Oracle Solaris 11 vanity names for vnet1 and vnet2 by matching the MAC addresses.

gdom# dladm show-phys -m
LINK                SLOT     ADDRESS            INUSE CLIENT
net0                primary  0:14:4f:fb:68:f1   yes   net0
net1                primary  0:14:4f:fa:20:68   no    --
net2                primary  0:14:4f:fa:42:a8   no    --

Verify that the custom property is set to enable and that the linkprop property is set to phys-state on the virtual network devices that will be used for the DLMP aggregation. Also, verify that the vnet1 and vnet2 virtual network devices are associated with different virtual switches.

primary# ldm list -o network gdom
NAME         SERVICE                MACADDRESS          PVID|PVLAN|VIDs
----         -------                ----------          ---------------
vnet1        primary-vsw0@primary   00:14:4f:fa:20:68   1|--|--      
 DEVICE     :network@3       ID   :3              
LINKPROP   :phys-state      MTU  :1500           
 MAXBW      :--              MODE :--             
CUSTOM     :enable
 MAX-CUSTOM-MACS:4096        MAX-CUSTOM-VLANS:4096
 PRIORITY   :--              COS  :--             
 PROTECTION :--             

NAME         SERVICE                MACADDRESS          PVID|PVLAN|VIDs
----         -------                ----------          ---------------
vnet2        primary-vsw1@primary   00:14:4f:fa:42:a8   1|--|--      
 DEVICE     :network@3       ID   :3              
LINKPROP   :phys-state      MTU  :1500           
 MAXBW      :--              MODE :--             
CUSTOM     :enable
 MAX-CUSTOM-MACS:4096        MAX-CUSTOM-VLANS:4096
 PRIORITY   :--              COS  :--             
 PROTECTION :--

Note that the underlying device of the primary-vsw0 and primary-vsw1 virtual switches must have the same link speed to support DLMP aggregation over the vnet1 and vnet2 virtual network devices. The single service domain shown in this example is not a high-availability configuration. If the primary domain fails, DLMP aggregation fails. A high-availability configuration must use at least two service domains.

Configure the DLMP aggregation.

gdom# dladm create-aggr -m dlmp -l net1 -l net2 aggr0

Configure an IP interface for the DLMP aggregation.

gdom# ipadm create-ip aggr0

Configure an IP address for the DLMP aggregation.

gdom# ipadm create-addr -a 192.168.10.14/24 aggr0

Verify the configuration of the DLMP aggregation and verify that the network devices used by the aggregation are attached.

gdom# dladm show-aggr -x
LINK       PORT    SPEED   DUPLEX   STATE   ADDRESS           PORTSTATE
aggr0      --      1000Mb  full     up      2:8:20:d4:52:cc   --
net1               1000Mb  full     up      0:14:4f:fa:20:68  attached
net2               1000Mb  full     up      0:14:4f:fa:42:a8  attached

Verify the configuration of the DLMP aggregation and the network devices.

primary# ldm list-netdev gdom
DOMAIN
gdom    

NAME        CLASS    MEDIA    STATE    SPEED    OVER     LOC            
----        -----    -----    -----    -----    ----     ---     
aggr        AGGR     ETHER    up       1G       net1,net2 --  
net0        VNET     ETHER    up       1G       vnet0    primary-vsw0/vnet0
net1        VNET     ETHER    up       1G       vnet1    primary-vsw0/vnet1
net2        VNET     ETHER    up       1G       vnet2    primary-vsw1/vnet2

Enable probe-based failure detection for DLMP and verify the detailed probe information about the DLMP aggregation configuration.

gdom# dladm set-linkprop -p probe-ip=+ aggr0
gdom# dladm show-aggr -nS
LINK       PORT           FLAGS STATE   TARGETS         XTARGETS
aggr0      net1           u--3  active  192.168.10.1    net2
--         net2           u-2-  active  --              net1

Example 13-9 Configuring a High-Availability DLMP Aggregation

This example follows the steps in the procedure to create a high-availability DLMP aggregation. The difference is that the net2 (vnet2) network device is associated with the secondary-vsw0 virtual switch instead of with the primary-vsw1 virtual switch. Each of these virtual switches are in different service domains.

gdom# dladm show-phys -m
LINK                SLOT     ADDRESS            INUSE CLIENT
net0                primary  0:14:4f:fb:68:f1   yes   net0
net1                primary  0:14:4f:fa:20:68   no    --
net2                primary  0:14:4f:fa:42:a8   no    --

Verify that the custom property is set to enable and that the linkprop property is set to phys-state on the virtual network devices that will be used for the DLMP aggregation. Also, verify that the vnet1 and vnet2 virtual network devices are associated with different virtual switches.

primary# ldm list -o network gdom
NAME         SERVICE                MACADDRESS          PVID|PVLAN|VIDs
----         -------                ----------          ---------------
vnet1        primary-vsw0@primary   00:14:4f:fa:20:68   1|--|--      
 DEVICE     :network@3       ID   :3              
LINKPROP   :phys-state      MTU  :1500           
 MAXBW      :--              MODE :--             
CUSTOM     :enable
 MAX-CUSTOM-MACS:4096        MAX-CUSTOM-VLANS:4096
 PRIORITY   :--              COS  :--             
 PROTECTION :--             

NAME         SERVICE                MACADDRESS          PVID|PVLAN|VIDs
----         -------                ----------          ---------------
vnet2        secondary-vsw0@secondary   00:14:4f:fa:42:a8   1|--|--      
 DEVICE     :network@3       ID   :3              
LINKPROP   :phys-state      MTU  :1500           
 MAXBW      :--              MODE :--             
CUSTOM     :enable
 MAX-CUSTOM-MACS:4096        MAX-CUSTOM-VLANS:4096
 PRIORITY   :--              COS  :--             
 PROTECTION :--

Note that the underlying device of the primary-vsw0 and secondary-vsw0 virtual switches must have the same link speed to support DLMP aggregation over the vnet1 and vnet2 virtual network devices. For more information about Oracle Solaris DLMP aggregation, see Chapter 2, Configuring High Availability by Using Link Aggregations in Managing Network Datalinks in Oracle Solaris 11.4.

Configure the DLMP aggregation.

gdom# dladm create-aggr -m dlmp -l net1 -l net2 aggr0

Configure an IP interface for the DLMP aggregation.

gdom# ipadm create-ip aggr0

Configure an IP address for the DLMP aggregation.

gdom# ipadm create-addr -a 192.168.10.14/24 aggr0

Verify the configuration of the DLMP aggregation and verify that the network devices used by the aggregation are attached.

gdom# dladm show-aggr -x
LINK       PORT    SPEED   DUPLEX   STATE   ADDRESS           PORTSTATE
aggr0      --      1000Mb  full     up      2:8:20:d4:52:cc   --
net1               1000Mb  full     up      0:14:4f:fa:20:68  attached
net2               1000Mb  full     up      0:14:4f:fa:42:a8  attached

Verify the configuration of the DLMP aggregation and the network devices.

primary# ldm list-netdev gdom
DOMAIN
gdom    

NAME        CLASS    MEDIA    STATE    SPEED    OVER     LOC            
----        -----    -----    -----    -----    ----     ---     
aggr        AGGR     ETHER    up       1G       net1,net2 --  
net0        VNET     ETHER    up       1G       vnet0    primary-vsw0/vnet0
net1        VNET     ETHER    up       1G       vnet1    primary-vsw0/vnet1
net2        VNET     ETHER    up       1G       vnet2    secondary-vsw0/vnet2

Enable probe-based failure detection for DLMP and verify the detailed probe information about the DLMP aggregation configuration.

gdom# dladm set-linkprop -p probe-ip=+ aggr0
gdom# dladm show-aggr -nS
LINK       PORT           FLAGS STATE   TARGETS         XTARGETS
aggr0      net1           u--3  active  192.168.10.1    net2
--         net2           u-2-  active  --              net1

Example 13-10 Configuring a DLMP Aggregation For a Virtual Switch on an Ethernet Stub Is Inoperable

The following example output shows that a DLMP aggregation you create for a virtual switch on an Ethernet stub is inoperable. In such a situation, the net3 and net4 ports are in standby state, which causes the Ethernet stub to report a speed value of zero.

gdom# dladm show-aggr -x
LINK   PORT           SPEED DUPLEX   STATE     ADDRESS            PORTSTATE
aggr1  --             0Mb  unknown   down      2:8:20:91:f3:79    --
net3                  0Mb  unknown   up        0:14:4f:fa:cb:a4   standby
net4                  0Mb  unknown   up        0:14:4f:f9:ab:a5   standby

Example 13-11 Configuring a DLMP Aggregation Fails When the custom Property Is Not Set to enable

This example shows that an attempt to create a DLMP aggregation fails if the custom property is not set to enable on the virtual network devices used for the DLMP aggregation.

The following commands set the custom property to disable for the vnet and vnet6 virtual network devices in the gdom domain:

primary# ldm add-vnet custom=disable linkprop=phys-state vnet5 primary-vsw0 gdom
primary# ldm add-vnet custom=disable linkprop=phys-state vnet6 primary-vsw1 gdom

The following command attempts to create the aggr2 DLMP aggregation on the gdom domain. The command fails because the custom property should be set to enable on the virtual network devices.

gdom# dladm create-aggr -m dlmp -l net5 -l net6 aggr2
dladm: create operation failed: operation not supported