Linux内核实践 - 如何添加网络协议[三]:实现
到这里,协议的添加就大致完成了,当然还包括一些头文件的修改,宏变量的添加等就不一一详述,具体可见最后的附件。 为了编译进内核,还需要修改以下文件: $(linux)/net/Kconfig $(linux)/net/Makefile 最后,在make menuconfig选择添加brcm协议 Networking Support -> Networking options 同时,需要一个简单 的用户空间工具来配置我们的brcm设备,就像vconfig用来配置vlan设备一样;编写的简单的bconfig工具,命令格式: "Usage: add [interface-name] [brcm_port]n" " rem [dev-name]"; 内核编译完成后就该进行测试了,如果开启了内核调 试信息,启动内核就看到以下信息: 然后启用网卡,可以查看到添加了brcm设备后的状态: 可以使用原生套接字自己打上brcm头后发送报文让协议栈接收,或者用wireshark等捕获协议栈发出的报文,下图即是捕获到 的报文: 这是主机发出的arp报文,可以看到,在源mac后接的不是vlan报头,而是我们添加的brcm报文,协议号是8744。 查看proc 中信息: 附:patch补丁 && 重要的源文件 && bconfig工具源码 http://download.csdn.net/source/3548117 (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |