JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Connecting Systems Using Fixed Network Configuration in Oracle Solaris 11.1     Oracle Solaris 11.1 Information Library
search filter icon
search icon

Document Information

Preface

1.  Overview of Fixed Network Configuration

2.  Configuring a System for the Network

3.  Working With Datalinks

Basic dladm Commands

Displaying General Information About Datalinks (dladm)

Displaying a System's Datalinks (dladm show-link)

Displaying Physical Attributes of Datalinks (dladm show-phys)

Deleting a Datalink (dladm delete-phys)

Renaming a Datalink (dladm rename-link)

Customizing Datalink Properties

Overview of Datalink Properties

Enabling Support for Jumbo Frames

Modifying Link Speed Parameters

Setting the STREAMS Module on Datalinks

Setting the e1000g Driver to Use Direct Memory Access Binding

Manually Setting the Interrupt Rate

Obtaining Status Information About Datalink Properties

Displaying Datalink Properties (dladm show-linkprop)

Displaying Ethernet Property Values (dladm show-ether)

Other Configuration Tasks With the dladm Command

How to Switch Primary Interfaces on a System

How to Replace a Network Interface Card With Dynamic Reconfiguration

4.  Working With IP Interfaces

5.  Configuring Wireless Networking on Laptops Running Oracle Solaris

A.  Comparison Map: ifconfig and ipadm Commands

B.  Comparison Map: ndd and ipadm Commands

Index

Customizing 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 requirements of your network.

Three dladm subcommands are used for datalink properties:

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 values. However, certain networking scenarios might require you to change specific property values. 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 specific driver. The following sections describe selected properties and explains how to change their values to function in your network environment.

Enabling Support for Jumbo Frames

MTU defines the size of the largest packet that a protocol can transmit from the system. By default, most NIC drivers define the MTU size to 1500. However, if Jumbo frames are traversing through the network, the default value is insufficient. Support for Jumbo frames requires the MTU size to be at least 9000.

To change the MTU size from its default value, type the following command:

# dladm set-linkprop -p mtu=new-size datalink

After changing the MTU size, you can reconfigure an IP interface over the datalink

The following example shows the steps to enable support for Jumbo frames. The example assumes that you have already removed any existing IP interface configuration over the datalink.

# dladm show-linkprop -p mtu net1
LINK     PROPERTY     VALUE     DEFAULT     POSSIBLE
net1     mtu          1500      1500        --
# dladm set-linkprop -p mtu=9000 net1
# dladm show-link web1
LINK     CLASS     MTU      STATE     BRIDGE     OVER
web1     phys      9000     up        --         --

Modifying Link Speed Parameters

Most network setups consist of a combination of systems with varying speed capabilities. Each system advertises speed capabilities to other systems in the network that informs how each system transmits and receives network traffic. The following paired datalink properties regulate the speed capabilities that are advertised by a system:

Each link speed capability is referred to by a pair of properties: the advertised speed (adv_*_cap) and the enabled advertised speed (en_*_cap). Further, datalink speed information is also provided for both full-duplex and half-duplex capabilities, as designated by the *fdx* and *hdx* in the property names. The advertised speed property is a read-only property that indicates whether the specific datalink speed is advertised. You determine whether a specific datalink speed is advertised by setting the corresponding en_*_cap property.

By default, all the speed and duplex capabilities of a datalink are advertised. However, cases might exist where a new system is communicating with an older system and autonegotiation is disabled or unsupported. To enable communication between these two systems, the advertised speed between an older system and a newer system might need to be changed to a lower value. The gigabit capabilities of the system might need to be switched off, and only the slower speed capabilities are advertised. In this case, you would type the following for both the full-duplex capability and the half-duplex capability.

# dladm set-linkprop -p en_1000fdx_cap=0 datalink
# dladm set-linkprop -p en_1000hdx_cap=0 datalink

The command switches off the advertisement of the gigabit capabilities of the system for full-duplex capability and half-duplex capability.

To display the new values of these properties, use the dladm show-linkprop command.

# dladm show-linkprop -p adv_10gfdx_cap datalink
# dladm show-linkprop -p adv_1000hdx_cap datalink

Normally, the values 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.

Setting the STREAMS Module on Datalinks

You can set up to eight STREAMS modules to be pushed on to the stream when the datalink is opened. These modules are typically used by third-party networking software such as virtual private networks (VPNs) and firewalls. Documentation about such networking software is provided by the software vendor.

The list of modules to push on a specific datalink is controlled by the autopush property. In turn, the value of the autopush property is set by using the dladm set-linkprop subcommand.

A separate autopush command can also be used to push modules on to the datalink's stream on a per-driver basis. The command uses a configuration file that is set up for each driver and which informs the command the modules to push. However, the driver is always bound to the NIC. If the datalink's underlying NIC is removed, then the link's autopush property information becomes lost as well.

Therefore, the dladm command is a preferable tool for this purpose than the autopush command. If both per-driver and per-link types of autoputsh configuration exist for a specific datalink, the per-link information that is set with dladm set-linkprop is used, and the per-driver information is ignored.

To push modules to the STREAMS when the datalink is opened, you use the same dladm set-linkprop command to specify modules for the autopush property. For example, to push the vpnmod and bufmod modules on top of the link net0, you would type:

# dladm set-linkprop -p autopush=vpnmod.bufmod net0

Setting the e1000g Driver to Use Direct Memory Access Binding

This section and the following section show how to configure private properties. Both sections apply to properties specific to the e1000g driver. However, the general information in these sections applies when you configure private properties of other NIC drivers.

Bulk traffic, such as file transfers, normally involves the 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 direct memory access (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 the packets. If a fragment size is within the threshold, then bcopy mode is used, where the fragment data is copied to the preallocated transmit buffer.

# dladm set-linkprop -p _tx_bcopy_threshold=value datalink

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


Note - All datalinks are automatically named with generic names. You must ensure that this private property is configured on the datalink whose underlying NIC is e1000g. Use dladm show-phys to verify before setting the property.

As with configuring public properties, any IP interface must also be deleted before private property values can be modified.


You might perform steps similar to the following:

# dladm show-phys
LINK   MEDIA      STATE   SPEED   DUPLEX   DEVICE
net0   Ethernet   up      100Mb    full     nge0
net1   Ethernet   up      100Mb    full     e1000g0

# dladm set-linkprop -p _tx_bcopy_threshold=1024 net1

Manually Setting the Interrupt Rate

Properties 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 properties:

You first turn off the automatic tuning of the interrupt throttling rate. Then, you manually set the interrupt throttling rate property.

Suppose you have an x86 based system with an e1000g NIC whose interrupt throttling rate needs to be modified. Suppose further that the datalink name of e1000g0 is net1. You would type the following commands.

# dladm set-linkprop -p _intr_adaptive=0 net1
# dladm set-linkprop -p _intr-throttling_rate=1024 net1

Obtaining Status Information About Datalink Properties

To obtain information about datalink properties, you can use either of the following commands:

Displaying Datalink Properties (dladm show-linkprop)

This method is explained in Customizing Datalink Properties. To display a complete list of datalink properties, type the command without specifying a property. For example:

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

Displaying Ethernet Property Values (dladm show-ether)

If no options are used with the dladm show-ether command, then only current Ethernet property values of the datalink are displayed. To obtain more information beyond what is provided by default, use the -x option. The following is an example of how the command is used:

# dladm show-ether -x net1
LINK     PTYPE       STATE    AUTO  SPEED-DUPLEX             PAUSE
net1     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 explains the displayed information in the preceding example: