ansible / ansible.builtin / v2.7.17 / module / flowadm Manage bandwidth resource control and priority for protocols, services and zones on Solaris/illumos systems | "added in version" 2.2 of ansible.builtin" Authors: Adam Števko (@xen0l) preview | supported by communityansible.builtin.flowadm (v2.7.17) — module
pip
Install with pip install ansible==2.7.17
Create/modify/remove networking bandwidth and associated resources for a type of traffic on a particular link.
# 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
link: description: - Specifiies a link to configure flow on. required: false name: aliases: - flow description: '- 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. ' required: true maxbw: description: '- 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. ' required: false state: choices: - absent - present - resetted default: present description: - Create/delete/enable/disable an IP address on the network interface. required: false dsfield: description: '- 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. ' required: false local_ip: description: - Identifies a network flow by the local IP address. required: false priority: choices: - low - medium - high default: medium description: - Sets the relative priority for the flow. required: false remote_ip: description: - Identifies a network flow by the remote IP address. required: false temporary: default: false description: - Specifies that the configured flow is temporary. Temporary flows do not persist across reboots. required: false type: bool transport: description: '- Specifies a Layer 4 protocol to be used. It is typically used in combination with I(local_port) to identify the service that needs special attention. ' required: false local_port: description: - Identifies a service specified by the local port. required: false
dsfield: description: flow's differentiated services value returned: if dsfield is defined sample: 0x2e:0xfc type: string link: description: flow's link returned: if link is defined sample: vnic0 type: string local_Ip: description: flow's local IP address returned: if local_ip is defined sample: 10.0.0.42 type: string local_port: description: flow's local port returned: if local_port is defined sample: 1337 type: int maxbw: description: flow's maximum bandwidth returned: if maxbw is defined sample: 100M type: string name: description: flow name returned: always sample: http_drop type: string priority: description: flow's priority returned: if priority is defined sample: low type: string remote_Ip: description: flow's remote IP address returned: if remote_ip is defined sample: 10.0.0.42 type: string state: description: state of the target returned: always sample: present type: string temporary: description: flow's persistence returned: always sample: 'True' type: boolean transport: description: flow's transport returned: if transport is defined sample: tcp type: string