probelabs/goreplay · error

sock_raw is not stabilized on OS other than linux

Error message

sock_raw is not stabilized on OS other than linux

What it means

Explicit platform guard in activateRawSocket: sock_raw capture is only considered stable on Linux, so on any other GOOS it returns this error before attempting to open sockets, instead of risking unreliable behavior.

Source

Thrown at internal/capture/capture.go:656

	}
	return nil
}

func (l *Listener) activateVxLanSocket() error {
	handler, err := newVXLANHandler(l.config.VXLANPort, l.config.VXLANVNIs)
	if err != nil {
		return err
	}
	l.Handles["vxlan"] = packetHandle{
		handler: handler,
	}

	return nil
}

func (l *Listener) activateRawSocket() error {
	if runtime.GOOS != "linux" {
		return fmt.Errorf("sock_raw is not stabilized on OS other than linux")
	}
	var msg string
	var e error
	for _, ifi := range l.Interfaces {
		if _, found := l.Handles[ifi.Name]; found {
			continue
		}

		var handle Socket
		handle, e = l.SocketHandle(ifi)
		if e != nil {
			msg += ("\n" + e.Error())
			continue
		}
		l.Handles[ifi.Name] = packetHandle{
			handler: handle,
			ips:     interfaceIPs(ifi),
		}

View on GitHub (pinned to 251e45abd2)

Solutions

  1. Run the raw-socket listener on Linux
  2. Use pcap-based capture (--input-raw without raw socket engine) on other OSes
  3. Don't enable sock_raw mode in non-Linux deployments
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at internal/capture/capture.go:656 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of probelabs/goreplay@251e45abd2 (2026-09-02). Data as JSON: /api/errors/21eb8c7141760ffa. Report an issue: GitHub.