Skip to content

Commit

Permalink
YAML API: Include doc for global DNS vs interface DNS
Browse files Browse the repository at this point in the history
Signed-off-by: Gris Ge <[email protected]>
  • Loading branch information
cathay4t committed Mar 5, 2024
1 parent b3b8741 commit ca64644
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions devel/yaml_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1582,12 +1582,19 @@ dns-resolver:
- example.org
```

Due to NetworkManager limitations, when using NetworkManager backend, nmstate
is required to find a interface to hold DNS settings in the order of:
* First interface in desire state with static IP or auto IP with
`auto-dns: false`.
* First unchanged interface in current state with static IP or auto IP with
`auto-dns: false`.
NetworkManager backend has two set of DNS configurations:
* Global DNS set by D-BUS interface or NetworkManager.conf.
* Interface DNS stored in NetworkManager connection as `ipv4.dns` or
`ipv6.dns.`

Nmstate will try to use global DNS via D-BUS interface call, and only use
interface level DNS for any of these use case:
1. Has IPv6 link-local address as name server: e.g. `fe80::deef:1%eth1`
2. User want static DNS server appended before dynamic one. In this case,
user should define `auto-dns: true` explicitly along with static DNS.
3. User want to force DNS server stored in interface for static IP
interface. This case, user need to state static DNS config along with
static IP config.

To purge the static DNS configure, please use

Expand Down

0 comments on commit ca64644

Please sign in to comment.