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


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

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

Overview of Network Resource Management

Datalink Properties for Resource Control

Network Resource Management by Using Flows

Commands for Network Resource Management

Network Resource Management (Task Map)

Managing Resources on Datalinks

Transmit and Receive Rings

MAC Clients and Ring Allocation

Properties for Ring Allocation

Preparations for Configuring Hardware-Based Clients

How to Configure a Hardware-Based Client

How to Create a Software-Based Client

How to Identify Ring Assignments in Static Ring Allocation

Pools and CPUs

How to Configure a CPU Pool for a Datalink

How to Allocate CPUs to Links

Managing Resources on Flows

Configuring Flows on the Network

How to Configure a Flow

20.  Monitoring Network Traffic and Resource Usage



Managing Resources on Flows

Flows consist of network packets that are organized according to an attribute. Flows enable you to further allocate network resources. For an overview of flows, see Network Resource Management by Using Flows.

To use flows for managing resources, you perform the following general steps:

  1. Create the flow by basing it on a specific attribute as listed in Network Resource Management by Using Flows.

  2. Customize the flow's use of resources by setting properties that pertain to network resources. Currently, only the bandwidth and priority for processing packets can be set.

Configuring Flows on the Network

Flows can be created on the physical network as well as the virtual network. To configure flows, you use the flowadm command. For detailed technical information, refer to the flowadm(1M) man page.

How to Configure a Flow

  1. (Optional) Determine the link on which you will configure flows.
    # dladm show-link
  2. Verify that IP interfaces over the selected link are properly configured with IP addresses.
    # ipadm show-addr
  3. Create flows according to the attribute you have determined for each flow.
    # flowadm add-flow -l link -a attribute=value[,attribute=value] flow

    Refers to one of the following classifications by which you can organize network packets into a flow:

    • IP address

    • Transport protocol (UDP, TCP, or SCTP)

    • Port number for an application (for example port 21 for FTP)

    • DS field attribute, which is used for quality of service in IPv6 packets only. For more information about the DS field, refer to DS Codepoint in System Administration Guide: IP Services.


    Refers to the name that you assign to the particular flow.

    For more details about flows and flow attributes, see the flowadm(1M) man page.

  4. Implement resource controls on the flows by setting the appropriate flow properties.
    # flowadm set-flowprop -p property=value[,property=value,...] flow

    You can specify the following flow properties that control resources:


    The maximum amount of the link's bandwidth that packets identified with this flow can use. The value you set must be within the allowed range of values for the link's bandwidth. To display the possible range of values for a link's bandwidth, check the POSSIBLE field in the output that is generated by the following command:

    # dladm show-linkprop -p maxbw link

    The priority given to packets in this flow. The possible values are high, medium, and low. The default value is medium.

    Note - Currently, only a flow's bandwidth and priority can be customized.

  5. (Optional) Display the flows that you have created over the link.
    # flowadm show-flow -l link
  6. (Optional) Display the property settings for a specified flow.
    # flowadm show-flowprop flow

Example 19-8 Managing Resources by Setting Link and Flow Properties

This example combines the steps for allocating network resources to both datalinks and flows. The example is based on the configuration shown in the following figure.

The figure shows a configuration for managing resources on datalinks and flows.

The figure shows two physical hosts that are connected to each other.

The tasks in this example involve the following:

Note that the example does not include any procedure for zone configuration. To configure zones, refer to Chapter 17, Planning and Configuring Non-Global Zones (Tasks), in System Administration Guide: Oracle Solaris Zones, Oracle Solaris 10 Containers, and Resource Management.

First, view information about links and IP interfaces on Host1.

# dladm show-phys
internal0    Ethernet   up         1000 full      nge1
e1000g0      n          unknown    0    half      e1000g0
e1000g1      n          unknown    0    half      e1000g1
external0    Ethernet   up         1000 full      nge0

# dladm show-link
internal0   phys     1500   up       --      nge1
e1000g0     phys     1500   unknown  --      --
e1000g1     phys     1500   unknown  --      --
external0   phys     1500   up       --      nge0

# ipadm show-addr
lo0/4       static   ok
external0   static   ok
internal0   static   ok

Next, create a flow over internal0 to isolate UDP traffic to Host2. Then, implement resource controls on the flow.

# flowadm add-flow -l external0 -a transport=udp udpflow
# flowadm set-flowprop -p maxbw=80,priority=low udpflow

Then, check the information about the created flow.

flowadm show-flow
udpflow     internal0   --       udp     --     --

# flowadm show-flowprop

On Host2, configure VNICs over nxge0 for each zone. Implement resource controls on each VNIC. Then, assign the VNICs to their respective zones.

# dladm create-vnic -l nxge0 vnic0
# dladm create-vnic -l nxge0 vnic1
# dladm create-vnic -l nxge0 vnic2

# dladm set-prop -p rxrings=4,txrings=4,priority=high vnic0
# dladm set-prop -p rxrings=2,txrings=2,priority=high vnic1
# dladm set-prop -p rxrings=1,txrings=1,priority=low vnic2

# zone1>zonecfg>net> set physical=vnic0
# zone2>zonecfg>net> set physical=vnic1
# zone3>zonecfg>net> set physical=vnic2

Suppose that pool1, a set of CPUs in Host2, was previously configured for use by zone1. Bind that pool of CPUs to also manage network processes for zone1 as follows:

# dladm set-prop -p pool=pool01 vnic0

Finally, create a software-based client that shares rings with nxge0, the primary interface.

dladm create-vnic -p rxrings=sw,txrings=sw -l nxge0 vnic3