community.network.ce_sflow – Manages sFlow configuration on HUAWEI CloudEngine switches.
Note
This plugin is part of the community.network collection (version 1.3.0).
To install it use: ansible-galaxy collection install community.network.
To use it in a playbook, specify: community.network.ce_sflow.
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    string    |    Specifies the IPv4/IPv6 address of an sFlow agent.   |  |
|   collector_datagram_size    string    |    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    string    |    Specifies the description of an sFlow collector. The value is a string of 1 to 255 case-sensitive characters without spaces.   |  |
|   collector_id    string    |   
  |    Specifies the ID of an sFlow collector. This ID is used when you specify the collector in subsequent sFlow configuration.   |  
|   collector_ip    string    |    Specifies the IPv4/IPv6 address of the sFlow collector.   |  |
|   collector_ip_vpn    string    |    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    string    |   
  |    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    string    |    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    string    |    Indicates the ID list of the counter collector.   |  |
|   counter_interval    string    |    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    string    |   
  |    Configures the sFlow packets sent by the switch not to carry routing information.   |  
|   forward_enp_slot    string    added in 0.2.0 of community.network    |    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    string    added in 0.2.0 of community.network    |    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    string    added in 0.2.0 of community.network    |    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    string    |    Indicates the ID list of the collector.   |  |
|   sample_direction    string    |   
  |    Enables flow sampling in the inbound or outbound direction.   |  
|   sample_length    string    |    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    string    |    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    string    |    Full name of interface for Flow Sampling or Counter. It must be a physical interface, Eth-Trunk, or Layer 2 subinterface.   |  |
|   source_ip    string    |    Specifies the source IPv4/IPv6 address of sFlow packets.   |  |
|   state    string    |   
  |    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 
localconnections 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
    community.network.ce_sflow:
      agent_ip: 6.6.6.6
      provider: '{{ cli }}'
  - name: Configuring sFlow Collector
    community.network.ce_sflow:
      collector_id: 1
      collector_ip: 7.7.7.7
      collector_ip_vpn: vpn1
      collector_description: Collector1
      provider: '{{ cli }}'
  - name: Configure flow sampling.
    community.network.ce_sflow:
      sflow_interface: 10GE2/0/2
      sample_collector: 1
      sample_direction: inbound
      provider: '{{ cli }}'
  - name: Configure counter sampling.
    community.network.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 / elements=string    |  always |   commands sent to the device  Sample:  ['sflow agent ip 6.6.6.6']   |  
Authors
- QijunPan (@QijunPan)
 
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/community/network/ce_sflow_module.html