freifunk-gluon / l3roamd

BSD 2-Clause "Simplified" License
12 stars 6 forks source link

only query intercom from ipmgr seek_Address() if there is no local match #23

Closed christf closed 6 years ago

christf commented 6 years ago

we do not need to query the whole net just because we are looking for a local client.

99 void seek_address(ipmgr_ctx ctx, struct in6_addr addr) { 100 // FIXME: this whole context thing is broken. we are referring to all contexts from all over the place. it may just as well be one... 101 char str[INET6_ADDRSTRLEN]; 102 inet_ntop(AF_INET6, addr, str, sizeof str); 103 104 printf("\x1b[36mLooking for %s\x1b[0m\n", str); 105 106 uint8_t mac[6] = {}; 107 routemgr_send_solicitation(CTX(routemgr), addr, mac); 108 109 // TODO: l3roamd should only query intercom, if the node really wasn't found locally. 110 111 intercom_seek(CTX(intercom), addr); 112 }

christf commented 6 years ago

this is addressed by #28 - only keeping one ticket open at a time.