Packets traverse a path when they flow into or out of a system. On a granular level, packets are received and transmitted through receive (Rx) rings and transmit (Tx) rings of a NIC. Inbound packets from these rings are passed up the network stack for further processing while outbound packets are sent to the network.
You can combine and allocate system resources to manage the network traffic. You can monitor the receive-side and transmit-side network traffic statistics for both datalinks and flows. This chapter focuses primarily on receive-side network traffic statistics on datalinks and flows.
You can configure receive rings, transmit rings, and other resources on datalinks by setting datalink properties. Depending on the network traffic on a datalink, you can assign dedicated hardware rings to a datalink to increase the system's efficiency to process packets. For example, you can allocate more rings to a datalink, where the network traffic is most heavy. For more information about how to allocate hardware rings to a datalink, see Configuring Clients and Allocating Rings.
A datalink might not have dedicated hardware rings because of the following reasons:
Lack of hardware resources. For example, there might not be rings available that can be exclusively assigned to datalinks.
Lack of hardware capabilities. For example, the NIC does not expose hardware rings.
The datalink might not be tied to a lower hardware datalink. For example, when you create VNICs over etherstubs.
Some datalinks might be configured to share rings for the following reasons:
The datalink might not be performing intensive processes that require dedicated rings.
The NIC might not support ring allocation.
The rings are no longer available to be assigned for exclusive use although the datalink supports ring allocation.
The following figure shows the allocation of hardware rings among datalinks.
Figure 25 Ring Allocation in Datalinks
The figure shows the following configuration:
The net0 datalink has 16 hardware rings (0-15) that can be allocated to other datalinks.
The VNICs vnic1, vnic2, vnic3, and vnic4 are configured over the datalink net0.
The VNICs vnic1, vnic2, and vnic3 are each assigned four dedicated hardware rings.
The hardware rings (0-3) are shared between the datalink net0 and the VNIC vnic4. The following example shows the ring allocation for the physical datalink net0.
# dladm show-phys -H net0 LINK RINGTYPE RINGS CLIENTS net0 RX 0-3 <default,mcast>,vnic4 net0 RX 4-7 vnic1 net0 RX 8-11 vnic2 net0 RX 12-15 vnic3 net0 TX 0-7 <default>,vnic4,vnic3,vnic2,vnic1
You use the dlstat show-phys command to display the network traffic statistics for the physical datalink net0. See Example 83, Displaying Traffic Statistics for Physical Links on the System.
You use the dlstat show-link command to display the network traffic statistics for the datalinks net0, vnic1, vnic2, vnic3, and vnic4. See Example 90, Displaying Network Traffic Statistics for a Datalink With Dedicated Hardware Rings.