JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Administration: Network Interfaces and Network Virtualization     Oracle Solaris 11 Express 11/10
search filter icon
search icon

Document Information

Preface

Part I Network Auto-Magic

1.  Introduction to NWAM

2.  NWAM Configuration and Administration (Overview)

3.  NWAM Profile Configuration (Tasks)

4.  NWAM Profile Administration (Tasks)

5.  About the NWAM Graphical User Interface

Part II Administering Single Interfaces

6.  Overview of the Networking Stack

7.  Datalink Configuration and Administration

Configuration of Datalinks (Tasks)

The dladm Command

How to Rename a Datalink

How to Display Information About Physical Attributes of Datalinks

How to Display Datalink Information

How to Delete a Datalink

Setting Datalink Properties

Overview of Datalink Properties

Setting Datalink Properties With the dladm Command

How to Enable Support for Jumbo Frames

How to Change Link Speed Parameters

How to Obtain Status Information About Datalink Properties

How to Set the e1000g Driver to Use Direct Memory Access Binding

How to Manually Set the Interrupt Rate

Additional Configuration Tasks on Datalinks

How to Replace a Network Interface Card With Dynamic Reconfiguration

Configuring STREAMS Modules on Datalinks

How to Set STREAMS Modules on Datalinks

How to Obtain autopush Link Property Settings

How to Remove autopush Link Property Settings

8.  Configuring an IP Interface

9.  Configuring Wireless Interface Communications on Oracle Solaris

Part III Administering Interface Groups

10.  Administering Bridges

11.  Administering Link Aggregations

12.  Administering VLANs

13.  Introducing IPMP

14.  Administering IPMP

Part IV  Network Virtualization and Resource Management

15.  Introducing Network Virtualization and Resource Control (Overview)

16.  Planning for Network Virtualization and Resource Control

17.  Configuring Virtual Networks (Tasks)

18.  Using Link Protection in Virtualized Environments

19.  Managing Network Resources

20.  Monitoring Network Traffic and Resource Usage

Glossary

Index

Setting Datalink Properties

In addition to performing basic datalink configuration, you can also use the dladm command to set datalink properties and customize them according to the needs of your network.


Note - Customizing datalink properties by using the dladm command is supported only in network drivers that have been converted to the GLDv3 framework, such as bge, nge, e1000g, and nxge.

Work continues to make other drivers become supported in the GLDv3 framework. To confirm whether your specific driver supports this feature, refer to the driver's man page.


Overview of Datalink Properties

Datalink properties that can be customized depend on the properties a specific NIC driver supports. Datalink properties that are configurable by using the dladm command fall into one of two categories:

Link properties typically have default settings. However, certain networking scenarios might require you to change specific property settings of a datalink. These property settings can be either public or private properties. For example, a NIC might be communicating with an old switch that does not properly perform autonegotiation. Or, a switch might have been configured to support Jumbo frames. Or, driver specific properties that regulate packet transmission or packet receiving might need to be modified for the given driver. In Oracle Solaris, all of these settings can now be reset by a single administrative tool, dladm.

Setting Datalink Properties With the dladm Command

The following section provides procedures with examples to set certain datalink properties. The selected properties are public and common to all NIC drivers. A separate section describes datalink properties that are driver specific. This section is followed by procedures to configure selected private properties of the e1000g driver.

How to Enable Support for Jumbo Frames

