fix(netflow): исправить классификацию IPv6 и кеш префиксов RIPE
This commit is contained in:
1 parent
59938118bd
commit
af66faaae4
12 files changed
+493
-23
No files matched your search
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"date": "2026-10-11",
|
||||
"block": "12.5.142",
|
||||
"runtime": {
|
||||
"backend": "ux-ipv6142",
|
||||
"frontend": "ux-traffic141",
|
||||
"backendHealthy": true
|
||||
},
|
||||
"checks": {
|
||||
"ipAndRipeProfilePassedInCandidate": true,
|
||||
"changedFilesEslintPassed": true,
|
||||
"backendProductionBuildPassed": true,
|
||||
"compiledOutputsMatched": 984,
|
||||
"isolatedSqlModulesPassed": 6,
|
||||
"ownTemporaryDatabaseRemoved": true,
|
||||
"classificationAndGeoipConsumersPassed": true
|
||||
},
|
||||
"sql": {
|
||||
"date": "2026-10-11",
|
||||
"name": "mm_accept_142_1791710322057",
|
||||
"tests": [
|
||||
{
|
||||
"module": "traffic-flow-ingest",
|
||||
"passed": true,
|
||||
"output": "traffic-flow-ingest.test.ts: ok\nISOLATED_SQL_TEST_COMPLETE\n"
|
||||
},
|
||||
{
|
||||
"module": "traffic-flow-analytics",
|
||||
"passed": true,
|
||||
"output": "traffic-flow-analytics.test.ts: ok\nISOLATED_SQL_TEST_COMPLETE\n"
|
||||
},
|
||||
{
|
||||
"module": "traffic-flow-map-hops",
|
||||
"passed": true,
|
||||
"output": "traffic-flow-map-hops.test.ts: pickMapServices ok\ntraffic-flow-map-hops.test.ts: hops ok\ntraffic-flow-map-hops.test.ts: ok\nISOLATED_SQL_TEST_COMPLETE\n"
|
||||
},
|
||||
{
|
||||
"module": "traffic-flow-purge",
|
||||
"passed": true,
|
||||
"output": "traffic-flow-purge.test.ts: ok\nISOLATED_SQL_TEST_COMPLETE\n"
|
||||
},
|
||||
{
|
||||
"module": "traffic-flow-facts-rebuild",
|
||||
"passed": true,
|
||||
"output": "traffic-flow-facts-rebuild.test.ts: ok\nISOLATED_SQL_TEST_COMPLETE\n"
|
||||
},
|
||||
{
|
||||
"module": "statistics-aggregate",
|
||||
"passed": true,
|
||||
"output": "statistics-aggregate.test.ts: ok\nISOLATED_SQL_TEST_COMPLETE\n"
|
||||
}
|
||||
],
|
||||
"databaseRemoved": true
|
||||
},
|
||||
"liveRipe": {
|
||||
"date": "2026-10-11",
|
||||
"runtime": "ux-ipv6142",
|
||||
"requests": [
|
||||
{
|
||||
"path": "/data/network-info/data.json",
|
||||
"resource": "2001:4860:4860::8888",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/data/maxmind-geo-lite/data.json",
|
||||
"resource": "2001:4860::/32",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/data/as-overview/data.json",
|
||||
"resource": "AS15169",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/data/network-info/data.json",
|
||||
"resource": "2606:4700:4700::1111",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/data/maxmind-geo-lite/data.json",
|
||||
"resource": "2606:4700:4700::/48",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/data/as-overview/data.json",
|
||||
"resource": "AS13335",
|
||||
"status": 200
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"ip": "2001:4860:4860::8888",
|
||||
"prefix": "2001:4860::/32",
|
||||
"asn": 15169,
|
||||
"country": "US",
|
||||
"lat": 37.09024,
|
||||
"lng": -95.712891,
|
||||
"holder": "GOOGLE - Google LLC",
|
||||
"ok": true,
|
||||
"fetchedAt": 1791710348415
|
||||
},
|
||||
{
|
||||
"ip": "2606:4700:4700::1111",
|
||||
"prefix": "2606:4700:4700::/48",
|
||||
"asn": 13335,
|
||||
"country": "US",
|
||||
"lat": 0,
|
||||
"lng": 0,
|
||||
"holder": "CLOUDFLARENET - Cloudflare, Inc.",
|
||||
"ok": true,
|
||||
"fetchedAt": 1791710348902
|
||||
}
|
||||
],
|
||||
"cacheHitsAndSpecialNoFetch": true,
|
||||
"success": true
|
||||
},
|
||||
"bounds": [
|
||||
"IANA IPv6 non-global special assignments, deprecated site-local and multicast excluded; more-specific global allocations preserved, Teredo and 6to4 N/A reachability not equated to non-global",
|
||||
"Fixed prefixes parsed once; validated 128-bit parsing, IPv4-mapped identity normalized consistently",
|
||||
"IPv6 /48 bucket and wide-prefix indexes support longest fresh match, replacement, invalidation, negative /128 and expanded forms; unrelated3000 /48 prefixes not scanned",
|
||||
"First local aggregate run stopped on sandbox-limited GeoIP temp files; isolated authorized rerun passed; six local PG skips not counted as passes",
|
||||
"Candidate SQL run passed all six modules in one own DB, owner-checked removal; no working DB fixture changes",
|
||||
"First Docker invocation used wrong Dockerfile path and failed before build; corrected backend/Dockerfile build passed",
|
||||
"Six actual RIPE200 requests for two public IPv6; cached sibling/expanded addresses and special controls produced zero additional requests; persistence disabled in separate service process",
|
||||
"Public IPv6 metadata verified over backend HTTPS API egress; no IPv6 WAN connectivity, live IPv6 exporter ingestion or maximum throughput claim",
|
||||
"GeoIP zero coordinates observed from upstream/service need separate validation; full external acceptance remains open"
|
||||
],
|
||||
"references": [
|
||||
"https://www.iana.org/assignments/iana-ipv6-special-registry/"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"date": "2026-10-11",
|
||||
"block": "12.5.142",
|
||||
"runtime": {
|
||||
"backend": "ux-ipv6142",
|
||||
"frontend": "ux-traffic141"
|
||||
},
|
||||
"checks": {
|
||||
"readOnlyFrontendUnchanged": true,
|
||||
"backendHealthy": true,
|
||||
"backendProductionBuildPassed": true
|
||||
},
|
||||
"cases": [
|
||||
{
|
||||
"width": 1440,
|
||||
"httpStatus": 200,
|
||||
"api": [
|
||||
{
|
||||
"path": "/api/traffic/bound-interfaces",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/users",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1/live",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1/interfaces",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1",
|
||||
"status": 200
|
||||
}
|
||||
],
|
||||
"pageErrors": [],
|
||||
"noOverflow": true
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"httpStatus": 200,
|
||||
"api": [
|
||||
{
|
||||
"path": "/api/traffic/bound-interfaces",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/users",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1/live",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1/interfaces",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1",
|
||||
"status": 200
|
||||
}
|
||||
],
|
||||
"pageErrors": [],
|
||||
"noOverflow": true
|
||||
}
|
||||
],
|
||||
"bounds": [
|
||||
"Read-only initial loading with real current lab catalog; no full NetFlow ingestion or throughput claim",
|
||||
"Catalog failure and pending loading checked by controlled E2E; numeric live server details/interfaces/SSE enabled only after confirmed catalog ownership",
|
||||
"Interface filter remains selected on range changes; backend source switch invalidates prior catalog ownership"
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user