Add internal/routetable, the routing table in memory (part of #122)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
A new package holds every prefix some peer carries. For each prefix and origin AS it keeps the set of peers that carry it, one bit per peer, and the two newest of their routes in full. It applies announcements, withdrawals and peers' sessions going down by the rule confirmed on the issue, and records which pairs changed for the database writes to come. It answers the IP lookup, an AS's prefixes, a prefix's origins, a sample of one mask length, and the counts the stats show. Nothing uses it yet. The peer sets use github.com/bits-and-blooms/bitset. The kept routes' times are held in order in github.com/google/btree, so the oldest and newest need no scan. Model: opus-5-5
This commit was merged in pull request #185.
This commit is contained in:
@@ -33,6 +33,10 @@ tested.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-27: a new package, `internal/routetable`, holds the whole routing
|
||||
table in memory. For each prefix and origin AS it keeps the peers that carry
|
||||
it, one bit per peer, and the two newest of their routes. Nothing uses it yet
|
||||
(part of #122)
|
||||
- 2026-10-27: each result of the IP lookup lists the public blocklists the
|
||||
address is on, in `blocklists`. The lists are DShield, Feodo Tracker, two
|
||||
FireHOL lists, Spamhaus DROP and the Tor exit list. RouteWatch downloads each
|
||||
@@ -244,4 +248,6 @@ tested.
|
||||
|
||||
# Future Steps
|
||||
|
||||
None open.
|
||||
- the rest of https://git.eeqj.de/sneak/routewatch/issues/122, one PR each: the
|
||||
routing table in the database, the prefix handler writing to it, the pages and
|
||||
the API reading from it, then removing the per-peer route tables
|
||||
|
||||
Reference in New Issue
Block a user