ebpf如何访问skb 的fileds
- 加载:
- 转换: 所有skb的fields都转换成相对skb结构体头部的偏移量
- 根据偏移量重新校验 bpf指令
- 报文运行:
- Skb的地址在skb是作为ctx寄存器传递给bfp run函数的。
BPF CTX与SKB
这里以tcpdump(PF_PACKET)为例,结合函数调用关系说明,
skb是如何被当做ctx参数传递给bpf程序的
注: 内核版本v6.6
函数调用关系
1 | --> packet_rcv |
这里以tcpdump(PF_PACKET)为例,结合函数调用关系说明,
skb是如何被当做ctx参数传递给bpf程序的
注: 内核版本v6.6
1 | --> packet_rcv |