To get rid of V2 <-> V1 hood changes, an empty hood element is
treated as V2, while a missing one is treated as V1.
This requires a firmware update to work.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
All V1 hoods are assigned to IDs 10xxx in the hoods table.
Since no new hoods are added, they are contained in this range.
In addition, the hoods table is forever, so deleted V1 hoods
stay there. This makes the hoodid a perfect WHERE criterion for
the v2routers page, so it does not have to be updated for every
deleted hood.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This also indicates missing coordinates without a previous reset.
The router detail page shows different messages for both cases
(missing coords and reset). The lists show the "Reset!"
warning in both cases (previously only for real reset).
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Selection of deleted hoods for V1 is a dirty walkaround and
needs to be adjusted for every new deleted hood. Since this is
an undocumented page, this is okay ...
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This will reduce size of stats_hood and, more importantly,
make hood assignment independent of hood name changes:
Previouly: Name change = changing string in every place
Now: Name change = change of one table entry
This requires changes to the MySQL database!
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This detects local routers based on knowing their hood, but not
having the hood listed in hoodsv2 table.
This classification is performed when the routers' alfred data
is parsed. Thus, offline routers won't change.
This requires changes to the MySQL database!
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This obsoletes the hood initialization file.
Hood are capitalized and "V1" is added at the end.
This may require a rename of the existing hood stats.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This is done for tables router_ipv6 and router_netif.
This is not done for table gw_netif (contains subnet masks).
This requires changes to the MySQL database!
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Previously, hood names were reformatted to have only the first
letter capitalized. Now, we just take the names as they are.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This makes the applications of the affected plots more versatile
and thus reduces the need for duplicate code.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The router id "router_id" is only evaluated based on the
router_netif table. If the corresponding entry in the router
table is missing, an error occurs.
To deal with that, we now use the "olddata" variable for ifs,
which is initialized based on the router table. If nothing is
found there, we trigger delete_router to get rid of fragments
in other tables.
The latter is necessary, as we identify routers by MAC addresses
and thus old entries will keep to be a problem if just a new
entry is added to router_netif.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>