build(deps): bump go-m3ua and go-sctp

Merged
GO
15d ago
+13-14

The examples move to go-m3ua f17bad9 and go-sctp b48239f, both main.

go-m3ua now carries the network indicator of protocol data as pointcode.NetworkIndicator (gomaja/go-m3ua#185). That is the type of RoutingLabel.NI since #22, so the examples pass the indicator between go-m3ua and the stack without converting it. Received DATA gives pd.NetworkIndicator to the stack, and every DATA sent uses the NI of its TransferRequest.

Other upstream changes the examples pick up:

  • go-m3ua refuses a network indicator above 3 on every DATA send path, SGP distribution included (RFC 4666 §3.3.1; ITU-T Q.704 (07/96) §14.2.2). The stack never produces one, because it refuses such a value both in its configuration and on receipt.
  • go-m3ua corrects five Service Indicator constants (gomaja/go-m3ua#184). ServiceIndSCCP stays 3.
  • go-m3ua's cancellable sends wait in the same queue as plain ones (gomaja/go-m3ua#187).
  • go-sctp reports malformed notification records the reader does not keep (gomaja/go-sctp#42).
  • Both require go-ctxsync 23c9cb6.

Verification

  • Examples: go build, go vet, staticcheck (current and v0.8.1), golangci-lint and go mod tidy -diff are clean, and the build list has no retracted module.
  • A wire test ran the ASP and SGP examples over M3UA/SCTP between two Linux containers, captured with tshark at the SGP. The ASP sends return-on-error user data to a subsystem the SGP does not have, and the SGP's stack returns it:
ASP flagsRequest NIReply NI
-ni national2 (UDT)2: UDTS, cause 0x04
default0 (UDT)0: UDTS, cause 0x04
-ni national -segmentation-threshold 1602 (two XUDT segments)2: one XUDTS, cause 0x04, with the first segment's segmentation parameter

In every run:

  • Each reply carries Routing Context 1 and swaps OPC and DPC (514 → 257).
  • The ASP reports one N-NOTICE.
  • Wireshark shows no expert information.

The results match the run in #21 on the previous go-m3ua and go-sctp.


Summary by cubic

Updates the example ASP and SGP programs to the latest go-m3ua and go-sctp from main, so network indicators flow between the stack and go-m3ua without conversion.

  • go-m3ua now represents protocol data network indicators as pointcode.NetworkIndicator, the same type as the stack's RoutingLabel.NI, so the examples pass the value directly instead of converting.
  • Picks up upstream go-m3ua fixes: send paths reject a network indicator above 3, five Service Indicator constants are corrected (ServiceIndSCCP unchanged), and cancellable sends share the queue with plain sends.
  • go-sctp now reports malformed notification records that the reader discards.
  • The examples verified against go-m3ua f17bad9 and go-sctp b48239f, with a wire test matching the previous run's results.