diff options
Diffstat (limited to 'ipn')
| -rw-r--r-- | ipn/ipnlocal/local.go | 12 | ||||
| -rw-r--r-- | ipn/localapi/localapi.go | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/ipn/ipnlocal/local.go b/ipn/ipnlocal/local.go index 2d2d0f90d..d6b1d9daa 100644 --- a/ipn/ipnlocal/local.go +++ b/ipn/ipnlocal/local.go @@ -9,6 +9,7 @@ import ( "errors" "fmt" "io" + "log" "net" "net/http" "os" @@ -3283,6 +3284,17 @@ func (b *LocalBackend) DebugReSTUN() error { return nil } +func (b *LocalBackend) DebugKickAllTCPIn() error { + filt, ok := b.filterAtomic.Load().(*filter.Filter) + if !ok { + return errors.New("no filter") + } + for _, flow := range filt.OpenTCPFlows() { + log.Printf("XXX: flow open: %+v", flow) + } + return nil +} + func (b *LocalBackend) magicConn() (*magicsock.Conn, error) { ig, ok := b.e.(wgengine.InternalsGetter) if !ok { diff --git a/ipn/localapi/localapi.go b/ipn/localapi/localapi.go index 699758d3e..286a54754 100644 --- a/ipn/localapi/localapi.go +++ b/ipn/localapi/localapi.go @@ -278,6 +278,8 @@ func (h *Handler) serveDebug(w http.ResponseWriter, r *http.Request) { err = h.b.DebugRebind() case "restun": err = h.b.DebugReSTUN() + case "kick-all-tcp-in": + err = h.b.DebugKickAllTCPIn() case "": err = fmt.Errorf("missing parameter 'action'") default: |
