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

Note

This plugin is part of the community.network collection (version 3.0.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.network.

To use it in a playbook, specify: community.network.flowadm.

Synopsis

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

Parameters

Parameter Choices/Defaults Comments
dsfield
string
- 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
string
Specifiies a link to configure flow on.
local_ip
string
Identifies a network flow by the local IP address.
local_port
string
Identifies a service specified by the local port.
maxbw
string
- 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
string / 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
string
    Choices:
  • low
  • medium
  • high
Sets the relative priority for the flow.
remote_ip
string
Identifies a network flow by the remote IP address.
state
string
    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
string
- 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

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

- name: Reset flow properties
  community.network.flowadm:
    name: dns
    state: resetted

- name: Configure policy for EF PHB (DSCP value of 101110 from RFC 2598) with a bandwidth of 500 Mbps and a high priority
  community.network.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


Authors

  • Adam Števko (@xen0l)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/network/flowadm_module.html