Enabling support for Jumbo frames in a network setup is a common task for most network scenarios. Support for Jumbo frames requires increasing the size of a datalink's maximum transmission unit (MTU). The following procedure includes the use of customized names to identify datalinks. For an overview of customized names and their use in network configuration, see Oracle Solaris Implementation of the Networking Stack.

  1. Become an administrator.

    For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.

  2. To identify the specific Ethernet device whose MTU size you need to reset, display the links in the system.
    # dladm show-phys

    Perform this step especially if your network configuration uses customized names for datalinks. With customized names, datalinks are no longer necessarily identified by their hardware-based names. For example, the Ethernet device is bge0. However, the datalink over the device is renamed net0. Therefore, you would need to configure the MTU size of net0. Refer to IP Interface Configuration (Tasks) for examples of configuration tasks on datalinks that use customized names.

  3. (Optional) Display the datalink's current MTU size and other properties.
    • To display a specific property of a datalink, use the following syntax:
      dladm show-linkprop -p property datalink

      This command displays the settings of the property that you specify.

    • To display several selected properties of the datalink, use the following syntax:
      # dladm show-link datalink

      This command displays datalink information, including MTU size.

  4. If an IP interface is configured over the datalink, remove the IP interface.
    # ipadm delete-if interface
  5. Change the link's MTU size to 9000, the setting for Jumbo frames.
    # dladm set-linkprop -p mtu=9000 datalink
  6. Configure the IP interface.
    # ipadm create-addr -T addr-type [-a address] addrobj

    For more information about the ipadm command, see the ipadm(1M).

  7. (Optional) Verify that the interface uses the new MTU size by using one of the command syntaxes in Step 3.
    # dladm show-linkprop -p mtu datalink
  8. (Optional) Display the link's current Ethernet settings.
    # dladm show-ether datalink

Example 7-5 Enabling Support for Jumbo Frames

The following example that enables support for Jumbo frames builds on the following scenario:

# dladm show-phys
LINK       MEDIA        STATE     SPEED     DUPLEX     DEVICE
net0       ether        up        100Mb     full       bge0
itops1     ether        up        100Mb     full       nge3
web1       ether        up        100Mb     full       bge1

# dladm show-linkprop -p mtu web1
LINK     PROPERTY     VALUE     DEFAULT     POSSIBLE
web1     mtu          1500      1500        --

# ipadm delete-if web1
# dladm set-linkprop -p mtu=9000 web1
# ipadm create-addr -T static -a 10.10.1.2/35 web1/v4

# dladm show-link web1
LINK     CLASS     MTU      STATE     BRIDGE     OVER
web1     phys      9000     up        --         --

Notice that the MTU setting is now 9000. In this example, the dladm command enabled you to change web1's MTU size directly. The previous method that uses the ndd command would have required you to deleted net0 as well, which would have unnecessarily disrupted the primary interface's operations.

How to Change Link Speed Parameters

Most network setups consist of a combination of systems with varying speed capabilities. For example, the advertised speed between an older system and a newer system might need to be changed to a lower setting to allow communication. By default, all the speed and duplex capabilities of a NIC card are advertised. This procedure shows how to turn off the gigabit capabilities and advertise only the megabit capabilities.

  1. Become an administrator.

    For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.

  2. (Optional) Display the current status of the property you want to modify.
    # dladm show-linkprop -p property datalink
  3. To advertise lower speed capabilities, turn off the higher speed capabilities to prevent them from being advertised.
    # dladm set-linkprop -p property=value1 datalink

Example 7-6 Disabling Advertisement of a NIC's Gigabit Capabilities

This example shows how you can prevent the link web1 from advertising gigabit capabilities.

# dladm show-linkprop -p adv_1000fdx_cap web1
LINK     PROPERTY             VALUE     DEFAULT     POSSIBLE
web1     adv_1000fdx_cap      1         --          1,0

# dladm show-linkprop -p adv_1000hdx_cap web1
LINK     PROPERTY             VALUE     DEFAULT     POSSIBLE
web1     adv_1000hdx_cap      1         --          1,0

The properties that advertise the link's gigabit capabilities are adv_1000fdx_cap and adv_1000hdx_cap. To disable these properties from being advertised, you would type the following commands:

# dladm set-linkprop -p adv_1000fdx_cap=0 web1
# dladm set-linkprop -p adv_1000hdx_cap=0 web1

Listing the Ethernet parameter settings would display the following output:

# dladm show-ether web1
LINK     PTYPE       STATE    AUTO  SPEED-DUPLEX             PAUSE
web1     current     up       yes   1G-f                     both

