From 8eca83f3cb2d7b07f2e3d9ca45738c1c35b5a429 Mon Sep 17 00:00:00 2001 From: Zoltan Papp Date: Mon, 7 Aug 2023 11:43:32 +0200 Subject: [PATCH] Fix/ebpf free (#1057) * Fix ebpf free call * Add debug logs --- client/internal/wgproxy/ebpf/loader.go | 2 +- client/internal/wgproxy/factory.go | 2 +- client/internal/wgproxy/proxy_ebpf.go | 1 + client/internal/wgproxy/proxy_userspace.go | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/client/internal/wgproxy/ebpf/loader.go b/client/internal/wgproxy/ebpf/loader.go index 18134d439..48ac59dc2 100644 --- a/client/internal/wgproxy/ebpf/loader.go +++ b/client/internal/wgproxy/ebpf/loader.go @@ -75,7 +75,7 @@ func (l *EBPF) Load(proxyPort, wgPort int) error { return err } -// Free free ebpf program +// Free ebpf program func (l *EBPF) Free() error { if l.link != nil { return l.link.Close() diff --git a/client/internal/wgproxy/factory.go b/client/internal/wgproxy/factory.go index 0e1261500..a6d170519 100644 --- a/client/internal/wgproxy/factory.go +++ b/client/internal/wgproxy/factory.go @@ -14,7 +14,7 @@ func (w *Factory) GetProxy() Proxy { func (w *Factory) Free() error { if w.ebpfProxy != nil { - return w.ebpfProxy.CloseConn() + return w.ebpfProxy.Free() } return nil } diff --git a/client/internal/wgproxy/proxy_ebpf.go b/client/internal/wgproxy/proxy_ebpf.go index f1b338407..8be6b0c19 100644 --- a/client/internal/wgproxy/proxy_ebpf.go +++ b/client/internal/wgproxy/proxy_ebpf.go @@ -104,6 +104,7 @@ func (p *WGEBPFProxy) CloseConn() error { // Free resources func (p *WGEBPFProxy) Free() error { + log.Debugf("free up ebpf wg proxy") var err1, err2, err3 error if p.conn != nil { err1 = p.conn.Close() diff --git a/client/internal/wgproxy/proxy_userspace.go b/client/internal/wgproxy/proxy_userspace.go index f2411e976..b692ea708 100644 --- a/client/internal/wgproxy/proxy_userspace.go +++ b/client/internal/wgproxy/proxy_userspace.go @@ -20,6 +20,7 @@ type WGUserSpaceProxy struct { // NewWGUserSpaceProxy instantiate a user space WireGuard proxy func NewWGUserSpaceProxy(wgPort int) *WGUserSpaceProxy { + log.Debugf("instantiate new userspace proxy") p := &WGUserSpaceProxy{ localWGListenPort: wgPort, }