Documentation

flowadm - Manage bandwidth resource control and priority for protocols, services and zones on Solaris/illumos systems

New in version 2.2.

Synopsis

  • Create/modify/remove networking bandwidth and associated resources for a type of traffic on a particular link.

Options

parameter required default choices comments
dsfield
no
- Identifies the 8-bit differentiated services field (as defined in RFC 2474). The optional dsfield_mask is used to state the bits of interest in the differentiated services field when comparing with the dsfield value. Both values must be in hexadecimal.
link
no
Specifiies a link to configure flow on.
local_ip
no
Identifies a network flow by the local IP address.
local_port
no
Identifies a service specified by the local port.
maxbw
no
- Sets the full duplex bandwidth for the flow. The bandwidth is specified as an integer with one of the scale suffixes(K, M, or G for Kbps, Mbps, and Gbps). If no units are specified, the input value will be read as Mbps.
name
yes
- A flow is defined as a set of attributes based on Layer 3 and Layer 4 headers, which can be used to identify a protocol, service, or a zone.

aliases: flow
priority
no medium
  • low
  • medium
  • high
Sets the relative priority for the flow.
remove_ip
no
Identifies a network flow by the remote IP address.
state
no present
  • absent
  • present
  • resetted
Create/delete/enable/disable an IP address on the network interface.
temporary
no
  • true
  • false
Specifies that the configured flow is temporary. Temporary flows do not persist across reboots.
transport
no
- Specifies a Layer 4 protocol to be used. It is typically used in combination with local_port to identify the service that needs special attention.

Examples

# Limit SSH traffic to 100M via vnic0 interface
- flowadm:
    link: vnic0
    flow: ssh_out
    transport: tcp
    local_port: 22
    maxbw: 100M
    state: present

# Reset flow properties
- flowadm:
    name: dns
    state: resetted

# Configure policy for EF PHB (DSCP value of 101110 from RFC 2598) with a bandwidth of 500 Mbps and a high priority.
- flowadm:
    link: bge0
    dsfield: '0x2e:0xfc'
    maxbw: 500M
    priority: high
    flow: efphb-flow
    state: present

Return Values

Common return values are documented here Return Values, the following are the fields unique to this module:

name description returned type sample
dsfield
flow's differentiated services value
if dsfield is defined string 0x2e:0xfc
temporary
flow's persistence
always boolean True
name
flow name
always string http_drop
maxbw
flow's maximum bandwidth
if maxbw is defined string 100M
local_Ip
flow's local IP address
if local_ip is defined string 10.0.0.42
local_port
flow's local port
if local_port is defined int 1337
priority
flow's priority
if priority is defined string low
state
state of the target
always string present
link
flow's link
if link is defined string vnic0
transport
flow's transport
if transport is defined string tcp
remote_Ip
flow's remote IP address
if remote_ip is defined string 10.0.0.42


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.