Documentation

bigip_vlan - Manage VLANs on a BIG-IP system

New in version 2.2.

Synopsis

  • Manage VLANs on a BIG-IP system

Requirements

The below requirements are needed on the host that executes this module.

  • f5-sdk >= 3.0.9

Parameters

Parameter
Choices/Defaults
Comments
cmp_hash
(added in 2.5)
Specifies how the traffic on the VLAN will be disaggregated. The value selected determines the traffic disaggregation method. You can choose to disaggregate traffic based on source-address (the source IP address), destination-address (destination IP address), or default, which specifies that the default CMP hash uses L4 ports.
When creating a new VLAN, if this parameter is not specified, the default of default is used.
dag_round_robin
(added in 2.5)
    Choices:
  • no
  • yes
Specifies whether some of the stateless traffic on the VLAN should be disaggregated in a round-robin order instead of using a static hash. The stateless traffic includes non-IP L2 traffic, ICMP, some UDP protocols, and so on.
When creating a new VLAN, if this parameter is not specified, the default of (no) is used.
dag_tunnel
(added in 2.5)
Specifies how the disaggregator (DAG) distributes received tunnel-encapsulated packets to TMM instances. Select inner to distribute packets based on information in inner headers. Select outer to distribute packets based on information in outer headers without inspecting inner headers.
When creating a new VLAN, if this parameter is not specified, the default of outer is used.
This parameter is not supported on Virtual Editions of BIG-IP.
description
The description to give to the VLAN.
mtu
(added in 2.5)
Specifies the maximum transmission unit (MTU) for traffic on this VLAN. When creating a new VLAN, if this parameter is not specified, the default value used will be 1500.
This number must be between 576 to 9198.
name
required
The VLAN to manage. If the special VLAN ALL is specified with the state value of absent then all VLANs will be removed.
partition
(added in 2.5)
Default:
Common
Device partition to manage resources on.
password
required
The password for the user account used to connect to the BIG-IP. You can omit this option if the environment variable F5_PASSWORD is set.

aliases: pass, pwd
provider
(added in 2.5)
A dict object containing connection details.
 
ssh_keyfile
Specifies the SSH keyfile to use to authenticate the connection to the remote device. This argument is only used for cli transports. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_SSH_KEYFILE will be used instead.
 
timeout
Default:
10
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
 
server
required
The BIG-IP host. You can omit this option if the environment variable F5_SERVER is set.
 
user
required
The username to connect to the BIG-IP with. This user must have administrative privileges on the device. You can omit this option if the environment variable F5_USER is set.
 
server_port
Default:
443
The BIG-IP server port. You can omit this option if the environment variable F5_SERVER_PORT is set.
 
password
required
The password for the user account used to connect to the BIG-IP. You can omit this option if the environment variable F5_PASSWORD is set.

aliases: pass, pwd
 
validate_certs
    Choices:
  • no
  • yes ←
If no, SSL certificates will not be validated. Use this only on personally controlled sites using self-signed certificates. You can omit this option if the environment variable F5_VALIDATE_CERTS is set.
 
transport
required
    Choices:
  • rest
  • cli ←
Configures the transport connection to use when connecting to the remote device.
server
required
The BIG-IP host. You can omit this option if the environment variable F5_SERVER is set.
server_port
(added in 2.2)
Default:
443
The BIG-IP server port. You can omit this option if the environment variable F5_SERVER_PORT is set.
state
    Choices:
  • absent
  • present ←
The state of the VLAN on the system. When present, guarantees that the VLAN exists with the provided attributes. When absent, removes the VLAN from the system.
tag
Tag number for the VLAN. The tag number can be any integer between 1 and 4094. The system automatically assigns a tag number if you do not specify a value.
tagged_interfaces
Specifies a list of tagged interfaces and trunks that you want to configure for the VLAN. Use tagged interfaces or trunks when you want to assign a single interface or trunk to multiple VLANs.

aliases: tagged_interface
untagged_interfaces
Specifies a list of untagged interfaces and trunks that you want to configure for the VLAN.

aliases: untagged_interface
user
required
The username to connect to the BIG-IP with. This user must have administrative privileges on the device. You can omit this option if the environment variable F5_USER is set.
validate_certs
(added in 2.0)
    Choices:
  • no
  • yes ←
If no, SSL certificates will not be validated. Use this only on personally controlled sites using self-signed certificates. You can omit this option if the environment variable F5_VALIDATE_CERTS is set.

Notes

Note

  • Requires BIG-IP versions >= 12.0.0
  • For more information on using Ansible to manage F5 Networks devices see https://www.ansible.com/integrations/networks/f5.
  • Requires the f5-sdk Python package on the host. This is as easy as pip install f5-sdk.

Examples

- name: Create VLAN
  bigip_vlan:
      name: "net1"
      password: "secret"
      server: "lb.mydomain.com"
      user: "admin"
      validate_certs: "no"
  delegate_to: localhost

- name: Set VLAN tag
  bigip_vlan:
      name: "net1"
      password: "secret"
      server: "lb.mydomain.com"
      tag: "2345"
      user: "admin"
      validate_certs: "no"
  delegate_to: localhost

- name: Add VLAN 2345 as tagged to interface 1.1
  bigip_vlan:
      tagged_interface: 1.1
      name: "net1"
      password: "secret"
      server: "lb.mydomain.com"
      tag: "2345"
      user: "admin"
      validate_certs: "no"
  delegate_to: localhost

- name: Add VLAN 1234 as tagged to interfaces 1.1 and 1.2
  bigip_vlan:
      tagged_interfaces:
          - 1.1
          - 1.2
      name: "net1"
      password: "secret"
      server: "lb.mydomain.com"
      tag: "1234"
      user: "admin"
      validate_certs: "no"
  delegate_to: localhost

Return Values

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

Key
Returned
Description
cmp_hash
string
changed
New traffic disaggregation method.

Sample:
source-address
dag_tunnel
string
changed
The new DAG tunnel setting.

Sample:
outer
description
string
changed
The description set on the VLAN.

Sample:
foo VLAN
interfaces
list
changed
Interfaces that the VLAN is assigned to.

Sample:
['1.1', '1.2']
partition
string
changed
The partition that the VLAN was created on.

Sample:
Common
tag
int
changed
The ID of the VLAN.

Sample:
2345


Status

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

Author

  • Tim Rupp (@caphrim007)
  • Wojciech Wypior (@wojtek0806)

Hint

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