Skip to content

Commit 9940468

Browse files
Warn that the gateway may not enforce IPv6 interface-id matches (#22)
Claude-Session: https://claude.ai/code/session_01V2afcTcowT1YVBwLzrJFtH
1 parent 61453d4 commit 9940468

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ await fw.CreateAsync(spec, names);
167167
- **Equality is semantic**, so `live == desired` is the drift check.
168168
- **`FirewallPolicyJson.FromJson`** returns a reason instead of a spec for anything outside the subset: domain/app/region filters, schedules, matching lists and the like. A caller can never mistake "can't compare" for "matches".
169169
- **`Ipv6InterfaceId`** is written with the `/::ffff:ffff:ffff:ffff` mask, so it matches the host suffix under *any* delegated prefix. Pinning a full IPv6 address breaks the day the ISP re-delegates.
170+
⚠ **The controller accepts this but the gateway may not enforce it.** On a UCG running UniFi OS 5.1.33 / Network 10.6.106, an External → LAN allow matched by IID was stored correctly (`matching_target: IID`) and then matched **nothing**: the hit counter froze and inbound traffic was dropped. Check the policy's hit counter after switching a rule to an IID match, and fall back to the full address if it stays flat.
170171
- **Updates are PUT (full replacement).** Only ever write `USER_DEFINED` policies (`LiveFirewallPolicy.IsUserDefined`).
171172
- **Ordering is not managed.** New user policies land at index 10000, ahead of the predefined allow/block defaults.
172173
- Generated against the 10.4.57 spec and checked live against Network 10.6.106.

0 commit comments

Comments
 (0)