X

New flowadm features in Solaris 11.3

Guest Author
We have added some cool new features to flowadm in S11.3. These include -
1. DSCP marking on flows
2. Inbound only or outbound only flows
3. Allow any combination of flow attributes when creating a flow
4. Allow disjoint and overlapping flows and flow ranking
I will give some examples on how each feature can be used.
The flowadm(1M) man page has all the details on the syntax and semantics.
1. DSCP marking on flows
flowadm can now be used to set the DSCP value for outgoing packets
in a given flow. Both IPv4 and IPv6 are supported.
For example, we want create a flow for ntp traffic and set the DSCP
value to 46. DSCP 46 is EF class and is recommended for latency sensitive flows.
# flowadm add-flow -l net0 -a transport=tcp,local_port=123 -p dscp=46 ntp-flow
# flowadm show-flowprop -p dscp ntp-flow
FLOW PROPERTY PERM VALUE DEFAULT POSSIBLE
ntp-flow dscp rw 46 -- 0-63
2. Inbound only or outbound only flows
flowadm now supports a new attribute called 'direction'. The following
example says it all -
# flowadm add-flow -l net4 -a transport=tcp,local_port=80,direction=in http-in
# flowadm add-flow -l net4 -a transport=tcp,local_port=80,direction=out http-out
# flowadm
FLOW LINK PROTO LADDR LPORT RADDR RPORT DIR
http-out net4 tcp -- 80 -- -- out
http-in net4 tcp -- 80 -- -- in
3. Allow any combination of flow attributes when creating a flow
Previously, flowadm allowed only seven combinations of attributes when creating
a flow. This limitation is now removed and we now allow any arbitrary
combination of attributes to be specified when creating a flow.
As an example, the following works now which was not the case before -
# flowadm add-flow -l net4 -a local_port=2049,remote_ip=10.2.2.118 -p maxbw=100M

nfs-118-limit
4. Allow disjoint and overlapping flows and flow ranking
Previously, flowadm allowed the creation of multiple flows only if all
the flows have the same combination of flow attributes.
This limitation is now removed and we now allow disjoint flows
as well as overlapping flows.
As an example, the following works now which was not the case before -
# flowadm add-flow -l net0 -a transport=tcp,local_port=80 http
# flowadm add-flow -l net0 -a transport=udp udpflow
# flowadm
FLOW LINK PROTO LADDR LPORT RADDR RPORT DIR
http net0 tcp -- 80 -- -- bi
udpflow net0 udp -- -- -- -- bi
The flows are disjoint in this example because they have different transports.
We also support overlapping flows now. In case of overlapping flows, the
system assigns them a default lookup order. This order is the same as the
flowadm show-flow output order. The default order should suffice in many
of the cases. However, the admin can explicitly rank the flows
to change the default lookup order. A new flow property called 'rank' is
introduced for this purpose. See the man page for details on it.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.