2026. 9. 15. 10:48ㆍ카테고리 없음
timeout 15 bpftrace -e '
fentry:skb_do_redirect
{
@skb[tid] = (uint64)args.skb;
$ctx = ((struct task_struct *)curtask)->bpf_net_context;
if ($ctx != 0) {
@tgt[tid] = $ctx->ri.tgt_index;
@flags[tid] = $ctx->ri.flags;
}
}
fexit:dev_get_by_index_rcu
/@skb[tid] && args.ifindex == 10/
{
printf("LOOKUP skb=0x%lx net=%p ifindex=%d dev=%p\n",
@skb[tid],
args.net,
args.ifindex,
retval);
}
fexit:skb_do_redirect
/@skb[tid]/
{
$ret = (int64)retval;
if (@tgt[tid] == 10) {
printf("REDIRECT skb=0x%lx target=%llu flags=0x%x ret=%lld\n",
@skb[tid],
@tgt[tid],
@flags[tid],
$ret);
}
$d1 = delete(@skb, tid);
$d2 = delete(@tgt, tid);
$d3 = delete(@flags, tid);
}
END
{
clear(@skb);
clear(@tgt);
clear(@flags);
}
'