XDP Scoket也是一个文件描述符,因此可以通过poll/epoll/select来等待IO事件,需要说明的是:收/发的数据包是原始的以太网帧,因此在包处理上要麻烦一些 。
四. 总结
以上简略分析了bpf程序如何将数据重定向到用户态程序,通过xsks_map来实现bpf与用户态程序的交互;
需要说明的是,这些分析仅是梳理了浅层次的代码,实际上BPF是如何将数据读写到XDP Scoket收发缓冲区的呢?其实是通过创建共享内存并关联XDP Scoket的rx_ring,tx_ring,以及umem来实现的,后续继续分析 。
bpf程序通常都非常简单,复杂的是用户态程序,此外,BPF有非常多的技术细节,限于篇幅及主题不在此展开 。
https://www.linuxprobe.com/xdp-method.html
推荐阅读
- 决定转行的互联网大厂人,都去哪了?
- 小狗的名字吉祥招财微信图片 小狗的名字吉祥招财微信
- 怎么形容小孩子爱说谎的句子 怎么形容小孩子爱说谎
- 如何才能更符合今日头条的推送机制?获得头条更多展示量的方法
- 爱说谎的孩子该怎么办教案 爱说谎的孩子该怎么办
- 盘点那些高危却又不得不用的Linux命令
- 孩子不懂感恩的句子 孩子不懂感恩的话怎么说
- 面对不懂感恩的孩子怎么办教案
- 如何教育一个爱说谎话的孩子 怎么教育一个爱说谎孩子
- 五六年级的孩子爱说谎怎么回事