freifunk-gluon / l3roamd

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

Do not do lengthy claiming cycle when route to special ip does not exist #60

Closed christf closed 4 years ago

christf commented 5 years ago

none of the multi-second claiming cycle needs to happen when there is no route to the special ip of the node.

sending unicast claim for client 04:4b:ed:29:42:53 to fec0::64b:edff:fe29:4253

// client->claimed = true;
// add_special_ip(&l3ctx.clientmgr_ctx, get_client(data->client->mac));
christf commented 5 years ago

this relies on rework of the netlink abstraction. an thus #50

christf commented 5 years ago

... but how do you know a route to this IP does not exist when a default route will apply?

we are looking for a host-route with 128 bit netmask.... let's figure out how to query that using netlink...

genofire commented 5 years ago

Visible in logs by (strange address):

Error while sending ICMP destination unreachable, retrying 2a01:XXXX:XXX:XXX::X
l3roamd[2372]: sendto: Permission denied
christf commented 5 years ago

I know I jsut said this on IRC but this is in fact a different issue. This happens when a client could not be found and a destination unreachable message is created for the other node of that connection. This is intersting and warrants a separate issue

christf commented 4 years ago

@genofire is it possible that for the icmp issue the default-route was just retracted when this happened?