Objective - This use case shows how to configure a DLMP aggregation of SR-IOV- enabled datalinks, and configure the aggregated datalink as the lower link in the kernel zone and offload hardware SLAs to the aggregated datalink. DLMP aggregation helps to achieve high availability without compromising hardware SLA offloading capability.
The objective for creating DLMP as opposed to trunk Aggregation is to achieve high availability without comprising hardware SLA offloading capability.
The following figure shows the Oracle Solaris system setup used in this use case.
Figure 8 Offloading Hardware SLAs to DLMP Aggregated Datalink
The setup is as follows:
An Oracle Solaris system with a global zone.
The datalinks net0 and net2 are aggregated to form the DLMP aggregation, aggr0.
Three kernel zones: gold-zone, silver-zone, and bronze-zone.
gold-zone is assigned a bandwidth share of 60% (bw-share=60). The kernel zone silver-zone is assigned a bandwidth share of 40% (bw-share=40) and a maximum bandwidth of 8G. The kernel zone bronze-zone is assigned a maximum bandwidth of 500Mbps (maxbw=500M).
Before You Begin
Ensure that your role has the appropriate rights profile to perform this procedure. See Using Rights Profiles to Perform Network Configuration.
$ dladm set-linkprop -p iov=on net0 $ dladm set-linkprop -p iov=on net2
$ dladm show-linkprop -H -p bw-share net0 LINK PROPERTY MODE HWPOSSIBLE HWFLAGS SWPOSSIBLE SWFLAGS net0 bw-share none 1-100 -- -- -- $ dladm show-linkprop -H -p bw-share net2 LINK PROPERTY MODE HWPOSSIBLE HWFLAGS SWPOSSIBLE SWFLAGS net0 bw-share none 1-100 -- -- --
The output shows that the physical datalink net0 and net4 support the bw-share property because the value 1-100 is displayed under the column HWPOSSIBLE for both the datalinks.
$ dladm create-aggr -l net0 -l net2 -m dlmp aggr0
$ zonecfg -z gold-zone zonecfg:gold-zone> create -t SYSsolaris-kz zonecfg:gold-zone> add anet zonecfg:gold-zone:anet> set lower-link=aggr0 zonecfg:gold-zone:anet> set iov=auto zonecfg:gold-zone:anet> set bw-share=60 zonecfg:gold-zone:anet> end zonecfg:gold-zone> commit zonecfg:gold-zone> exit
$ zonecfg -z silver-zone zonecfg:silver-zone> create -t SYSsolaris-kz zonecfg:silver-zone> add anet zonecfg:silver-zone:anet> set lower-link=aggr0 zonecfg:silver-zone:anet> set iov=auto zonecfg:silver-zone:anet> set bw-share=40 zonecfg:silver-zone:anet> set id=0 zonecfg:silver-zone:anet> end zonecfg:silver-zone> add anet zonecfg:silver-zone:anet> set lower-link=aggr0 zonecfg:silver-zone:anet> set iov=auto zonecfg:silver-zone:anet> set maxbw=8G zonecfg:silver-zone:anet> set id=1 zonecfg:silver-zone:anet> end zonecfg:silver-zone> commit zonecfg:silver-zone> exit
$ zonecfg -z bronze-zone zonecfg:bronze-zone> create -t SYSsolaris-kz zonecfg:bronze-zone> add anet zonecfg:bronze-zone:anet> set lower-link=aggr0 zonecfg:bronze-zone:anet> set iov=off zonecfg:bronze-zone:anet> set maxbw=500M zonecfg:bronze-zone:anet> end zonecfg:bronze-zone> commit zonecfg:bronze-zone> exit
In this example, the three zones obtain different levels of SLA in addition to the failover protection of high availability.