On this page
cl_interface - Configures a front panel port, loopback or management port on Cumulus Linux.
New in version 2.1.
DEPRECATED
| Removed in Ansible: | |
|---|---|
| version: 2.5 | |
| Why: | The nclu module is designed to be easier to use for individuals who are new to Cumulus Linux by exposing the NCLU interface in an automatable way. | 
| Alternative: | Use nclu instead. | 
Synopsis
- Configures a front panel, sub-interface, SVI, management or loopback port on a Cumulus Linux switch. For bridge ports use the cl_bridge module. For bond ports use the cl_bond module. When configuring bridge related features like the “vid” option, please follow the guidelines for configuring “vlan aware” bridging. For more details review the Layer2 Interface Guide at http://docs.cumulusnetworks.com
 
Requirements
The below requirements are needed on the host that executes this module.
- Alternate Debian network interface manager - ifupdown2 @ github.com/CumulusNetworks/ifupdown2
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| addr_method | 
       
  | 
      
        
        Address method.
         | 
     
| alias_name | 
        
        Description of the port.
         | 
     |
| clagd_enable | 
        
        Enables the clagd daemon. This command should only be applied to the clag peerlink interface.
         | 
     |
| clagd_peer_ip | 
        
        IP address of the directly connected peer switch interface.
         | 
     |
| clagd_priority | 
        
        Integer that changes the role the switch has in the clag domain. The lower priority switch will assume the primary role. The number can be between 0 and 65535.
         | 
     |
| clagd_sys_mac | 
        
        Clagd system mac address. Recommended to use the range starting with 44:38:39:ff. Needs to be the same between 2 Clag switches.
         | 
     |
| ipv4 | 
        
        List of IPv4 addresses to configure on the interface. In the form X.X.X.X/YY.
         | 
     |
| ipv6 | 
        
        List of IPv6 addresses to configure on the interface. In the form X:X:X::X/YYY.
         | 
     |
| location | Default: 
        ["/etc/network/interfaces.d"]
         | 
      
        
        Interface directory location
         | 
     
| mstpctl_bpduguard | 
        
        Enables BPDU Guard on a port in vlan-aware mode.
         | 
     |
| mstpctl_portadminedge | 
        
        Enables admin edge port.
         | 
     |
| mstpctl_portnetwork | 
        
        Enables bridge assurance in vlan-aware mode.
         | 
     |
| mtu | 
        
        Set MTU. Configure Jumbo Frame by setting MTU to 9000.
         | 
     |
| name  
        required
         | 
      
        
        Name of the interface.
         | 
     |
| pvid | 
        
        In vlan-aware mode, defines vlan that is the untagged vlan.
         | 
     |
| speed | 
        
        Set speed of the swp(front panel) or management(eth0) interface. speed is in MB.
         | 
     |
| vids | 
        
        In vlan-aware mode, lists VLANs defined under the interface.
         | 
     |
| virtual_ip | 
        
        Define IPv4 virtual IP used by the Cumulus Linux VRR feature.
         | 
     |
| virtual_mac | 
        
        Define Ethernet mac associated with Cumulus Linux VRR feature.
         | 
     
Notes
Note
- As this module writes the interface directory location, ensure that 
/etc/network/interfaceshas a ‘source /etc/network/interfaces.d/*’ or whatever path is mentioned in thelocationattribute. - For the config to be activated, i.e installed in the kernel, “service networking reload” needs be be executed. See EXAMPLES section.
 
Examples
# Options ['virtual_mac', 'virtual_ip'] are required together
- name: Configure a front panel port with an IP
  cl_interface:
    name: swp1
    ipv4: 10.1.1.1/24
  notify: reload networking
- name: Configure front panel to use DHCP
  cl_interface:
    name: swp2
    addr_family: dhcp
  notify: reload networking
- name: Configure a SVI for vlan 100 interface with an IP
  cl_interface:
    name: bridge.100
    ipv4: 10.1.1.1/24
  notify: reload networking
- name: Configure subinterface with an IP
  cl_interface:
    name: bond0.100
    alias_name: my bond
    ipv4: 10.1.1.1/24
  notify: reload networking
# define cl_interfaces once in tasks
# then write interfaces in variables file
# with just the options you want.
- name: Create interfaces
  cl_interface:
      name: '{{ item.key }}'
      ipv4: '{{ item.value.ipv4 | default(omit) }}'
      ipv6: '{{ item.value.ipv6 | default(omit) }}'
      alias_name: '{{ item.value.alias_name | default(omit) }}'
      addr_method: '{{ item.value.addr_method | default(omit) }}'
      speed: '{{ item.value.link_speed | default(omit) }}'
      mtu: '{{ item.value.mtu | default(omit) }}'
      clagd_enable: '{{ item.value.clagd_enable | default(omit) }}'
      clagd_peer_ip: '{{ item.value.clagd_peer_ip | default(omit) }}'
      clagd_sys_mac: '{{ item.value.clagd_sys_mac | default(omit) }}'
      clagd_priority: '{{ item.value.clagd_priority | default(omit) }}'
      vids: '{{ item.value.vids | default(omit) }}'
      virtual_ip: '{{ item.value.virtual_ip | default(omit) }}'
      virtual_mac: '{{ item.value.virtual_mac | default(omit) }}'
      mstpctl_portnetwork: "{{ item.value.mstpctl_portnetwork | default('no') }}"
      mstpctl_portadminedge: "{{ item.value.mstpctl_portadminedge | default('no') }}"
      mstpctl_bpduguard: "{{ item.value.mstpctl_bpduguard | default('no') }}"
  with_dict: '{{ cl_interfaces }}'
  notify: reload networking
# In vars file
# ============
---
cl_interfaces:
  swp1:
    alias_name: uplink to isp
    ipv4: 10.1.1.1/24
  swp2:
    alias_name: l2 trunk connection
    vids:
      - 1
      - 50
  swp3:
    speed: 1000
    alias_name: connects to 1G link
##########
#   br0 interface is configured by cl_bridge
##########
  br0.100:
    alias_name: SVI for vlan 100
    ipv4: 10.2.2.2/24
    ipv6: '10:2:2::2/127'
    virtual_ip: 10.2.2.254
    virtual_mac: 00:00:5E:00:10:10
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| changed  
        bool
         | 
      changed | 
        
        whether the interface was changed
         Sample:
        
       
        True
         | 
     
| msg  
        string
         | 
      always | 
        
        human-readable report of success or failure
         Sample:
        
       
        interface bond0 config updated
         | 
     
Status
This module is flagged as deprecated and will be removed in version 2.5. For more information see DEPRECATED.
Author
- Cumulus Networks (@CumulusNetworks)
 
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.6/modules/cl_interface_module.html