mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-02 08:23:56 +08:00
⛄ Sync 2026-06-30 01:11:33
This commit is contained in:
1 parent
fb3826f4ad
commit
a09508c01e
157 files changed
+78873
-73698
No files matched your search
+1
-1
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=daed
|
||||
PKG_VERSION:=2026.06.14
|
||||
PKG_RELEASE:=14
|
||||
PKG_RELEASE:=15
|
||||
|
||||
PKG_SOURCE:=daed-src-2026.06.14-4e215048068a.tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/kenzok8/openwrt-daede/releases/download/daed-src
|
||||
|
||||
@@ -2,36 +2,17 @@ From: kenzok8 <kenzok8@noreply>
|
||||
Date: 2026-06-23
|
||||
Subject: [PATCH] daed: detach BPF hooks when stopping from dashboard
|
||||
|
||||
The dashboard "stop" (GraphQL Run(dry:true)) is delivered to dae-wing as a
|
||||
reload to EmptyConfig. The fast-reload path keeps the eBPF hooks attached via
|
||||
EjectBpf() (it only skips bpf.Close(), the TC/clsact filters stay bound). On a
|
||||
genuine stop this leaves the LAN/WAN clsact programs attached with no tproxy
|
||||
behind them, so every TCP/UDP packet (including DNS:53) is steered into a dead
|
||||
tproxy and black-holed; only `network restart`/reboot recovers. ICMP is not
|
||||
hijacked, so the box still pings IPs ("internal works, external dead").
|
||||
|
||||
dae-core already has DetachBpfHooks() for exactly this, but upstream only calls
|
||||
it from the standalone dae SIGTERM handler (dae-core/cmd/run.go), never on
|
||||
dae-wing's stop path. Call it explicitly when reloading to EmptyConfig.
|
||||
|
||||
Detach BPF hooks when the dashboard stops dae through EmptyConfig.
|
||||
Reported: https://github.com/kenzok8/openwrt-daede/issues/13
|
||||
---
|
||||
--- a/dae/run.go
|
||||
+++ b/dae/run.go
|
||||
@@ -138,6 +138,21 @@
|
||||
@@ -138,6 +138,13 @@
|
||||
/* dae-wing start */
|
||||
newConf := newReloadMsg.Config
|
||||
/* dae-wing end */
|
||||
+
|
||||
+ // openwrt-daede patch: a "stop" from the dashboard is delivered as a
|
||||
+ // reload to EmptyConfig. The fast-reload path keeps the eBPF hooks
|
||||
+ // attached via EjectBpf (only bpf.Close() is skipped, the TC filters
|
||||
+ // stay bound). On a real stop that leaves the LAN/WAN clsact programs
|
||||
+ // attached with no tproxy behind them, black-holing all TCP/UDP
|
||||
+ // (incl. DNS) until `network restart`/reboot. Upstream only calls
|
||||
+ // DetachBpfHooks() from the standalone dae SIGTERM handler, never on
|
||||
+ // dae-wing's stop path. Detach this generation's BPF hooks now so the
|
||||
+ // datapath is fully removed when stopping.
|
||||
+ // openwrt-daede: dashboard stop reloads to EmptyConfig; detach hooks.
|
||||
+ if newConf == EmptyConfig {
|
||||
+ if e := c.DetachBpfHooks(); e != nil {
|
||||
+ log.Errorln("[Stop] DetachBpfHooks:", e)
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
From: kenzok8 <kenzok8@noreply>
|
||||
Date: 2026-06-29
|
||||
Subject: [PATCH] daed: use bounded probes for manual latency tests
|
||||
|
||||
Use the existing bounded probe for manual dashboard latency tests.
|
||||
Reported: https://github.com/kenzok8/openwrt-daede/issues/20
|
||||
---
|
||||
--- a/graphql/service/node/latency_mutation_utils.go
|
||||
+++ b/graphql/service/node/latency_mutation_utils.go
|
||||
@@ -108,7 +108,7 @@ func testSingleNodeLatency(option *diale
|
||||
}
|
||||
defer d.Close()
|
||||
|
||||
- result, err := d.ProbeLatency()
|
||||
+ result, err := d.ProbeLatencyFast()
|
||||
if err != nil {
|
||||
msg := err.Error()
|
||||
resolver.MessageV = &msg
|
||||
Reference in new issue
Block a user