# ce_sflow – Manages sFlow configuration on HUAWEI CloudEngine switches

New in version 2.4.

- Synopsis

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- Configure Sampled Flow (sFlow) to monitor traffic on an interface in real time, detect abnormal traffic, and locate the source of attack traffic, ensuring stable running of the network.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
agent_ip - |  | Specifies the IPv4/IPv6 address of an sFlow agent.
collector_datagram_size - |  | Specifies the maximum length of sFlow packets sent from an sFlow agent to an sFlow collector. The value is an integer, in bytes. It ranges from 1024 to 8100. The default value is 1400.
collector_description - |  | Specifies the description of an sFlow collector. The value is a string of 1 to 255 case-sensitive characters without spaces.

collector_id
-

Choices:
- 1
- 2

Specifies the ID of an sFlow collector. This ID is used when you specify the collector in subsequent sFlow configuration.

collector_ip - |  | Specifies the IPv4/IPv6 address of the sFlow collector.
collector_ip_vpn - |  | Specifies the name of a VPN instance. The value is a string of 1 to 31 case-sensitive characters, spaces not supported. When double quotation marks are used around the string, spaces are allowed in the string. The value `_public_` is reserved and cannot be used as the VPN instance name.

collector_meth
-

Choices:
- meth
- enhanced

Configures the device to send sFlow packets through service interfaces, enhancing the sFlow packet forwarding capability. The enhanced parameter is optional. No matter whether you configure the enhanced mode, the switch determines to send sFlow packets through service cards or management port based on the routing information on the collector. When the value is meth, the device forwards sFlow packets at the control plane. When the value is enhanced, the device forwards sFlow packets at the forwarding plane to enhance the sFlow packet forwarding capacity.

collector_udp_port - |  | Specifies the UDP destination port number of sFlow packets. The value is an integer that ranges from 1 to 65535. The default value is 6343.
counter_collector - |  | Indicates the ID list of the counter collector.
counter_interval - |  | Indicates the counter sampling interval. The value is an integer that ranges from 10 to 4294967295, in seconds. The default value is 20.

export_route
-

Choices:
- enable
- disable

Configures the sFlow packets sent by the switch not to carry routing information.

forward_enp_slot - |  | Enable the Embedded Network Processor (ENP) chip function. The switch uses the ENP chip to perform sFlow sampling, and the maximum sFlow sampling interval is 65535. If you set the sampling interval to be larger than 65535, the switch automatically restores it to 65535. The value is an integer or 'all'.
rate_limit - |  | Specifies the rate of sFlow packets sent from a card to the control plane. The value is an integer that ranges from 100 to 1500, in pps.
rate_limit_slot - |  | Specifies the slot where the rate of output sFlow packets is limited. If this parameter is not specified, the rate of sFlow packets sent from all cards to the control plane is limited. The value is an integer or a string of characters.
sample_collector - |  | Indicates the ID list of the collector.

sample_direction
-

Choices:
- inbound
- outbound
- both

Enables flow sampling in the inbound or outbound direction.

sample_length - |  | Specifies the maximum length of sampled packets. The value is an integer and ranges from 18 to 512, in bytes. The default value is 128.
sample_rate - |  | Specifies the flow sampling rate in the format 1/rate. The value is an integer and ranges from 1 to 4294967295. The default value is 8192.
sflow_interface - |  | Full name of interface for Flow Sampling or Counter. It must be a physical interface, Eth-Trunk, or Layer 2 subinterface.
source_ip - |  | Specifies the source IPv4/IPv6 address of sFlow packets.

state
-

Choices:
- present ←
- absent

Determines whether the config should be present or not on the device.

## Notes

Note

- This module requires the netconf system service be enabled on the remote device being managed.

- Recommended connection is `netconf`.

- This module also works with `local` connections for legacy playbooks.

## Examples

    ---

    - name: sflow module test
      hosts: ce128
      connection: local
      gather_facts: no
      vars:
        cli:
          host: "{{ inventory_hostname }}"
          port: "{{ ansible_ssh_port }}"
          username: "{{ username }}"
          password: "{{ password }}"
          transport: cli

      tasks:
      - name: Configuring sFlow Agent
        ce_sflow:
          agent_ip: 6.6.6.6
          provider: '{{ cli }}'

      - name: Configuring sFlow Collector
        ce_sflow:
          collector_id: 1
          collector_ip: 7.7.7.7
          collector_ip_vpn: vpn1
          collector_description: Collector1
          provider: '{{ cli }}'

      - name: Configure flow sampling.
        ce_sflow:
          sflow_interface: 10GE2/0/2
          sample_collector: 1
          sample_direction: inbound
          provider: '{{ cli }}'

      - name: Configure counter sampling.
        ce_sflow:
          sflow_interface: 10GE2/0/2
          counter_collector: 1
          counter_interval: 1000
          provider: '{{ cli }}'

## Return Values

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

Key | Returned | Description
--- | --- | ---
changed boolean | always | check to see if a change was made on the device Sample: True
end_state dictionary | verbose mode | k/v pairs of configuration after module execution Sample: {'agent': {'family': 'ipv4', 'ipv4Addr': '1.2.3.4', 'ipv6Addr': None}}
existing dictionary | verbose mode | k/v pairs of existing configuration Sample: {'agent': {}}
proposed dictionary | verbose mode | k/v pairs of parameters passed into module Sample: {'agent_ip': '6.6.6.6', 'state': 'present'}
updates list | always | commands sent to the device Sample: ['sflow agent ip 6.6.6.6']

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- QijunPan (@QijunPan)

Hint

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