summaryrefslogtreecommitdiffhomepage
path: root/ipn
diff options
context:
space:
mode:
Diffstat (limited to 'ipn')
-rw-r--r--ipn/ipnlocal/local.go12
-rw-r--r--ipn/localapi/localapi.go2
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: