cisco.intersight.intersight_ethernet_adapter_policy module – Ethernet Adapter Policy configuration for Cisco Intersight

Note

This module is part of the cisco.intersight collection (version 2.3.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 cisco.intersight.

To use it in a playbook, specify: cisco.intersight.intersight_ethernet_adapter_policy.

Synopsis

  • Manages Ethernet Adapter Policy configuration on Cisco Intersight.

  • Configure virtual ethernet interface settings including advanced features like RDMA, QoS, and offload capabilities.

  • For more information see Cisco Intersight.

Parameters

Parameter

Comments

advanced_filter

boolean

Enables advanced filtering on the interface.

Choices:

  • false ← (default)

  • true

api_key_id

string / required

Public API Key ID associated with the private key.

If not set, the value of the INTERSIGHT_API_KEY_ID environment variable is used.

api_private_key

path / required

Filename (absolute path) or string of PEM formatted private key data to be used for Intersight API authentication.

If a string is used, Ansible vault should be used to encrypt string data.

Ex. ansible-vault encrypt_string –vault-id tme@/Users/dsoper/Documents/vault_password_file ‘—–BEGIN EC PRIVATE KEY—–

<your private key data>

—–END EC PRIVATE KEY—–’

If not set, the value of the INTERSIGHT_API_PRIVATE_KEY environment variable is used.

api_uri

string

URI used to access the Intersight API.

If not set, the value of the INTERSIGHT_API_URI environment variable is used.

Default: "https://intersight.com/api/v1"

arfs_enabled

boolean

Status of Accelerated Receive Flow Steering on the virtual ethernet interface.

Choices:

  • false ← (default)

  • true

completion_queue_count

integer

The number of completion queue resources to allocate.

In general, the number of completion queue resources to allocate is equal to the number of transmit queue resources plus the number of receive queue resources.

Default: 5

completion_ring_size

integer

The number of descriptors in each completion queue.

Default: 1

description

aliases: descr

string

The user-defined description for the Ethernet Adapter Policy.

Description can contain letters(a-z, A-Z), numbers(0-9), hyphen(-), period(.), colon(:), or an underscore(_).

etherchannel_pinning_enabled

boolean

Enables EtherChannel Pinning to combine multiple physical links between two network switches into a single logical link.

Transmit Queue Count should be at least 2 to enable ether channel pinning.

Choices:

  • false ← (default)

  • true

geneve_enabled

boolean

GENEVE offload protocol allows you to create logical networks that span physical network boundaries.

Cannot be enabled simultaneously with ARFS.

Choices:

  • false ← (default)

  • true

interrupt_coalescing_time

integer

The time to wait between interrupts or the idle period that must be encountered before an interrupt is sent.

To turn off interrupt coalescing, enter 0 (zero) in this field.

Default: 125

interrupt_coalescing_type

string

Interrupt Coalescing Type.

MIN - The system waits for the time specified in the Coalescing Time field before sending another interrupt event.

IDLE - The system does not send an interrupt until there is a period of no activity lasting at least as long as the time specified in the Coalescing Time field.

Choices:

  • "MIN" ← (default)

  • "IDLE"

interrupt_count

integer

The number of interrupt resources to allocate. Typical value is be equal to the number of completion queue resources.

Default: 8

interrupt_mode

string

Preferred driver interrupt mode.

MSIx - Message Signaled Interrupts (MSI) with the optional extension (recommended).

MSI - MSI only.

INTx - PCI INTx interrupts.

Choices:

  • "MSIx" ← (default)

  • "MSI"

  • "INTx"

interrupt_scaling

boolean

Enables Interrupt Scaling on the interface.

Choices:

  • false ← (default)

  • true

name

string / required

The name assigned to the Ethernet Adapter Policy.

The name must be between 1 and 62 alphanumeric characters, allowing special characters :-_.

nvgre_enabled

boolean

Status of the Network Virtualization using Generic Routing Encapsulation on the virtual ethernet interface.

Choices:

  • false ← (default)

  • true

organization

string

The name of the Organization this resource is assigned to.

Profiles, Policies, and Pools that are created within a Custom Organization are applicable only to devices in the same Organization.

Default: "default"

ptp_enabled

boolean

Status of Precision Time Protocol (PTP) on the virtual ethernet interface.

PTP can be enabled only on one vNIC on an adapter.

Choices:

  • false ← (default)

  • true

roce_class_of_service

integer

The Class of Service for RoCE on this virtual interface.

Only applicable when roce_enabled is true.

Choices:

  • 1

  • 2

  • 4

  • 5 ← (default)

  • 6

roce_enabled

boolean

If enabled sets RDMA over Converged Ethernet (RoCE) on this virtual interface.

Cannot be enabled simultaneously with NVGRE.

Choices:

  • false ← (default)

  • true

roce_memory_regions

integer

The number of memory regions per adapter. Recommended value = integer power of 2.

Only applicable when roce_enabled is true.

Default: 131072

roce_queue_pairs

integer

The number of queue pairs per adapter. Recommended value = integer power of 2.

Only applicable when roce_enabled is true.

Default: 256

roce_resource_groups

integer

The number of resource groups per adapter. Recommended value = be an integer power of 2 greater than or equal to the number of CPU cores.

Only applicable when roce_enabled is true.

Default: 2

roce_version

integer

Configure RDMA over Converged Ethernet (RoCE) version on the virtual interface.

Only RoCEv1 is supported on Cisco VIC 13xx series adapters and only RoCEv2 is supported on Cisco VIC 14xx series adapters.

Only applicable when roce_enabled is true.

Choices:

  • 1 ← (default)

  • 2

rss_enabled

boolean

Receive Side Scaling allows the incoming traffic to be spread across multiple CPU cores.

Choices:

  • false

  • true ← (default)

rss_ipv4_hash

boolean

When enabled, the IPv4 address is used for traffic distribution.

Choices:

  • false

  • true ← (default)

rss_ipv6_ext_hash

boolean

When enabled, the IPv6 extensions are used for traffic distribution.

Choices:

  • false

  • true ← (default)

rss_ipv6_hash

boolean

When enabled, the IPv6 address is used for traffic distribution.

Choices:

  • false ← (default)

  • true

rss_tcp_ipv4_hash

boolean

When enabled, both the IPv4 address and TCP port number are used for traffic distribution.

Choices:

  • false

  • true ← (default)

rss_tcp_ipv6_ext_hash

boolean

When enabled, both the IPv6 extensions and TCP port number are used for traffic distribution.

Choices:

  • false

  • true ← (default)

rss_tcp_ipv6_hash

boolean

When enabled, both the IPv6 address and TCP port number are used for traffic distribution.

Choices:

  • false ← (default)

  • true

rss_udp_ipv4_hash

boolean

When enabled, both the IPv4 address and UDP port number are used for traffic distribution.

Choices:

  • false ← (default)

  • true

rss_udp_ipv6_hash

boolean

When enabled, both the IPv6 address and UDP port number are used for traffic distribution.

Choices:

  • false ← (default)

  • true

rx_queue_count

integer

The number of receive queue resources to allocate.

Default: 4

rx_ring_size

integer

The number of descriptors in each receive queue.

Default: 512

state

string

If present, will verify the resource is present and will create if needed.

If absent, will verify the resource is absent and will delete if needed.

Choices:

  • "present" ← (default)

  • "absent"

tags

list / elements=dictionary

List of tags in Key:<user-defined key> Value:<user-defined value> format.

tcp_large_receive

boolean

Enables the reassembly of segmented packets in hardware before sending them to the CPU.

Choices:

  • false

  • true ← (default)

tcp_large_send

boolean

Enables the CPU to send large packets to the hardware for segmentation.

Choices:

  • false

  • true ← (default)

tcp_rx_checksum

boolean

When enabled, the CPU sends all packet checksums to the hardware for validation.

Choices:

  • false

  • true ← (default)

tcp_tx_checksum

boolean

When enabled, the CPU sends all packets to the hardware so that the checksum can be calculated.

Choices:

  • false

  • true ← (default)

tx_queue_count

integer

The number of transmit queue resources to allocate.

Default: 1

tx_ring_size

integer

The number of descriptors in each transmit queue.

Default: 256

integer

Uplink Failback Timeout in seconds when uplink failover is enabled for a vNIC.

After a vNIC has started using its secondary interface, this setting controls how long the primary interface must be available before the system resumes using the primary interface for the vNIC.

Default: 5

use_proxy

boolean

If no, it will not use a proxy, even if one is defined in an environment variable on the target hosts.

Choices:

  • false

  • true ← (default)

validate_certs

boolean

Boolean control for verifying the api_uri TLS certificate

Choices:

  • false

  • true ← (default)

vxlan_enabled

boolean

Status of the Virtual Extensible LAN Protocol on the virtual ethernet interface.

Choices:

  • false ← (default)

  • true

Examples

- name: Create a basic Ethernet Adapter Policy
  cisco.intersight.intersight_ethernet_adapter_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "basic-ethernet-adapter-policy"
    description: "Basic Ethernet adapter policy with default settings"
    tags:
      - Key: "Environment"
        Value: "Production"

- name: Create an Ethernet Adapter Policy with VXLAN and advanced features
  cisco.intersight.intersight_ethernet_adapter_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "advanced-ethernet-adapter-policy"
    description: "Advanced Ethernet adapter policy with VXLAN and PTP"
    vxlan_enabled: true
    ptp_enabled: true
    advanced_filter: true
    interrupt_scaling: true
    interrupt_count: 16
    rx_queue_count: 8
    tx_queue_count: 4
    completion_queue_count: 12
    tags:
      - Key: "Environment"
        Value: "Production"
      - Key: "Feature"
        Value: "Advanced"

- name: Create an Ethernet Adapter Policy with RoCE enabled
  cisco.intersight.intersight_ethernet_adapter_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "roce-ethernet-adapter-policy"
    description: "Ethernet adapter policy with RoCE v2 enabled"
    roce_enabled: true
    roce_queue_pairs: 256
    roce_memory_regions: 131072
    roce_resource_groups: 2
    roce_version: 2
    roce_class_of_service: 5
    tags:
      - Key: "Protocol"
        Value: "RoCE"

- name: Create an Ethernet Adapter Policy with EtherChannel pinning
  cisco.intersight.intersight_ethernet_adapter_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "etherchannel-adapter-policy"
    description: "Ethernet adapter policy with EtherChannel pinning"
    etherchannel_pinning_enabled: true
    tx_queue_count: 2
    completion_queue_count: 6
    tags:
      - Key: "Feature"
        Value: "EtherChannel"

- name: Create an Ethernet Adapter Policy with custom RSS settings
  cisco.intersight.intersight_ethernet_adapter_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "custom-rss-adapter-policy"
    description: "Ethernet adapter policy with custom RSS configuration"
    rss_enabled: true
    rss_ipv4_hash: true
    rss_ipv6_hash: false
    rss_tcp_ipv4_hash: false
    rss_tcp_ipv6_hash: false
    rss_udp_ipv4_hash: true
    rss_udp_ipv6_hash: true
    tags:
      - Key: "Feature"
        Value: "CustomRSS"

- name: Delete an Ethernet Adapter Policy
  cisco.intersight.intersight_ethernet_adapter_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "old-ethernet-adapter-policy"
    state: absent

Return Values

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

Key

Description

api_response

dictionary

The API response output returned by the specified resource.

Returned: always

Sample: {"AdvancedFilter": false, "ArfsSettings": {"Enabled": false}, "CompletionQueueSettings": {"Count": 5, "RingSize": 1}, "Description": "Basic Ethernet adapter policy with default settings", "InterruptSettings": {"CoalescingTime": 125, "CoalescingType": "MIN", "Count": 8, "Mode": "MSIx"}, "Moid": "6889f3e8f654d9f7013baae4", "Name": "basic-ethernet-adapter-policy", "NvgreSettings": {"Enabled": false}, "ObjectType": "vnic.EthAdapterPolicy", "PtpSettings": {"Enabled": false}, "RoceSettings": {"Enabled": false}, "RssHashSettings": {"Ipv4Hash": true, "Ipv6ExtHash": false, "Ipv6Hash": true, "TcpIpv4Hash": true, "TcpIpv6ExtHash": false, "TcpIpv6Hash": true, "UdpIpv4Hash": false, "UdpIpv6Hash": false}, "RssSettings": true, "RxQueueSettings": {"Count": 4, "RingSize": 512}, "TcpOffloadSettings": {"LargeReceive": true, "LargeSend": true, "RxChecksum": true, "TxChecksum": true}, "TxQueueSettings": {"Count": 1, "RingSize": 256}, "VxlanSettings": {"Enabled": false}}

Authors

  • Ron Gershburg (@rgershbu)