summaryrefslogtreecommitdiffstats
path: root/src/if.h
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.h
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.h')
-rw-r--r--src/if.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/if.h b/src/if.h
index 8474deb7..9a2f262a 100644
--- a/src/if.h
+++ b/src/if.h
@@ -161,6 +161,7 @@ int if_domtu(const struct interface *, short int);
#define if_getmtu(ifp) if_domtu((ifp), 0)
#define if_setmtu(ifp, mtu) if_domtu((ifp), (mtu))
int if_carrier(struct interface *, const void *);
+bool if_roaming(struct interface *);
#ifdef ALIAS_ADDR
int if_makealias(char *, size_t, const char *, int);