首页 > 其他分享 >eBPF skb字段pkt_type

eBPF skb字段pkt_type

时间:2024-07-29 09:20:02浏览次数:10  
标签:pkt skb 网卡 mac linux type

pkt_type取值范围

https://elixir.bootlin.com/linux/v6.5/source/include/uapi/linux/if_packet.h#L33

skb中pkt_type值,由网卡驱动层函数eth_type_trans,在tc ingress之前,根据目的mac决定。

https://elixir.bootlin.com/linux/v6.5/source/net/ethernet/eth.c#L155

如果目的mac与本机mac不同
1 如果目的mac是多播地址,那么根据本机广播地址,进一步区分广播或者多播。
2 否则,pkt_type值是PACKET_OTHERHOST。

如果发送给主机网卡的目的mac不是本机mac,那么ip_rcv_core函数会根据skb的pkt_type值是PACKET_OTHERHOST而丢弃。

https://elixir.bootlin.com/linux/v6.5/source/net/ipv4/ip_input.c#L456

解决方式1(推荐):目的mac设置为主机mac。
解决方式2:开启主机网卡混杂模式。
解决方式3:主机网卡tc ingress中,修改skb中pkt_type值是PACKET_HOST。

标签:pkt,skb,网卡,mac,linux,type
From: https://www.cnblogs.com/WJQ2017/p/18329334

相关文章

  • 我需要有关“data_type_name”的帮助吗?
    2024-07-2902:17:59错误discord.ext.commands.bot忽略命令getpasswords中的异常回溯(最近一次调用最后一次):文件“C:\Users\tbyet\AppData\Roaming\Python\Python312\site-packages\discord\ext\commands\core.py”,第235行,包装ret=等待coro(*args,**kwargs)^^^^^^^^......
  • 解决yolo使用engine模型推理报错AttributeError: “NoneType’cbject has no attribut
    目录起因分析两种解决方案方法一:卸载生产服务器的tensorrt,下载与训练服务器相同版本方法二:将训练服务器训练的pt模型下载出来到生产服务器导出起因在做yolo模型训练时使用了训练服务器,训练结束把模型转换成了.engine模型,在训练服务器上可以正常使用,但把模型放到生成服......
  • Django 测试设置错误:MySQL 后端的 django_content_type 表问题
    我在使用MySQL后端设置Django测试时遇到问题。该错误发生在测试数据库设置阶段,特别与django_content_type表相关。详细信息如下:环境:Django版本:5.0.7MySQL版本:8.0.37操作系统:Ubuntu20.04Python版本:3.11.12......
  • LimeTabular TypeError:__init__() 缺少 1 个必需的位置参数:'model'
    我已经开始学习Lime了。当我使用LimeTabular形式的Interpret时,我遇到一个问题,我按照标准完成了功能,但它不起作用。错误是TypeError:init()缺少1个必需的位置参数:'model'#%%ImportsfromutilsimportDataLoaderfromsklearn.ensembleimportRandomForestCla......
  • 【MathType】彻底解决公式大小与文章文字大小不统一(含字体的字号与磅(pt)和像素(px)之间
    在使用Mathtype的时候,有时候会出现公式大小不统一的情况,这时候手动去拖动大小的话非常不理想,并且使用格式化公式也没有效果。下面来具体分析一下导致的原因、字体的字号与磅(pt)和像素(px)之间的关系、彻底解决方法。下面图片是一个小示例(请忽略具体内容)1.大小不一致原因查看Mat......
  • 如何将 ctype 转换为字节
    我想访问我定义的ctype.Structure,作为Python中的字节(b'')。我不知道这是正确的方法吗?我需要将标头(它应该与架构无关)发送到其他设备。因此我将其定义为:classHeader(ctypes.Structure):_pack_=2_fields_=[('version',c_uint8......
  • 使用 Python 进行 Web 抓取以获取数据 NoneType ERROR
    我正在努力为我的学校项目获取美元和价格。所以我决定为此使用网络抓取,但我有一个问题。当我尝试在服务器上使用我的代码时,它给我NoneType错误。它可以在googlecolab上使用,但我无法在我的电脑或服务器上使用。我该如何解决这个问题?网页抓取代码;defdolar():he......
  • typescript: vscode create project
       npmcreatevue@latestcdvue-projectnpmi-Dtypescriptnpminstall-gtypescriptts-nodenpminstallwebpack-gnpminstall-g@vue/clinpminstall-gtypescripttsc--versionnpminstall--gcreate-vueornpminstall--g@vue/clinp......
  • MathType7.4激活密钥免费获取?MathType7怎么输入激活码
    亲爱的数学爱好者们、科研工作者和教育工作者们,你们是否曾因为公式编辑而感到头大?今天我要来给大家种草一个神奇的软件——MathType,它不仅能够帮你轻松搞定各种复杂的数学公式编辑,还能让你的工作效率翻倍哦!MathType最新mac官方版本下载如下:https://wm.makeding.com/iclk/?zo......
  • 将Mathtype添加到WPS中
    (1)在顶部菜单栏,工具--加载项--在“模板和加载项”窗口中再点击“添加”(2)找到mathtype安装路径下面的“OfficeSupprot”,这时会看到有“32”和“64”两个文件夹,分别对应WPS软件的系统(任务管理器可以直接查看wps版本)。默认路径为下边这个:(3)如果许多功能不能用,是灰色的,可以安装一个wps......