关于Netmap打patch时报错的解决方法

我在之前的篇文章中提到过Natmap执行完./configure之后,执行make命令时会因为patch的问题导致不能生成驱动文件。

这里写一下解决方法:

在执行完make后如果不成功一般都会报如下错误:

cp -Rp /root/rpmbuild/BUILD/kernel-3.10.0-229.el7/linux-3.10.0-229.el7.centos.x86_64/drivers/net/ethernet/intel/ixgbe ixgbe
patch --posix --quiet --force -p1 < patches/diff--ixgbe--31300--99999;
3 out of 8 hunks FAILED -- saving rejects to file ixgbe/ixgbe_main.c.rej
make: *** [get-ixgbe] Error 1

这是说你系统驱动里的ixgbe_main.c文件在打patch时某些行与patch所给的对不上了。

可以通过查看“netmap/LINUX/对应驱动/”目录下的*_main.c_rej查看是哪些位置不对。

我这里就是查看“netmap/LINUX/ixgbe/ixgbe_main.c.rej”文件。

根据这个文件将对应的*_main.c文件补充完整。

我这时就是将ixgbe_main.c文件补充完整。

这时的驱动文件就是我们打完patch以后的文件了,也就是make时需要的最终文件。

现在进行最关键的一步

将ixgbe_main.c拷贝到系统源码目录对应的驱动下,我这里是在源码目录下的“/usr/src/kernels/linux-3.10.0-327.el7.centos.x86_64/drivers/net/ethernet/intel/ixgb/”目录下。

然后将netmap/LINUX/patches/目录下对应的patch文件内容清空。

我这里就是将patches/diff--ixgbe--31300--99999这个文件清空。

好了,现在再用make命令编译就不会报patch的错,而且patch也正常打上了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
netmap是一个基于零拷贝思想的高速网络I/O架构,它通过在网卡运行在netmap模式下与主机协议栈断开连接,并创建一个netmap环来实现高效的数据包处理。\[2\]netmap的架构包括了网卡环、netmap环和用于与主机协议栈交互的环。网卡环是网卡直接将数据包存入的缓存,而netmap环是应用程序可以通过调用netmap API访问的缓存。这些缓存位于共享空间,应用程序可以直接访问数据包内容,实现了网络数据包的零拷贝。\[2\] netmap的数据结构包括了netmap_if、nmreq、netmap_ring等。netmap_if是一个结构体,用于表示一个netmap接口,其中包含了与接口相关的信息。nmreq是一个结构体,用于向内核注册一个netmap接口。netmap_ring是一个结构体,用于表示一个netmap环,其中包含了环的相关信息,如可用的数据包数量、当前处理的数据包索引等。\[3\] 在使用netmap,可以通过打开字符设备"/dev/netmap"来获取一个文件描述符,然后使用ioctl函数来注册网卡。接下来,可以使用mmap函数将共享内存映射到用户空间,从而可以访问netmap环中的数据包内容。最后,可以使用poll函数来等待数据包的到达,并通过遍历netmap环中的数据包来处理数据。\[3\] 需要注意的是,上述提供的代码示例是一个官方的例子,可能已经过,不能直接使用。但是它可以大致说明netmap的使用过程。\[3\] #### 引用[.reference_title] - *1* *3* [netmap 介绍](https://blog.csdn.net/fengfengdiandia/article/details/52869290)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Netmap分析(一)](https://blog.csdn.net/superbfly/article/details/51224920)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高晓伟_Steven

相逢即是有缘,动力源于金钱。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值