Flows share the resources such as rings and interrupts of the underlying datalink. Flows can also have their own dedicated ring groups to perform flow classification by using the underlying physical datalink. Currently, only the Intel XL710 10/40 Gigabit Ethernet controller NIC supports configuring flows with dedicated ring groups. The dedicated ring groups provides the following benefits for the flows:
Provides hardware SLA enforcement
Improves data path performance
Saves CPU utilization of flows
Improves resource isolation
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 show-linkprop -p ring-group datalink
If the underlying datalink supports dedicated ring group, the value of the ring-group property is displayed as exclusive. If the underlying link does not support dedicated ring group, you cannot add a flow with a dedicated ring group to the underlying datalink.
$ dladm show-phys -G datalink
$ flowadm add-flow -l datalink -a transport=trans-protocol,local_ip=IPaddr, \ local_port=port,remote_ip=IPaddr,remote_port=port -phw-flow=on flowname
With the transport protocol udp, you need to set the attributes local_ip and local_port.
With the transport protocol tcp, you need to set the attributes local_ip, local_port, and remote_port.
For more information, see the i40e(4D) man page.
$ flowadm
$ flowadm show-flowprop flowname
The following example shows how to create a flow with dedicated ring group.
$ dladm show-linkprop -p ring-group net2 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net2 ring-group r- exclusive exclusive -- shared exclusive
You can add flows with exclusive ring group to a datalink only if the underlying datalink supports exclusive ring group.
Check the resource availability for the ring group of the underlying datalink.
$ dladm show-phys -G net2 LINK RG-AVAIL RG-INUSE-UMAC RG-INUSE-VNIC RG-INUSE-FLOW net2 268 0 0 0
$ flowadm add-flow -l net3 -a transport=tcp,local_ip=203.0.113.2/27, \ local_port=5002,remote_ip=203.0.113.35/27,remote_port=5001 -p hw-flow=on tcpflow1
$ flowadm FLOW LINK PROTO LADDR LPORT RADDR RPORT DIR tcpflow1 net3 tcp 203.0.113.2/27 5002 203.0.113.35/27 5001 bi
$ flowadm show-flowprop tcpflow1 FLOW PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE tcpflow1 max-bw rw -- -- -- -- tcpflow1 dscp rw -- -- -- 0-63 tcpflow1 hw-flow rw on on auto auto,off tcpflow1 bw-share rw -- -- -- 1-100 tcpflow1 ofaction rw -- -- -- --