diff --git a/control/control_plane.go b/control/control_plane.go index 4ca7181..a3cd3e5 100644 --- a/control/control_plane.go +++ b/control/control_plane.go @@ -283,6 +283,7 @@ func NewControlPlane( ); err != nil { return nil, fmt.Errorf("ApplyRulesOptimizers error:\n%w", err) } + routingA.Rules = nil // Release. if log.IsLevelEnabled(logrus.DebugLevel) { var debugBuilder strings.Builder for _, rule := range rules { diff --git a/control/routing_matcher_builder.go b/control/routing_matcher_builder.go index d526a6f..039ac9b 100644 --- a/control/routing_matcher_builder.go +++ b/control/routing_matcher_builder.go @@ -255,6 +255,9 @@ func (b *RoutingMatcherBuilder) BuildKernspace() (err error) { }); err != nil { return fmt.Errorf("BpfMapBatchUpdate: %w", err) } + + // Release. + b.simulatedLpmTries = nil return nil } @@ -280,5 +283,7 @@ func (b *RoutingMatcherBuilder) BuildUserspace() (matcher *RoutingMatcher, err e } m.matches = b.rules + // Release. + b.simulatedDomainSet = nil return &m, nil } diff --git a/example.dae b/example.dae index 9fe6976..f22178c 100644 --- a/example.dae +++ b/example.dae @@ -28,7 +28,7 @@ global { # Please make sure DNS traffic will go through and be forwarded by dae, which is REQUIRED for domain routing. # The upstream DNS answer MUST NOT be polluted, so domestic public DNS is not recommended. # The request to DNS upstream follows the routing defined below. - dns_upstream: 'tcp+udp://dns.google:53' + dns_upstream: 'udp://dns.alidns.com:53' # The LAN interface to bind. Use it if you only want to proxy LAN instead of localhost. # Multiple interfaces split by ",".