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

- Synopsis
- Parameters
- Examples
- Return Values
- Status

## Synopsis

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

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
dsfield - |  | - 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 - |  | Specifiies a link to configure flow on.
local_ip - |  | Identifies a network flow by the local IP address.
local_port - |  | Identifies a service specified by the local port.
maxbw - |  | - 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 - / required |  | - 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
-

Choices:
- low
- medium ←
- high

Sets the relative priority for the flow.

remote_ip - |  | Identifies a network flow by the remote IP address.

state
-

Choices:
- absent
- present ←
- resetted

Create/delete/enable/disable an IP address on the network interface.

temporary
boolean

Choices:
- no ←
- yes

Specifies that the configured flow is temporary. Temporary flows do not persist across reboots.

transport - |  | - 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, the following are the fields unique to this module:

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

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Adam Števko (@xen0l)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.