diff -r -u a/salt/modules/debian_ip.py b/salt/modules/debian_ip.py
--- a/salt/modules/debian_ip.py	2021-03-24 15:53:25.000000000 -0600
+++ b/salt/modules/debian_ip.py	2021-05-04 13:12:20.610157101 -0600
@@ -679,13 +679,14 @@
 
     # Return a sorted list of the keys for bond, bridge and ethtool options to
     # ensure a consistent order
+    result = adapters.copy()
     for iface_name in adapters:
         if iface_name == "source":
             continue
         if "data" not in adapters[iface_name]:
             msg = "Interface file malformed for interface: {}.".format(iface_name)
             log.error(msg)
-            adapters.pop(iface_name)
+            result.pop(iface_name)
             continue
         for opt in ["ethtool", "bonding", "bridging"]:
             for inet in ["inet", "inet6"]:
@@ -694,9 +695,9 @@
                         opt_keys = sorted(
                             adapters[iface_name]["data"][inet][opt].keys()
                         )
-                        adapters[iface_name]["data"][inet][opt + "_keys"] = opt_keys
+                        result[iface_name]["data"][inet][opt + "_keys"] = opt_keys
 
-    return adapters
+    return result
 
 
 def _parse_ethtool_opts(opts, iface):
@@ -1667,6 +1668,9 @@
     if iface_type not in _IFACE_TYPES:
         _raise_error_iface(iface, iface_type, _IFACE_TYPES)
 
+    if "proto" not in settings:
+        settings["proto"] = "static"
+
     if iface_type == "slave":
         settings["slave"] = "yes"
         if "master" not in settings:
diff -r -u a/salt/templates/debian_ip/debian_eth.jinja b/salt/templates/debian_ip/debian_eth.jinja
--- a/salt/templates/debian_ip/debian_eth.jinja	2021-03-24 15:53:25.000000000 -0600
+++ b/salt/templates/debian_ip/debian_eth.jinja	2021-05-04 13:09:41.280247431 -0600
@@ -36,7 +36,7 @@
 {% endif %}{% endfor %}{% endif %}{% if interface.bonding  %}{% for item in interface.bonding_keys  -%}
 {% if interface.bonding[item] is string      %}    bond-{{ item }} {{ interface.bonding[item] }}
 {% elif interface.bonding[item] is iterable  %}    bond-{{ item }} {{ interface.bonding[item]|join(' ') }}
-{% endif %}{% endfor %}{% endif %}{% if interface.bridging %}{% for item in interface.bridging_keys -%}.
+{% endif %}{% endfor %}{% endif %}{% if interface.bridging %}{% for item in interface.bridging_keys -%}
 {% if interface.bridging[item] is string     %}    bridge_{{ item }} {{ interface.bridging[item] }}
 {% elif interface.bridging[item] is iterable %}    bridge_{{ item }} {{ interface.bridging[item]|join(' ') }}
 {% endif %}{% endfor %}{% endif %}{% endif %}{% endif %}{% endfor %}
