Mercurial > hg > dhcpcd
comparison src/if.h @ 5557:e65d193a1960 draft
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.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Sat, 12 Dec 2020 13:12:26 +0000 |
| parents | 6a2da5651841 |
| children | f32e37b1d371 |
comparison
equal
deleted
inserted
replaced
| 5556:99bfd2eb77ab | 5557:e65d193a1960 |
|---|---|
| 159 void if_free(struct interface *); | 159 void if_free(struct interface *); |
| 160 int if_domtu(const struct interface *, short int); | 160 int if_domtu(const struct interface *, short int); |
| 161 #define if_getmtu(ifp) if_domtu((ifp), 0) | 161 #define if_getmtu(ifp) if_domtu((ifp), 0) |
| 162 #define if_setmtu(ifp, mtu) if_domtu((ifp), (mtu)) | 162 #define if_setmtu(ifp, mtu) if_domtu((ifp), (mtu)) |
| 163 int if_carrier(struct interface *, const void *); | 163 int if_carrier(struct interface *, const void *); |
| 164 bool if_roaming(struct interface *); | |
| 164 | 165 |
| 165 #ifdef ALIAS_ADDR | 166 #ifdef ALIAS_ADDR |
| 166 int if_makealias(char *, size_t, const char *, int); | 167 int if_makealias(char *, size_t, const char *, int); |
| 167 #endif | 168 #endif |
| 168 | 169 |
