summaryrefslogtreecommitdiffstats
path: root/src/ipv6nd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2020-12-12 13:12:26 +0000
committerRoy Marples <roy@marples.name>2020-12-12 13:20:19 +0000
commit81396853be6df3e83b16eee7f99828ace1f47688 (patch)
tree3ebc0ca3ab00a3e6b93afebf80eedfeba59f9899 /src/ipv6nd.c
parente99249b6083c5f1b2f58c6b2a8fdee080d6998bd (diff)
downloaddhcpcd-81396853be6df3e83b16eee7f99828ace1f47688.tar.xz
Linux: Support wireless IP roaming
This is achieved by checking that the interface is wireless, IFF_UP and IFF_LOWER_UP are present, but IFF_RUNNING is missing. This gives exactly the same support as modern NetBSD when carrier loss is detected, but without the address verifications when the carrier comes back as that needs to be handled in the kernel. While IP setup is maintained, other configuration data is discarded. Note that this should be improved in the future. Thanks to Boris Krasnovskiy <borkra@gmail.com> for helping with this.
Diffstat (limited to 'src/ipv6nd.c')
-rw-r--r--src/ipv6nd.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/src/ipv6nd.c b/src/ipv6nd.c
index f0a79d51..b9ba57f4 100644
--- a/src/ipv6nd.c
+++ b/src/ipv6nd.c
@@ -1155,7 +1155,6 @@ ipv6nd_handlera(struct dhcpcd_ctx *ctx,
return;
}
-#ifdef NOCARRIER_PRESERVE_IP
/*
* Because we preserve RA's and expire them quickly after
* carrier up, it's important to reset the kernels notion of
@@ -1168,7 +1167,6 @@ ipv6nd_handlera(struct dhcpcd_ctx *ctx,
}
if (rap != NULL && rap->willexpire)
ipv6nd_applyra(ifp);
-#endif
TAILQ_FOREACH(rap, ctx->ra_routers, next) {
if (ifp == rap->iface &&