mirror of
https://github.com/juanfont/headscale.git
synced 2026-02-07 20:04:00 +01:00
integration: update TestSubnetRouteACL for filter merging and IPProto
Update integration test expectations to match current policy behavior: 1. IPProto defaults include all four protocols (TCP, UDP, ICMPv4, ICMPv6) for port-range ACL rules, not just TCP and UDP. 2. Filter rules with identical SrcIPs and IPProto are now merged into a single rule with combined DstPorts, so the subnet router receives one filter rule instead of two. Updates #3036
This commit is contained in:
parent
835b7eb960
commit
e44b402fe4
@ -1473,7 +1473,7 @@ func TestSubnetRouteACL(t *testing.T) {
|
||||
wantClientFilter := []filter.Match{
|
||||
{
|
||||
IPProto: views.SliceOf([]ipproto.Proto{
|
||||
ipproto.TCP, ipproto.UDP,
|
||||
ipproto.TCP, ipproto.UDP, ipproto.ICMPv4, ipproto.ICMPv6,
|
||||
}),
|
||||
Srcs: []netip.Prefix{
|
||||
netip.MustParsePrefix("100.64.0.1/32"),
|
||||
@ -1505,10 +1505,12 @@ func TestSubnetRouteACL(t *testing.T) {
|
||||
}, 10*time.Second, 200*time.Millisecond, "Waiting for client packet filter to update")
|
||||
|
||||
// Wait for packet filter updates to propagate to subnet router netmap
|
||||
// The two ACL rules (group:admins -> group:admins:* and group:admins -> 10.33.0.0/16:*)
|
||||
// are merged into one filter rule since they share the same SrcIPs and IPProto.
|
||||
wantSubnetFilter := []filter.Match{
|
||||
{
|
||||
IPProto: views.SliceOf([]ipproto.Proto{
|
||||
ipproto.TCP, ipproto.UDP,
|
||||
ipproto.TCP, ipproto.UDP, ipproto.ICMPv4, ipproto.ICMPv6,
|
||||
}),
|
||||
Srcs: []netip.Prefix{
|
||||
netip.MustParsePrefix("100.64.0.1/32"),
|
||||
@ -1525,20 +1527,6 @@ func TestSubnetRouteACL(t *testing.T) {
|
||||
Net: netip.MustParsePrefix("fd7a:115c:a1e0::1/128"),
|
||||
Ports: allPorts,
|
||||
},
|
||||
},
|
||||
Caps: []filter.CapMatch{},
|
||||
},
|
||||
{
|
||||
IPProto: views.SliceOf([]ipproto.Proto{
|
||||
ipproto.TCP, ipproto.UDP,
|
||||
}),
|
||||
Srcs: []netip.Prefix{
|
||||
netip.MustParsePrefix("100.64.0.1/32"),
|
||||
netip.MustParsePrefix("100.64.0.2/32"),
|
||||
netip.MustParsePrefix("fd7a:115c:a1e0::1/128"),
|
||||
netip.MustParsePrefix("fd7a:115c:a1e0::2/128"),
|
||||
},
|
||||
Dsts: []filter.NetPortRange{
|
||||
{
|
||||
Net: netip.MustParsePrefix("10.33.0.0/16"),
|
||||
Ports: allPorts,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user