Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion TODO-SOON.md
Original file line number Diff line number Diff line change
Expand Up @@ -1339,7 +1339,14 @@ load-bearing for a second package.

---

## 16. `cmd/ns` and `cmd/xtcp2` do not link outside nix — `giouring` / `syscall.munmap` — OPEN
## 16. `cmd/ns` and `cmd/xtcp2` do not link outside nix — `giouring` / `syscall.munmap` — DONE 2026-11-07

**Resolved:** the fork replaced the linkname with direct mmap/munmap syscalls
(randomizedcoder/giouring ab1091f, in v1.0.1). xtcp2 now requires the fork's
`main` as `github.com/randomizedcoder/giouring v1.1.2`, with no `replace`, so
a plain `go build ./...` links and `-ldflags=-checklinkname=0` is gone.
nix builds from the same module, which drops `nix/lib/patchGoMod.nix` and the
`giouring` flake input. The original notes follow.

A plain `go build ./cmd/...` in a working tree fails:

Expand Down
30 changes: 6 additions & 24 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 0 additions & 12 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,6 @@
# Each takes --dry-run (the VM runners with --native-out DIR) to write
# placeholder contents and a manifest without a device.
#
# Overriding the giouring source (local fork):
# nix develop --override-input giouring path:/home/das/Downloads/giouring
#
{
description = "xtcp2 — TCP socket introspection via netlink";

Expand All @@ -89,13 +86,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};

# Local fork of iceber/iouring-go. Pin rev — overridable via
# `--override-input giouring path:/path/to/local`.
giouring = {
url = "github:randomizedcoder/giouring/9e96b7216bf07ce3c97281092444e85311f7b2e4";
flake = false;
};

# xdp2 provides `proto-audit`, the netlink layout oracle. It normalises the
# kernel UAPI headers and 15 other sources to one IR indexed by wire bit
# offset, which is what lets it find a field xtcp2's Go structs are
Expand Down Expand Up @@ -143,7 +133,6 @@
nixpkgs,
flake-utils,
microvm,
giouring,
xdp2,
rocm-ernic,
}:
Expand All @@ -161,7 +150,6 @@
lib
microvm
nixpkgs
giouring
xdp2
;
rocmErnic = rocm-ernic;
Expand Down
37 changes: 18 additions & 19 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
module github.com/randomizedcoder/xtcp2

go 1.27.0
go 1.27.3

require (
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.12-20260825204119-511051f7f437.2
buf.build/go/protovalidate v1.4.0
github.com/gaissmai/bart v0.30.0
github.com/grafana/pyroscope-go v1.4.3
github.com/grpc-ecosystem/grpc-gateway/v2 v2.32.0
github.com/grpc-ecosystem/grpc-gateway/v2 v2.33.0
github.com/klauspost/compress v1.20.3
github.com/minio/minio-go/v7 v7.4.1
github.com/nats-io/nats.go v1.54.0
github.com/nats-io/nats.go v1.55.0
github.com/nsqio/go-nsq v1.1.0
github.com/parquet-go/parquet-go v0.32.0
github.com/pkg/profile v1.7.0
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10
github.com/prometheus/client_golang v1.25.0
github.com/prometheus/client_model v0.6.3
github.com/randomizedcoder/giouring v0.0.0-00010101000000-000000000000
github.com/randomizedcoder/giouring v1.1.2
github.com/redis/go-redis/v9 v9.23.0
github.com/twmb/franz-go v1.22.2
github.com/twmb/franz-go/pkg/sr v1.8.0
Expand All @@ -31,17 +31,17 @@ require (
go.opentelemetry.io/otel/sdk v1.47.0
go.opentelemetry.io/otel/sdk/metric v1.47.0
go.opentelemetry.io/otel/trace v1.47.0
go.yaml.in/yaml/v3 v3.0.5
go.yaml.in/yaml/v3 v3.0.6
golang.org/x/sys v0.49.0
google.golang.org/genproto/googleapis/api v0.0.0-20261019180522-ce908d29299b
google.golang.org/grpc v1.84.0
google.golang.org/genproto/googleapis/api v0.0.0-20261104224025-d1e00e9f33ab
google.golang.org/grpc v1.85.0
google.golang.org/protobuf v1.36.12
)

require (
cel.dev/cel-go v0.32.0 // indirect
cel.dev/cel-go v0.33.2 // indirect
cel.dev/expr v0.25.3 // indirect
github.com/andybalholm/brotli v1.2.6 // indirect
github.com/andybalholm/brotli v1.2.8 // indirect
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
Expand All @@ -51,24 +51,25 @@ require (
github.com/go-logr/logr v1.4.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/snappy v1.0.0 // indirect
github.com/google/pprof v0.0.0-20261016150608-1facf8f91b50 // indirect
github.com/google/pprof v0.0.0-20261105003125-4bf881d7fb0b // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grafana/pyroscope-go/godeltaprof v0.1.12 // indirect
github.com/klauspost/cpuid/v2 v2.4.1 // indirect
github.com/klauspost/cpuid/v2 v2.4.2 // indirect
github.com/klauspost/crc32 v1.3.0 // indirect
github.com/kylelemons/godebug v1.1.0 // indirect
github.com/minio/crc64nvme v1.1.1 // indirect
github.com/minio/md5-simd v1.1.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nats-io/nkeys v0.4.16 // indirect
github.com/nats-io/nkeys v0.4.17 // indirect
github.com/nats-io/nuid v1.0.1 // indirect
github.com/pandatix/go-abnf v0.5.5 // indirect
github.com/parquet-go/bitpack v1.1.0 // indirect
github.com/parquet-go/jsonlite v1.5.5 // indirect
github.com/philhofer/fwd v1.2.1 // indirect
github.com/pierrec/lz4/v4 v4.1.33 // indirect
github.com/prometheus/common v0.72.1 // indirect
github.com/prometheus/common v0.73.1 // indirect
github.com/prometheus/otlptranslator v1.0.0 // indirect
github.com/prometheus/procfs v0.22.0 // indirect
github.com/prometheus/procfs v0.23.0 // indirect
github.com/rs/xid v1.6.0 // indirect
github.com/tinylib/msgp v1.6.5 // indirect
github.com/twmb/franz-go/pkg/kmsg v1.15.0 // indirect
Expand All @@ -81,11 +82,9 @@ require (
go.opentelemetry.io/proto/otlp v1.11.1 // indirect
go.uber.org/atomic v1.12.0 // indirect
golang.org/x/crypto v0.58.0 // indirect
golang.org/x/exp v0.0.0-20261014143641-f0251eb4aa3e // indirect
golang.org/x/net v0.61.0 // indirect
golang.org/x/exp v0.0.0-20261106192419-47ce03d25ef0 // indirect
golang.org/x/net v0.62.0 // indirect
golang.org/x/text v0.43.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20261019180522-ce908d29299b // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20261104224025-d1e00e9f33ab // indirect
gopkg.in/ini.v1 v1.67.3 // indirect
)

replace github.com/randomizedcoder/giouring => /home/das/Downloads/giouring
Loading
Loading