How to Obtain Status Information About Datalink Properties

You can obtain information about the datalink's properties by displaying either the Ethernet parameter settings or the link properties.

  1. Become an administrator.

    For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.

  2. To obtain information about the Ethernet parameter settings, use the following command:
    # dladm show-ether [-x] datalink

    where the -x option includes additional parameter information about the link. Without the -x option, only the current parameter settings are displayed.

  3. To obtain information about all the properties of the link, use the following command:
    # dladm show-linkprop datalink

Example 7-7 Displaying Ethernet Parameter Settings

This example displays an extended list of parameter information about a specified link.

# dladm show-ether -x web1
LINK     PTYPE       STATE    AUTO  SPEED-DUPLEX             PAUSE
web1     current     up       yes   1G-f                     both
--       capable     --       yes   1G-fh,100M-fh,10M-fh     both
--       adv         --       yes   100M-fh,10M-fh           both
--       peeradv     --       yes   100M-f,10M-f             both

With the -x option, the command also displays the built-in capabilities of the specified link, as well as the capabilities that are currently advertised between the host and the link partner. The following information is displayed:

Example 7-8 Displaying Link Properties

This example shows how to list all the properties of a link. If you want to display only specific properties, you use the -p option with the specific properties that you want to monitor.

# dladm show-linkprop web1
LINK     PROPERTY             VALUE       DEFAULT     POSSIBLE
web1     speed                1000        --          -- 
web1     autopush             --          --          -- 
web1     zone                 --          --          -- 
web1     duplex               half        --          half,full 
web1     state                unknown     up          up,down 
web1     adv_autoneg_cap      1           1           1,0 
web1     mtu                  1500        1500        -- 
web1     flowctrl             no          bi          no,tx,rx,bi 
web1     adv_1000fdx_cap      1           1           1,0 
web1     en_1000fdx_cap       1           1           1,0 
web1     adv_1000hdx_cap      1           1           1,0 
web1     en_1000hdx_cap       1           1           1,0 
web1     adv_100fdx_cap       0           0           1,0 
web1     en_100fdx_cap        0           0           1,0 
web1     adv_100hdx_cap       0           0           1,0 
web1     en_100hdx_cap        0           0           1,0 
web1     adv_10fdx_cap        0           0           1,0 
web1     en_10fdx_cap         0           0           1,0 
web1     adv_10hdx_cap        0           0           1,0 
web1     en_10hdx_cap         0           0           1,0

The settings for the speed and duplex capabilities of the link are manually configured on the enabled-speed properties which are labeled en_*_cap. For example, en_1000fdx_cap is the property for the gigabit full-duplex capability, and en_100hdx_cap is the property for the 100 megabits half-duplex capability. The settings of these enabled speed properties are advertised between the host and its link partner by corresponding advertised speed properties, which are labeled adv_*_cap such as adv_1000fdx_cap and adv_100hdx_cap.

Normally, the settings of a given enabled speed property and the corresponding advertised property are identical. However, if a NIC supports some advanced features such as Power Management, those features might set limits on the bits that are actually advertised between the host and its link partner. For example, with Power Management, the settings of the adv_*_cap properties might only be a subset of the settings of the en_*_cap properties. For more details about the enabled and advertised speed properties, see the dladm(1M) man page.

How to Set the e1000g Driver to Use Direct Memory Access Binding

This procedure and the next procedure show how to configure private properties. Both procedures apply to properties specific to the e1000g driver. However, the general steps can be used to configure private properties of other NIC drivers as well.

Bulk traffic, such as file transfers, normally involves negotiation of large packets across the network. In such cases, you can obtain better performance from the e1000g driver by configuring it to automatically use DMA binding, where a threshold is defined for packet fragment sizes. If a fragment size surpasses the threshold, then DMA binding is used for transmitting. If a fragment size is within the threshold, then bcopy mode is used, where the fragment data is copied to the preallocated transmit buffer.

To set the threshold, perform the following steps:

  1. Become an administrator.

    For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.

  2. Set the appropriate setting for the _tx_bcopy_threshold property.
    # dladm set-linkprop -p _tx_bcopy_threshold=value e1000g-datalink

    For this property, the valid settings for the threshold range from 60 through 2048.


    Note - As with configuring public properties, the interface must also be unplumbed before private property settings can be modified.


  3. (Optional) Verify the new threshold setting.
    # dladm show-linkprop -p _tx_bcopy_threshold e1000g-datalink

How to Manually Set the Interrupt Rate

Parameters that regulate the rate at which interrupts are delivered by the e1000g driver also affect network and system performance. Typically network packets are delivered to the upper layer of the stack by generating an interrupt for every packet. In turn the interrupt rate, by default, is automatically adjusted by the GLD layer in the kernel. However, this mode might not be desirable in all network traffic conditions. For a discussion of this issue, refer to this document (http://www.stanford.edu/class/cs240/readings/mogul.pdf) that was presented at the USENIX technical conference in 1996. Thus, in certain circumstances, setting the interrupt rate manually becomes necessary to obtain better performance.

To define the interrupt rate, you set the following parameters:

  1. Become an administrator.

    For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.

  2. If necessary, identify the device whose driver property you want to modify.
    # dladm show-phys
  3. Disable automatic tuning of the interrupt throttling rate.
    # dladm set-linkprop -p _intr_adaptive=0 e1000g-datalink

    Note - When automatic tuning of the interrupt throttling rate is enabled, then any existing setting for the parameter _intr_throttling_rate is ignored.


  4. Remove any IP interface that is configured over the datalink.
  5. Set the setting for the minimum inter interrupt level.
    # dladm set-linkprop -p _intr_throttling_rate=value e1000g-datalink

    Note - The default setting of the _intr_throttling_rate parameter is 550 on SPARC based systems and 260 on x86 based systems. Setting the minimum inter-interrupt level to 0 disables the interrupt throttling logic.


  6. Configure the IP interface.
  7. (Optional) Display the threshold's new settings.

Example 7-9 Configuring for DMA Binding and Setting the Interrupt Throttling Rate

This example uses an x86 based system with an e1000g NIC. The driver is configured with a threshold setting toggle between using DMA binding or the bcopy mode for transmitting packets. The setting for the interrupt throttling rate is also modified. Further, the e1000g datalink has been renamed with a customized name. Therefore, the configuration is performed on the datalink by referring to the customized name, public0.

# dladm show-phys
LINK       MEDIA        STATE     SPEED     DUPLEX     DEVICE
public0    ether        up        100Mb     full       e1000g0

# dladm show-linkprop -p _tx_bcopy_threshold public0
LINK        PROPERTY                VALUE     DEFAULT     POSSIBLE
public0     _tx_bcopy_threshold     512       512         --

# dladm show-linkprop -p _intr-throttling_rate
LINK        PROPERTY                  VALUE     DEFAULT     POSSIBLE
public0     _intr-throttling_rate     260       260         --

# ipadm delete-if public0
# dladm set-linkprop -p _tx_bcopy_threshold=1024 public0
# dladm set-linkprop -p _intr_adaptive=0 public0
# dladm set-linkprop -p _intr-throttling_rate=1024 public0
# ipadm create-addr -T static -a 10.10.1.2/24 public0/v4addr

# dladm show-linkprop -p _tx_bocopy_threshold=1024 public0
LINK        PROPERTY                VALUE     DEFAULT     POSSIBLE
public0     _tx_bcopy_threshold     1024      512         --

# dladm show-linkprop -p _intr_adaptive public0
LINK        PROPERTY           VALUE     DEFAULT     POSSIBLE
public0     _intr-adaptive     0         1           --

# dladm show-linkprop -p _intr-throttling_rate
LINK        PROPERTY                  VALUE     DEFAULT     POSSIBLE
public0     _intr-throttling_rate     1024      260         --