如何在 xdp 中獲取當前行程 ID
我的程式:
#include <linux/bpf.h>
#include <linux/if_ether.h>
#include <linux/ip.h>
#include <linux/in.h>
#include <linux/udp.h>
#include <linux/sched.h>
#include <linux/if_packet.h>
#include <linux/if_vlan.h>
#include <uapi/linux/bpf.h>
#include <net/sock.h>
#include <bcc/proto.h>
int udpfilter(struct xdp_md *ctx) {
bpf_trace_printk("got a packet\n");
u32 cpu = bpf_get_smp_processor_id();
//bpf_trace_printk("%s looking\n",cpu);
u32 pid = bpf_get_current_pid_tgid();
return XDP_DROP;
}
是否有任何替代函式來獲取 xdp 中的當前 pid,我正在參考這個 https://github.com/iovisor/bcc/blob/master/docs/kernel-versions.md#program-types
uj5u.com熱心網友回復:
閱讀您的其他問題,我猜您正在嘗試檢索資料包的目標行程的 PID。這在 XDP 鉤子上是不可能的,因為內核還沒有計算出該資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/369517.html
