Repository: ansible-collections/community.general

Issue:
nmcli ignoring IP4 / IP6 settings on tunnel type sit
### Summary

IPV4/IPV6 settings are not getting configured on sit tunnel devices.
This bug exists due to IPV4 / IPV6 configuration is only applied if the device type is in an hardoded list of Ip supported devices and SIT is missing.

Relevant code:
https://github.com/ansible-collections/community.general/blob/6ac410b3f617074bb7af86050d8adfa4d495a3e6/plugins/modules/net_tools/nmcli.py#L821

Solution proposal:
Add connection type "sit" to the statically defined list of IP connection types.
I will open an Pull Request with the proposed change.

### Issue Type

Bug Report

### Component Name

nmcli

### Ansible Version

```console (paste below)
$ ansible --version
ansible [core 2.11.3]
  config file = None
  configured module search path = ['/home/opc/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
  ansible collection location = /home/opc/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.6.8 (default, May 19 2021, 10:00:09) [GCC 8.4.1 20200928 (Red Hat 8.4.1-1.0.1)]
  jinja version = 2.10.1
  libyaml = True
```


### Configuration

_No response_

### OS / Environment

RHEL 8

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```
  nmcli:
    type: sit
    conn_name: sit_tb
    autoconnect: yes
    ip_tunnel_remote: 94.44.44.44
    ip6: 2:1:1:171::2/64
    gw6: 2:1:1:171::1
    method4: disabled
    state: present
```


### Expected Results

Tunnel should be configured with static IPv6 configurations and IPv4 disabled.

### Actual Results

Tunnel is configured with dhcp.

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


Discussion:

Resolving patch:
diff --git a/plugins/modules/net_tools/nmcli.py b/plugins/modules/net_tools/nmcli.py
--- a/plugins/modules/net_tools/nmcli.py
+++ b/plugins/modules/net_tools/nmcli.py
@@ -963,6 +963,8 @@ def ip_conn_type(self):
             'ethernet',
             'generic',
             'infiniband',
+            'ipip',
+            'sit',
             'team',
             'vlan',
             'wifi'


Test patch:
diff --git a/tests/unit/plugins/modules/net_tools/test_nmcli.py b/tests/unit/plugins/modules/net_tools/test_nmcli.py
--- a/tests/unit/plugins/modules/net_tools/test_nmcli.py
+++ b/tests/unit/plugins/modules/net_tools/test_nmcli.py
@@ -388,6 +388,12 @@
 connection.id:                          non_existent_nw_device
 connection.interface-name:              ipip-existent_nw_device
 connection.autoconnect:                 yes
+ipv4.ignore-auto-dns:                   no
+ipv4.ignore-auto-routes:                no
+ipv4.never-default:                     no
+ipv4.may-fail:                          yes
+ipv6.ignore-auto-dns:                   no
+ipv6.ignore-auto-routes:                no
 ip-tunnel.mode:                         ipip
 ip-tunnel.parent:                       non_existent_ipip_device
 ip-tunnel.local:                        192.168.225.5
@@ -411,6 +417,12 @@
 connection.id:                          non_existent_nw_device
 connection.interface-name:              sit-existent_nw_device
 connection.autoconnect:                 yes
+ipv4.ignore-auto-dns:                   no
+ipv4.ignore-auto-routes:                no
+ipv4.never-default:                     no
+ipv4.may-fail:                          yes
+ipv6.ignore-auto-dns:                   no
+ipv6.ignore-auto-routes:                no
 ip-tunnel.mode:                         sit
 ip-tunnel.parent:                       non_existent_sit_device
 ip-tunnel.local:                        192.168.225.5