Skip to content

Commit 85d13dd

Browse files
committed
Configure IPv6 DNS server using router advertisements.
- Closes #466. - Adds a `DNSMonitor` that listens for router advertisements and updates the resolv.conf with the IPv6 DNS server. - The `configureDns` function now calls `DNSMonitor.update()` to write the initial configuration. - The monitor does not block container workload startup. IPv6-only containers will need to tolerate the initial lack of a DNS server.
1 parent 55c2a0a commit 85d13dd

23 files changed

Lines changed: 2967 additions & 75 deletions

Package.resolved

Lines changed: 51 additions & 33 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ let package = Package(
2929
.library(name: "ContainerizationEXT4", targets: ["ContainerizationEXT4"]),
3030
.library(name: "ContainerizationOCI", targets: ["ContainerizationOCI"]),
3131
.library(name: "ContainerizationNetlink", targets: ["ContainerizationNetlink"]),
32+
.library(name: "ContainerizationICMP", targets: ["ContainerizationICMP"]),
3233
.library(name: "ContainerizationIO", targets: ["ContainerizationIO"]),
3334
.library(name: "ContainerizationOS", targets: ["ContainerizationOS"]),
3435
.library(name: "ContainerizationExtras", targets: ["ContainerizationExtras"]),
@@ -205,6 +206,20 @@ let package = Package(
205206
.product(name: "Crypto", package: "swift-crypto"),
206207
]
207208
),
209+
.target(
210+
name: "ContainerizationICMP",
211+
dependencies: [
212+
.product(name: "Logging", package: "swift-log"),
213+
"ContainerizationExtras",
214+
]
215+
),
216+
.testTarget(
217+
name: "ContainerizationICMPTests",
218+
dependencies: [
219+
"ContainerizationExtras",
220+
"ContainerizationICMP",
221+
]
222+
),
208223
.target(
209224
name: "ContainerizationNetlink",
210225
dependencies: [

0 commit comments

Comments
 (0)