{"record":{"id":"81896bfc38bfa7a8","repo":"probelabs/goreplay","slug":"setsockopt-packet-version-v","errorCode":null,"errorMessage":"setsockopt packet_version: %v","messagePattern":"setsockopt packet_version: (.+?)","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/capture/sock_linux.go","lineNumber":82,"sourceCode":"\t}\n\n\t// sock create\n\tfd, err := unix.Socket(unix.AF_PACKET, unix.SOCK_RAW, int(ETHALL))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tsock := &SockRaw{\n\t\tfd:          fd,\n\t\tifindex:     ifi.Index,\n\t\tsnaplen:     FRAMESIZE,\n\t\tpollTimeout: ^uintptr(0),\n\t}\n\n\t// set packet version\n\terr = unix.SetsockoptInt(fd, unix.SOL_PACKET, unix.PACKET_VERSION, unix.TPACKET_V2)\n\tif err != nil {\n\t\tunix.Close(fd)\n\t\treturn nil, fmt.Errorf(\"setsockopt packet_version: %v\", err)\n\t}\n\n\t// bind to interface\n\taddr := unix.RawSockaddrLinklayer{\n\t\tFamily:   unix.AF_PACKET,\n\t\tProtocol: ETHALL,\n\t\tIfindex:  int32(ifi.Index),\n\t}\n\t_, _, e := unix.Syscall(\n\t\tunix.SYS_BIND,\n\t\tuintptr(fd),\n\t\tuintptr(unsafe.Pointer(&addr)),\n\t\tuintptr(unix.SizeofSockaddrLinklayer),\n\t)\n\tif e != 0 {\n\t\tunix.Close(fd)\n\t\treturn nil, e\n\t}","sourceCodeStart":64,"sourceCodeEnd":100,"githubUrl":"https://github.com/probelabs/goreplay/blob/251e45abd242886bb64ff2b2dc98789556b56330/internal/capture/sock_linux.go#L64-L100","documentation":"NewSocket's setsockopt to enable TPACKET_V2 on the AF_PACKET socket failed (old kernel, restricted environment/namespace); the fd is closed and the wrapped errno is returned, so memory-mapped capture can't be set up.","triggerScenarios":"Thrown at internal/capture/sock_linux.go:82 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run on a kernel supporting TPACKET_V2 (>= 2.6.27)","Check seccomp/apparmor/container restrictions blocking setsockopt","Ensure the process has CAP_NET_RAW; fall back to pcap capture if not"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"251e45abd242886bb64ff2b2dc98789556b56330","analyzedAt":"2026-09-02T16:44:11.369Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T21:17:11.164Z"}