bigip_tunnel – Manage tunnels on a BIG-IP

From Get docs
Ansible/docs/2.8/modules/bigip tunnel module


bigip_tunnel – Manage tunnels on a BIG-IP

New in version 2.7.


Synopsis

  • Manages tunnels on a BIG-IP. Tunnels are usually based upon a tunnel profile which defines both default arguments and constraints for the tunnel.
  • Due to this, this module exposes a number of settings that may or may not be related to the type of tunnel you are working with. It is important that you take this into consideration when declaring your tunnel config.
  • If a specific tunnel does not support the parameter you are considering, the documentation of the parameter will usually make mention of this. Otherwise, when configuring that parameter on the device, the device will notify you.

Parameters

Parameter Choices/Defaults Comments

auto_last_hop

string

  • default
  • enabled
  • disabled

Allows you to configure auto last hop on a per-tunnel basis.

When creating a new tunnel, if this parameter is supported by the tunnel profile but not specified, the default is default.

When default, means that the system uses the global auto-lasthop setting to send back the request.

When enabled, allows the system to send return traffic to the MAC address that transmitted the request, even if the routing table points to a different network or interface. As a result, the system can send return traffic to clients even when there is no matching route.

description

string

Description of the tunnel.

key

integer

When applied to a GRE tunnel, this value specifies an optional field in the GRE header, used to authenticate the source of the packet.

When applied to a VXLAN or Geneve tunnel, this value specifies the Virtual Network Identifier (VNI).

When applied to an NVGRE tunnel, this value specifies the Virtual Subnet Identifier (VSID).

When creating a new tunnel, if this parameter is supported by the tunnel profile but not specified, the default value is 0.

local_address

string

Specifies the IP address of the local endpoint of the tunnel.

mode

string

  • bidirectional
  • inbound
  • outbound

Specifies how the tunnel carries traffic.

When creating a new tunnel, if this parameter is supported by the tunnel profile but not specified, the default is bidirectional.

When bidirectional, specifies that the tunnel carries both inbound and outbound traffic.

When inbound, specifies that the tunnel carries only incoming traffic.

When outbound, specifies that the tunnel carries only outgoing traffic.

mtu

integer

Specifies the maximum transmission unit (MTU) of the tunnel.

When creating a new tunnel, if this parameter is supported by the tunnel profile but not specified, the default value is 0.

The valid range is from 0 to 65515.

name

string / required

Specifies the name of the tunnel.

partition

string

Default:

"Common"

Device partition to manage resources on.

password

string / required

The password for the user account used to connect to the BIG-IP.

You may omit this option by setting the environment variable F5_PASSWORD.


aliases: pass, pwd

profile

string

Specifies the profile to associate with the tunnel for handling traffic.

Depending on your selection, other settings become available or disappear.

This parameter may not be changed after it is set.

provider

dictionary

added in 2.5

A dict object containing connection details.

password

string / required

The password for the user account used to connect to the BIG-IP.

You may omit this option by setting the environment variable F5_PASSWORD.


aliases: pass, pwd

server

string / required

The BIG-IP host.

You may omit this option by setting the environment variable F5_SERVER.

server_port

integer

Default:

443

The BIG-IP server port.

You may omit this option by setting the environment variable F5_SERVER_PORT.

ssh_keyfile

path

Specifies the SSH keyfile to use to authenticate the connection to the remote device. This argument is only used for cli transports.

You may omit this option by setting the environment variable ANSIBLE_NET_SSH_KEYFILE.

timeout

integer

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.

transport

string

  • cli
  • rest

Configures the transport connection to use when connecting to the remote device.

user

string / required

The username to connect to the BIG-IP with. This user must have administrative privileges on the device.

You may omit this option by setting the environment variable F5_USER.

validate_certs

boolean

  • no
  • yes

If no, SSL certificates are not validated. Use this only on personally controlled sites using self-signed certificates.

You may omit this option by setting the environment variable F5_VALIDATE_CERTS.

remote_address

string

Specifies the IP address of the remote endpoint of the tunnel.

For dslite, fec (when configuring the FEC tunnel for receiving traffic only), v6rd (configured as a border relay), or map, the tunnel must have an unspecified remote address (any).

secondary_address

string

Specifies a non-floating IP address for the tunnel, to be used with host-initiated traffic.

server

string / required

The BIG-IP host.

You may omit this option by setting the environment variable F5_SERVER.

server_port

integer

added in 2.2

Default:

443

The BIG-IP server port.

You may omit this option by setting the environment variable F5_SERVER_PORT.

state

string

  • present

  • absent

When present, ensures that the tunnel exists.

When absent, ensures the tunnel is removed.

tos

string

Specifies the Type of Service (TOS) value to insert in the encapsulating header of transmitted packets.

When creating a new tunnel, if this parameter is supported by the tunnel profile but not specified, the default value is preserve.

When preserve, the system copies the TOS value from the inner header to the outer header.

You may also specify a numeric value. The possible values are from 0 to 255.

traffic_group

string

Specifies the traffic group to associate with the tunnel.

This value cannot be changed after it is set. This is a limitation of BIG-IP.

transparent

boolean

  • no
  • yes

Specifies that the tunnel operates in transparent mode.

When yes, you can inspect and manipulate the encapsulated traffic flowing through the BIG-IP system.

A transparent tunnel terminates a tunnel while presenting the illusion that the tunnel transits the device unmodified (that is, the BIG-IP system appears as if it were an intermediate router that simply routes IP traffic through the device).

use_pmtu

boolean

  • no
  • yes

Enables or disables the tunnel to use the PMTU (Path MTU) information provided by ICMP NeedFrag error messages.

If yes and the tunnel mtu is set to 0, the tunnel will use the PMTU information.

If yes and the tunnel mtu is fixed to a non-zero value, the tunnel will use the minimum of PMTU and MTU.

If no, the tunnel will use fixed MTU or calculate its MTU using tunnel encapsulation configurations.

user

string / required

The username to connect to the BIG-IP with. This user must have administrative privileges on the device.

You may omit this option by setting the environment variable F5_USER.

validate_certs

boolean

added in 2.0

  • no
  • yes

If no, SSL certificates are not validated. Use this only on personally controlled sites using self-signed certificates.

You may omit this option by setting the environment variable F5_VALIDATE_CERTS.



Notes

Note

  • For more information on using Ansible to manage F5 Networks devices see https://www.ansible.com/integrations/networks/f5.
  • Requires BIG-IP software version >= 12.
  • The F5 modules only manipulate the running configuration of the F5 product. To ensure that BIG-IP specific configuration persists to disk, be sure to include at least one task that uses the bigip_config module to save the running configuration. Refer to the module’s documentation for the correct usage of the module to save your running configuration.


Examples

- name: Create a VXLAN tunnel
  bigip_tunnel:
    name: openshift-tunnel
    local_address: 192.1681.240
    key: 0
    secondary_address: 192.168.1.100
    mtu: 0
    use_pmtu: yes
    tos: preserve
    auto_last_hop: default
    traffic_group: traffic-group-1
    state: present
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

Return Values

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

Key Returned Description

param1

boolean

changed

The new param1 value of the resource.


Sample:

True

param2

string

changed

The new param2 value of the resource.


Sample:

Foo is bar




Status

Authors

  • Tim Rupp (@caphrim007)

Hint

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


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/bigip_tunnel_module.html