summaryrefslogtreecommitdiffstats
path: root/src/if-bsd.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/if-bsd.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/if-bsd.c')
-rw-r--r--src/if-bsd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/if-bsd.c b/src/if-bsd.c
index 94f58b31..62e4a83c 100644
--- a/src/if-bsd.c
+++ b/src/if-bsd.c
@@ -410,6 +410,13 @@ if_carrier(struct interface *ifp, const void *ifadata)
return LINK_DOWN;
}
+bool
+if_roaming(__unused struct interface *ifp)
+{
+
+ return false;
+}
+
static void
if_linkaddr(struct sockaddr_dl *sdl, const struct interface *ifp)
{