2.3 Android ebpf帮助函数解读(二)---更新中

news/2024/11/29 13:35:42/

写在前面:

    帮助函数的介绍是根据其引入内核的时间来排序介绍的,从前面包括本篇博客的介绍我们可以看到bpf最初的设计就是为网络而生的。

    我们继续来介绍。

24.u32 bpf_get_route_realm(struct sk_buff *skb)

描述:检索realm或route,也就是skb tclassid字段。所检索到的标识符是用户提供的标记,与net_cls cgroup 使用的标记类似(可参考bpf_get_cgroup_classid()帮助函数的说明),但此处标记由route(目标条目)保存而不是由task。

    检索此标识符适用于classt TC出口钩子(可参考tc-bpf(8)),或者适用于传统的出口 qdiscs(qdiscs:表示队列出口规则,queueing discipline,Linux流量控制系统的核心),但不适用于TC入口路径。假若使用clsact TC出口钩子,这样做有一定的好处,在内部,目标条目尚未在传输路径中删除。因此,在释放skb之前,不需要通过netif_keep_dst() 人为地持有qdisc的目标条目。

    这个帮助函数要求在内核配置中使能CONFIG_IP_ROUTE_CLASSID。

返回值:返回与skb关联的数据包的路由区域,如果未找到,则返回0.

25.long bpf_perf_event_output(void *ctx,


http://www.ppmy.cn/news/334848.html

相关文章

linux 64位系统 printf(“%p“)显示12个字符解惑

本人非计算机专业,写给自己只为弄清楚这个问题 最近在64位linux系统中打印地址,代码如下 int a 1; int *p &a; printf("%d\n", sizeof(p)); printf("%p\n", p); 结果为 8 0x7ffea2cabb3c 这就引起我的好奇心了&#xff…

ARM嵌入式裸机简单使用

基于正点原子 ALPHA开发板,长文预警,建议收藏用到之后再查看 文章目录 主频与时钟I.MX6U系统时钟分析7路PLL时钟树外设如何选择时钟需要初始化的PLL和PFD I.MX6U系统配置系统主频的配置各个PLL时钟的配置其他外设时钟源配置 C代码 中断Cortex-A7中断系统…

性能优化-放开那片内存

性能优化是一个常有的事情,通常来说 不要过早优化-当你没有性能问题时,不需要过早考虑优化,当然对于一些代价很小,收益却很大的手段可以考虑做进来,例如最常见的就是根据业务需求选择合适的数据结构。 不要过度优化。…

《搜索和推荐中的深度匹配》——经典匹配模型 2.1 匹配学习

重磅推荐专栏: 《Transformers自然语言处理系列教程》 手把手带你深入实践Transformers,轻松构建属于自己的NLP智能应用! 2. 经典匹配模型 已经提出了使用传统的机器学习技术进行搜索中的查询文档匹配和推荐中的用户项目匹配的方法。这些方法…

详解如何使用 DosBox 安装 Windows 95 操作系统

其实博主最近想更的博文不是这个,原是想分享一个自己写的油猴插件帮助某网学员去绕过该网站限制拖在线课件及录播视频到本地保存的,但是,期间博主又动了重温经典游戏(博主想玩的游戏主要是生化危机、玩具兵大战、剑侠情缘等&#…

Linux CFS调度器分析

进程被调度的条件是什么,以及真正发生调度的时刻又是在哪里? 以下结论和代码分析都是基于最新Linux master分支(Linux5.0) 1. 调度的时刻 1.1 当前进程主动放弃CPU或者调用msleep/down/wait等阻塞函数时,会直接调用schedule()函数。 1.2. 当前进程满足…

进程管理基础学习笔记 - 3. schedule

目录 1. 前言2. __schedule|- -deactivate_task|- -pick_next_task|- -context_switch|- - -switch_to 参考文档 1. 前言 本专题我们开始学习进程管理部分。本文主要参考了《奔跑吧, Linux内核》、ULA、ULK的相关内容。本文只是作为学习笔记以用于构建知识框架,可能…

Linux内核进程创建-fork背后隐藏的技术细节(下)

上一篇文章我们讲到fork的时候内存管理相关的内容,时间大概隔了快一周了,发布下篇文章,写文章确实费时费力,需要仔细推敲,原创不易,希望大家多多支持吧。本文讲解fork的时候进程管理相关的内容,…