Blob Blame History Raw
diff --git a/README.md b/README.md
index 9d66088..2612c46 100644
--- a/README.md
+++ b/README.md
@@ -113,6 +113,7 @@ variable.
 Valid values for `type` are:
 
   - `ethernet`
+  - `infiniband`
   - `bridge`
   - `bond`
   - `team`
@@ -142,7 +143,7 @@ to match a non-virtual device with the profile.
 
 - For NetworkManager `mac` is the permanent MAC address `ethernet.mac-address`.
 
-- For initscripts, this means the currently configurd MAC address of the device (`HWADDR`).
+- For initscripts, this means the currently configured MAC address of the device (`HWADDR`).
 
 ### `interface_name`
 
@@ -252,6 +253,13 @@ network_connections:
       #dhcp4_send_hostname: no
       gateway4: 192.0.2.1
 
+      dns:
+        - 192.0.2.2
+        - 198.51.100.5
+      dns_search:
+        - example.com
+        - subdomain.example.com
+
       route_metric6: -1
       auto6: no
       gateway6: 2001:db8::1
@@ -260,6 +268,18 @@ network_connections:
         - 192.0.2.3/24
         - 198.51.100.3/26
         - 2001:db8::80/7
+
+      route:
+        - network: 198.51.100.128
+          prefix: 26
+          gateway: 198.51.100.1
+          metric: 2
+        - network: 198.51.100.64
+          prefix: 26
+          gateway: 198.51.100.6
+          metric: 4
+      route_append_only: no
+      rule_append_only: yes
 ```
 
 Manual addressing can be specified via a list of addresses and prefixes `address`.
@@ -273,14 +293,50 @@ Note that `dhcp4_send_hostname` is only supported by the `nm` provider and trans
 to [`ipv4.dhcp-send-hostname`](https://developer.gnome.org/NetworkManager/stable/nm-settings.html#nm-settings.property.ipv4.dhcp-send-hostname)
 property.
 
+Manual DNS configuration can be specified via a list of addresses
+given in the `dns` option and a list of domains to search given in the
+`dns_search` option.
+
 - For NetworkManager, `route_metric4` and `route_metric6` corresponds to the
 [`ipv4.route-metric`](https://developer.gnome.org/NetworkManager/stable/nm-settings.html#nm-settings.property.ipv4.route-metric) and
 [`ipv6.route-metric`](https://developer.gnome.org/NetworkManager/stable/nm-settings.html#nm-settings.property.ipv6.route-metric)
  properties, respectively. If specified, it determines the route metric
 for DHCP assigned routes and the default route, and thus the priority for multiple interfaces.
 
+Static route configuration can be specified via a list of routes given in the `route`
+option. The default value is an empty list. Each route is a dictionary with the following
+entries: `network`, `prefix`, `gateway` and `metric`. `network` and `prefix` together specify
+the destination network. CIDR notation or network mask notation are not supported yet. If the
+boolean option `route_append_only` is `yes`, the specified routes are appended to the
+existing routes, if it is `no` (default), the current routes are replaced. Setting this
+option to `yes` without setting `route` has the effect of preserving the current static routes. The
+boolean option `rule_append_only` works in a similar way for routing rules. Note that there is
+no further support for routing rules at the moment, so this option serves merely the purpose
+of preserving the current routing rules.  Note also that when
+`route_append_only`/`rule_append_only` is not specified, the current routes/routing rules will
+be deleted by the role.
+
 Slaves to bridge/bond/team devices cannot specify `ip` settings.
 
+### `type: ethernet`
+
+Ethernet-specific options can be set using the connection profile variable `ethernet`. This
+variable should be specified as a dictionary with the following items (options): `autoneg`, `speed` and `duplex`,
+which correspond to the settings of the `ethtool` utility with the same name. `speed` is an
+integer giving the speed in Mb/s, the valid values of `duplex` are `half` and `full`, and
+`autoneg` accepts a boolean value (default is `yes`) to configure autonegotiation. The `speed` and `duplex` settings are required when autonegotiation is disabled.
+
+```yaml
+network_connections:
+  - name: "eth0"
+    type: "ethernet"
+
+    ethernet:
+      autoneg: no
+      speed: 1000
+      duplex: full
+```
+
 ### Virtual types and Slaves
 
 Device types like `bridge`, `bond`, `team` work similar: