diff --git a/bpf_progs/netd.c b/bpf_progs/netd.c index 368cfca058..c3258e9e89 100644 --- a/bpf_progs/netd.c +++ b/bpf_progs/netd.c @@ -319,6 +319,7 @@ static __always_inline inline void do_packet_tracing( pkt->dport = dport; pkt->egress = egress; + pkt->wakeup = !egress && (skb->mark & 0x80000000); // Fwmark.ingress_cpu_wakeup pkt->ipProto = proto; pkt->tcpFlags = flags; pkt->ipVersion = ipVersion; diff --git a/bpf_progs/netd.h b/bpf_progs/netd.h index 836e99833f..6e9acaa380 100644 --- a/bpf_progs/netd.h +++ b/bpf_progs/netd.h @@ -81,7 +81,8 @@ typedef struct { __be16 sport; __be16 dport; - bool egress; + bool egress:1, + wakeup:1; uint8_t ipProto; uint8_t tcpFlags; uint8_t ipVersion; // 4=IPv4, 6=IPv6, 0=unknown