diff options
| author | Roy Marples <roy@marples.name> | 2020-12-12 13:12:26 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2020-12-12 13:20:19 +0000 |
| commit | 81396853be6df3e83b16eee7f99828ace1f47688 (patch) | |
| tree | 3ebc0ca3ab00a3e6b93afebf80eedfeba59f9899 /src/if-bsd.c | |
| parent | e99249b6083c5f1b2f58c6b2a8fdee080d6998bd (diff) | |
| download | dhcpcd-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.c | 7 |
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) { |
