policy/v2: add advertised routes to compat test topologies

Add routable_ips and approved_routes fields to the node topology
definitions in all golden test files. These represent the subnet
routes actually advertised by nodes on the Tailscale SaaS network
during data capture:

  Routes topology (92 files, 6 router nodes):
    big-router:     10.0.0.0/8
    subnet-router:  10.33.0.0/16
    ha-router1:     192.168.1.0/24
    ha-router2:     192.168.1.0/24
    multi-router:   172.16.0.0/24
    exit-node:      0.0.0.0/0, ::/0

  ACL topology (199 files, 1 router node):
    subnet-router:  10.33.0.0/16

  Grants topology (203 files, 1 router node):
    subnet-router:  10.33.0.0/16

The route assignments were deduced from the golden data by analyzing
which router nodes receive FilterRules for which destination CIDRs
across all test files, and cross-referenced with the MTS setup
script (setup_grant_nodes.sh).

Updates #2180
This commit is contained in:
Kristoffer Dalby 2026-03-18 13:40:19 +00:00
parent 927ce418d2
commit 995ed0187c
494 changed files with 76022 additions and 15770 deletions

View file

@ -49,9 +49,21 @@
]
},
"grants_section": [
{ "src": ["tag:client"], "dst": ["tag:server"], "ip": ["22"] },
{ "src": ["tag:client"], "dst": ["tag:prod"], "ip": ["5432"] },
{ "src": ["tag:client"], "dst": ["tag:router"], "ip": ["80"] }
{
"src": ["tag:client"],
"dst": ["tag:server"],
"ip": ["22"]
},
{
"src": ["tag:client"],
"dst": ["tag:prod"],
"ip": ["5432"]
},
{
"src": ["tag:client"],
"dst": ["tag:router"],
"ip": ["80"]
}
],
"api_endpoint": "https://api.tailscale.com/api/v2/tailnet/kratail2tid%40passkey/acl",
"api_method": "POST",
@ -75,7 +87,9 @@
"user_id": 7489538288452506,
"tags": ["tag:router"],
"ipv4": "100.92.142.61",
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
"ipv6": "fd7a:115c:a1e0::3e37:8e3d",
"routable_ips": ["10.33.0.0/16"],
"approved_routes": ["10.33.0.0/16"]
},
"tagged-client": {
"mts_name": "tagged-client",
@ -188,8 +202,20 @@
{
"SrcIPs": ["100.83.200.69", "fd7a:115c:a1e0::c537:c845"],
"DstPorts": [
{ "IP": "100.92.142.61", "Ports": { "First": 80, "Last": 80 } },
{ "IP": "fd7a:115c:a1e0::3e37:8e3d", "Ports": { "First": 80, "Last": 80 } }
{
"IP": "100.92.142.61",
"Ports": {
"First": 80,
"Last": 80
}
},
{
"IP": "fd7a:115c:a1e0::3e37:8e3d",
"Ports": {
"First": 80,
"Last": 80
}
}
]
}
],
@ -199,8 +225,20 @@
"Srcs": ["100.83.200.69/32", "fd7a:115c:a1e0::c537:c845/128"],
"SrcCaps": null,
"Dsts": [
{ "Net": "100.92.142.61/32", "Ports": { "First": 80, "Last": 80 } },
{ "Net": "fd7a:115c:a1e0::3e37:8e3d/128", "Ports": { "First": 80, "Last": 80 } }
{
"Net": "100.92.142.61/32",
"Ports": {
"First": 80,
"Last": 80
}
},
{
"Net": "fd7a:115c:a1e0::3e37:8e3d/128",
"Ports": {
"First": 80,
"Last": 80
}
}
],
"Caps": []
}
@ -236,8 +274,14 @@
"OS": "linux",
"Hostname": "tagged-client",
"Services": [
{ "Proto": "peerapi4", "Port": 41378 },
{ "Proto": "peerapi6", "Port": 41378 }
{
"Proto": "peerapi4",
"Port": 41378
},
{
"Proto": "peerapi6",
"Port": 41378
}
]
},
"Created": "2026-02-23T00:13:11.017324028Z",
@ -247,7 +291,11 @@
"ComputedName": "tagged-client",
"ComputedNameWithHost": "tagged-client"
},
"UserProfile": { "ID": 1260082990019555, "LoginName": "tagged-devices", "DisplayName": "Tagged Devices" },
"UserProfile": {
"ID": 1260082990019555,
"LoginName": "tagged-devices",
"DisplayName": "Tagged Devices"
},
"CapMap": null
}
},
@ -316,8 +364,14 @@
"OS": "linux",
"Hostname": "subnet-router",
"Services": [
{ "Proto": "peerapi4", "Port": 63250 },
{ "Proto": "peerapi6", "Port": 63250 }
{
"Proto": "peerapi4",
"Port": 63250
},
{
"Proto": "peerapi6",
"Port": 63250
}
]
},
"Created": "2026-02-23T00:13:15.731478784Z",
@ -327,7 +381,11 @@
"ComputedName": "subnet-router",
"ComputedNameWithHost": "subnet-router"
},
"UserProfile": { "ID": 1260082990019555, "LoginName": "tagged-devices", "DisplayName": "Tagged Devices" },
"UserProfile": {
"ID": 1260082990019555,
"LoginName": "tagged-devices",
"DisplayName": "Tagged Devices"
},
"CapMap": null
}
},
@ -356,8 +414,14 @@
"OS": "linux",
"Hostname": "tagged-prod",
"Services": [
{ "Proto": "peerapi4", "Port": 37678 },
{ "Proto": "peerapi6", "Port": 37678 }
{
"Proto": "peerapi4",
"Port": 37678
},
{
"Proto": "peerapi6",
"Port": 37678
}
]
},
"Created": "2026-02-20T14:03:12.89283153Z",
@ -367,7 +431,11 @@
"ComputedName": "tagged-prod",
"ComputedNameWithHost": "tagged-prod"
},
"UserProfile": { "ID": 1260082990019555, "LoginName": "tagged-devices", "DisplayName": "Tagged Devices" },
"UserProfile": {
"ID": 1260082990019555,
"LoginName": "tagged-devices",
"DisplayName": "Tagged Devices"
},
"CapMap": null
}
},
@ -396,8 +464,14 @@
"OS": "linux",
"Hostname": "tagged-server",
"Services": [
{ "Proto": "peerapi4", "Port": 46499 },
{ "Proto": "peerapi6", "Port": 46499 }
{
"Proto": "peerapi4",
"Port": 46499
},
{
"Proto": "peerapi6",
"Port": 46499
}
]
},
"Created": "2026-01-23T10:10:26.365653609Z",
@ -407,7 +481,11 @@
"ComputedName": "tagged-server",
"ComputedNameWithHost": "tagged-server"
},
"UserProfile": { "ID": 1260082990019555, "LoginName": "tagged-devices", "DisplayName": "Tagged Devices" },
"UserProfile": {
"ID": 1260082990019555,
"LoginName": "tagged-devices",
"DisplayName": "Tagged Devices"
},
"CapMap": null
}
},
@ -437,8 +515,20 @@
{
"SrcIPs": ["100.83.200.69", "fd7a:115c:a1e0::c537:c845"],
"DstPorts": [
{ "IP": "100.103.8.15", "Ports": { "First": 5432, "Last": 5432 } },
{ "IP": "fd7a:115c:a1e0::5b37:80f", "Ports": { "First": 5432, "Last": 5432 } }
{
"IP": "100.103.8.15",
"Ports": {
"First": 5432,
"Last": 5432
}
},
{
"IP": "fd7a:115c:a1e0::5b37:80f",
"Ports": {
"First": 5432,
"Last": 5432
}
}
]
}
],
@ -448,8 +538,20 @@
"Srcs": ["100.83.200.69/32", "fd7a:115c:a1e0::c537:c845/128"],
"SrcCaps": null,
"Dsts": [
{ "Net": "100.103.8.15/32", "Ports": { "First": 5432, "Last": 5432 } },
{ "Net": "fd7a:115c:a1e0::5b37:80f/128", "Ports": { "First": 5432, "Last": 5432 } }
{
"Net": "100.103.8.15/32",
"Ports": {
"First": 5432,
"Last": 5432
}
},
{
"Net": "fd7a:115c:a1e0::5b37:80f/128",
"Ports": {
"First": 5432,
"Last": 5432
}
}
],
"Caps": []
}
@ -490,8 +592,14 @@
"OS": "linux",
"Hostname": "tagged-client",
"Services": [
{ "Proto": "peerapi4", "Port": 41378 },
{ "Proto": "peerapi6", "Port": 41378 }
{
"Proto": "peerapi4",
"Port": 41378
},
{
"Proto": "peerapi6",
"Port": 41378
}
]
},
"Created": "2026-02-23T00:13:11.017324028Z",
@ -501,7 +609,11 @@
"ComputedName": "tagged-client",
"ComputedNameWithHost": "tagged-client"
},
"UserProfile": { "ID": 1260082990019555, "LoginName": "tagged-devices", "DisplayName": "Tagged Devices" },
"UserProfile": {
"ID": 1260082990019555,
"LoginName": "tagged-devices",
"DisplayName": "Tagged Devices"
},
"CapMap": null
}
},
@ -536,8 +648,20 @@
{
"SrcIPs": ["100.83.200.69", "fd7a:115c:a1e0::c537:c845"],
"DstPorts": [
{ "IP": "100.108.74.26", "Ports": { "First": 22, "Last": 22 } },
{ "IP": "fd7a:115c:a1e0::b901:4a87", "Ports": { "First": 22, "Last": 22 } }
{
"IP": "100.108.74.26",
"Ports": {
"First": 22,
"Last": 22
}
},
{
"IP": "fd7a:115c:a1e0::b901:4a87",
"Ports": {
"First": 22,
"Last": 22
}
}
]
}
],
@ -547,8 +671,20 @@
"Srcs": ["100.83.200.69/32", "fd7a:115c:a1e0::c537:c845/128"],
"SrcCaps": null,
"Dsts": [
{ "Net": "100.108.74.26/32", "Ports": { "First": 22, "Last": 22 } },
{ "Net": "fd7a:115c:a1e0::b901:4a87/128", "Ports": { "First": 22, "Last": 22 } }
{
"Net": "100.108.74.26/32",
"Ports": {
"First": 22,
"Last": 22
}
},
{
"Net": "fd7a:115c:a1e0::b901:4a87/128",
"Ports": {
"First": 22,
"Last": 22
}
}
],
"Caps": []
}
@ -589,8 +725,14 @@
"OS": "linux",
"Hostname": "tagged-client",
"Services": [
{ "Proto": "peerapi4", "Port": 41378 },
{ "Proto": "peerapi6", "Port": 41378 }
{
"Proto": "peerapi4",
"Port": 41378
},
{
"Proto": "peerapi6",
"Port": 41378
}
]
},
"Created": "2026-02-23T00:13:11.017324028Z",
@ -600,7 +742,11 @@
"ComputedName": "tagged-client",
"ComputedNameWithHost": "tagged-client"
},
"UserProfile": { "ID": 1260082990019555, "LoginName": "tagged-devices", "DisplayName": "Tagged Devices" },
"UserProfile": {
"ID": 1260082990019555,
"LoginName": "tagged-devices",
"DisplayName": "Tagged Devices"
},
"CapMap": null
}
},