Known client's IPv6 addresses doesn't get resolved to their names in long term query log

Please follow the below template, it will help us to help you!

Expected Behaviour:

I’m on the development branch.

Since this change in FTL the client’s IPv6 address resolution to their hostnames works fine in Query log:


I expected that this also have effect in the Long term Query log.

Actual Behaviour:

In the Long term Query log still only the IPv6 addresses appear in ‘Client’ column, although the addresses are known according to the Network page.

Debug Token:

-

What you see is the expected behavior. The issue with long-term data - compared with live data - is that we don’t know which host name was associated to a client with the IP 192.168.0.123 five months ago. We have this information right now, however, many users use routers with non-deterministic DHCP servers that will hand out IP addresses sequentially depending on who comes first.

Arguably, we could store the host name instead of the IP address in the long-term database, however, this would

  • a) be a backwards incompatible change, and
  • b) might lead to mixed records when host names are only added later to already existing clients.

In the latter case, queries from one and the same device would be stored once with the IP address and once with the host name. We do not store both as the long-term database is already now a critically large database and adding this extra information for each query seems too much in terms of extra storage usage.

However, as always, I’m the one that writes code, I’m not the one that says in which direction the project needs to go. If I can be convinced to do something differently, we can surely do this :wink:

When I query the database, I see that some clients are resolved to their hostname. I suspect that these were IPv4 addresses and their hostname has been stored.

I used the search field to find wich client’s IPv4 addresses are stored.
What I found was only one client/a wifi access point, wich doesn’t get it’s IP from the DHCP.
So it seems that for IPv4 addresses the client’s hostname is stored in the db, but for IPv6 only the address.

We store only IP addresses in the database. I just checked the code and indeed found that the database API tries to resolve all IPs to host names.

This is probably wrong (due to the reasons mentioned above) and we should remove it.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.