Skip to content

Add specific circuit failure error codes. Fixes #3717, #3543, #3364, #2888, #2859, #1580#3792

Open
plorenz wants to merge 2 commits intomainfrom
specific-router-error-types
Open

Add specific circuit failure error codes. Fixes #3717, #3543, #3364, #2888, #2859, #1580#3792
plorenz wants to merge 2 commits intomainfrom
specific-router-error-types

Conversation

@plorenz
Copy link
Copy Markdown
Member

@plorenz plorenz commented Apr 9, 2026

  • adds ErrorType constants for rejected-by-application, DNS resolution failed,
    port not allowed, invalid link destination, and resources not available
  • adds corresponding CircuitFailureCause strings reported in circuit events
  • extracts classifyDialError() in route handler to map dial errors to specific
    error codes using typed errors, syscall constants, and string matching
  • detects DNS errors via *net.DNSError and string fallback for ER/T hosted
    services where errors are serialized through the SDK message protocol
  • detects resource exhaustion via EMFILE, ENFILE, ENOBUFS syscall errors
  • introduces InvalidLinkDestinationError typed error in forwarder package
  • adds unit tests covering all 16 classification cases
  • adds integration tests for rejected-by-application (SDK host),
    DNS resolution failed, connection refused, and port not allowed
    (ER/T host mode) with circuit event verification
  • adds CreateEnrollAndStartTunnelerEdgeRouterWithCfgTweaks to test context

…2888, #2859, #1580

- adds ErrorType constants for rejected-by-application, DNS resolution failed,
  port not allowed, invalid link destination, and resources not available
- adds corresponding CircuitFailureCause strings reported in circuit events
- extracts classifyDialError() in route handler to map dial errors to specific
  error codes using typed errors, syscall constants, and string matching
- detects DNS errors via *net.DNSError and string fallback for ER/T hosted
  services where errors are serialized through the SDK message protocol
- detects resource exhaustion via EMFILE, ENFILE, ENOBUFS syscall errors
- introduces InvalidLinkDestinationError typed error in forwarder package
- adds unit tests covering all 16 classification cases
- adds integration tests for rejected-by-application (SDK host),
  DNS resolution failed, connection refused, and port not allowed
  (ER/T host mode) with circuit event verification
- adds CreateEnrollAndStartTunnelerEdgeRouterWithCfgTweaks to test context
@plorenz plorenz requested review from a team as code owners April 9, 2026 15:08
@plorenz plorenz force-pushed the specific-router-error-types branch from 6f7f18c to 9fb5773 Compare April 9, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant