diff --git a/probe/endpoint/ebpf.go b/probe/endpoint/ebpf.go index ff23b4e21..e134b084c 100644 --- a/probe/endpoint/ebpf.go +++ b/probe/endpoint/ebpf.go @@ -97,6 +97,9 @@ func newEbpfTracker() (eventTracker, error) { } ebpfTracker = tracker + + t.Start() + return tracker, nil } diff --git a/vendor/github.com/weaveworks/tcptracer-bpf/pkg/tracer/tracer.go b/vendor/github.com/weaveworks/tcptracer-bpf/pkg/tracer/tracer.go index 4f060da9d..7b297a213 100644 --- a/vendor/github.com/weaveworks/tcptracer-bpf/pkg/tracer/tracer.go +++ b/vendor/github.com/weaveworks/tcptracer-bpf/pkg/tracer/tracer.go @@ -101,9 +101,6 @@ func NewTracer(tcpEventCbV4 func(TcpV4), tcpEventCbV6 func(TcpV6), lostCb func(l } }() - perfMapIPV4.PollStart() - perfMapIPV6.PollStart() - return &Tracer{ m: m, perfMapIPV4: perfMapIPV4, @@ -112,6 +109,11 @@ func NewTracer(tcpEventCbV4 func(TcpV4), tcpEventCbV6 func(TcpV6), lostCb func(l }, nil } +func (t *Tracer) Start() { + t.perfMapIPV4.PollStart() + t.perfMapIPV6.PollStart() +} + func (t *Tracer) AddFdInstallWatcher(pid uint32) (err error) { var one uint32 = 1 mapFdInstall := t.m.Map("fdinstall_pids") diff --git a/vendor/github.com/weaveworks/tcptracer-bpf/pkg/tracer/tracer_unsupported.go b/vendor/github.com/weaveworks/tcptracer-bpf/pkg/tracer/tracer_unsupported.go index 8eb1a02f8..2acaa037b 100644 --- a/vendor/github.com/weaveworks/tcptracer-bpf/pkg/tracer/tracer_unsupported.go +++ b/vendor/github.com/weaveworks/tcptracer-bpf/pkg/tracer/tracer_unsupported.go @@ -15,12 +15,13 @@ func TracerAsset() ([]byte, error) { func NewTracer(tcpEventCbV4 func(TcpV4), tcpEventCbV6 func(TcpV6), lostCb func(lost uint64)) (*Tracer, error) { return nil, fmt.Errorf("not supported on non-Linux systems") } +func (t *Tracer) Start() { +} func (t *Tracer) AddFdInstallWatcher(pid uint32) (err error) { return fmt.Errorf("not supported on non-Linux systems") } func (t *Tracer) RemoveFdInstallWatcher(pid uint32) (err error) { return fmt.Errorf("not supported on non-Linux systems") } - func (t *Tracer) Stop() { } diff --git a/vendor/github.com/weaveworks/tcptracer-bpf/tcptracer-bpf.c b/vendor/github.com/weaveworks/tcptracer-bpf/tcptracer-bpf.c index 24d8210b2..500a45067 100644 --- a/vendor/github.com/weaveworks/tcptracer-bpf/tcptracer-bpf.c +++ b/vendor/github.com/weaveworks/tcptracer-bpf/tcptracer-bpf.c @@ -11,6 +11,7 @@ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wtautological-compare" +#pragma clang diagnostic ignored "-Wgnu-variable-sized-type-not-at-end" #include #pragma clang diagnostic pop #include diff --git a/vendor/github.com/weaveworks/tcptracer-bpf/tests/tracer.go b/vendor/github.com/weaveworks/tcptracer-bpf/tests/tracer.go index fcbea950b..15f786d9f 100644 --- a/vendor/github.com/weaveworks/tcptracer-bpf/tests/tracer.go +++ b/vendor/github.com/weaveworks/tcptracer-bpf/tests/tracer.go @@ -67,6 +67,8 @@ func main() { os.Exit(1) } + t.Start() + for _, p := range strings.Split(watchFdInstallPids, ",") { if p == "" { continue diff --git a/vendor/manifest b/vendor/manifest index f92f4ddad..2631e2ea2 100644 --- a/vendor/manifest +++ b/vendor/manifest @@ -1038,7 +1038,7 @@ "importpath": "github.com/weaveworks/tcptracer-bpf", "repository": "https://github.com/weaveworks/tcptracer-bpf", "vcs": "git", - "revision": "a616ebc6c5ac196af743e5dfc621a52fce030f87", + "revision": "fc80d1659bf07dabebbb42c5507578440103d66f", "branch": "master", "notests": true },