onps栈的移植涉及几个部分:1)系统配置及裁剪:2)基础数据类型定义:3)RTOS适配层实现:4)编写网卡驱动并注册网卡.本文作为onps栈移植的指导性文件将给出一般性的移植说明及建议,具体的移植样例工程及说明请移步码云下载: <onps网络协议栈移植及使用说明v1.0> 目标os为rt-thread的移植样例工程(STM32F407VET6及STM32F103RCT6两个平台) 目标os为ucos-ii的移植样例工程(硬件平台同上) 关于onps栈的前世今生请移步上一篇博文<开源网络…
4. 添加网卡 移植的最后一步就是编写网卡驱动然后将网卡添加到协议栈.网卡驱动其本质上完成的是数据链路层的工作,在整个通讯链路上处于通讯枢纽位置,通讯报文的发送和接收均由其实际完成.针对网卡部分的移植工作共三步: 1)编写网卡驱动: 2)注册网卡到协议栈: 3)对接网卡数据收发接口: 协议栈目前支持两种网卡类型:ethernet和ppp.两种网卡的移植工作虽然步骤一样,但具体移植细节还是有很大区别的,需要分开单独进行. 4.1 ethernet网卡 从移植的角度看,ethernet网卡驱动要提供…
2. 字节对齐及基础数据类型定义 协议栈源码(码云/github)port/include/port/datatype.h中根据目标系统架构(16位 or 32位)及所使用的编译器定义基础数据类型及字节对齐方法.这个文件中最重要的移植工作就是依据目标编译器手册定义字节对齐方法.因为网络协议栈最关键的地方就是底层通讯报文结构必须字节对齐,而不是通常情形下的缺省四字节对齐. #define PACKED __attribute__((packed)) //* 缺省提供了gcc编译器的字节对齐方法 #…
1. 底层API 由协议栈底层提供的api,用于涉及底层操作的一些功能实现,这些api接口函数的原型定义分布于不同的文件,它们被统一include进了onps.h中: open_npstack_load:将协议栈载入目标系统,协议栈开始运行 open_npstack_unload:将协议栈载出目标系统,协议栈结束运行 route_add:添加一条静态路由 route_del:删除一条静态路由 route_del_ext:删除指定网卡在路由表中的所有路由条目,禁止网卡跨网段通讯 route_get…
vm centos 添加网卡 无配置文件 解决办法 [root@test ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:C8:41:FB inet addr:192.168.10.51 Bcast:192.168.10.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fec8:41fb/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:…
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 前几篇文章介绍了有关KVM安装虚拟机以及如何给虚拟机添加硬盘,今天我们再来介绍下有关如何给KVM虚拟机添加网卡. 给KVM虚拟机添加网卡,可以分为两种形式:图形界面的和virsh attach-interface命令的. 图形界面的很简单,现在已虚拟机centos2为例:如下图操作: 注意该图中的MAC地址 more /etc/udev/rules.d/70-persistent-net.rules 现在上图,我们可以看到新增加的网卡,在系统中显示…
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708909.html 原文地址:linux内核移植和驱动添加(三) 作者:genehang 四,LED驱动的添加 1, 将led.c驱动文件拷贝到linux-3.1.4/drivers/char/目录下 root@char# pwd /change/linux-3.1.4/drivers/char root@char#  cp /mnt/hgfs/fh/driver/my_driver/led.c …
1.查看原有网卡信息 #virsh domiflist snale Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge br0 virtio :::8c:b8: 2.临时添加新网卡 #virsh attach-interface snale --type bridge --source br0 成功附加接口永久添加网卡命令 #virsh attac…
Linux 添加网卡 1.写入网卡配置 vim /etc/sysconfig/network-scripts/ifcfg-eth1 # 网卡名字 DEVICE=eth1 # 网卡类型 TYPE=Ethernet # UUID UUID=7fe1fb4d-a056-47df-9283-0ab7094abbf7 # 是否启动启用网卡 ONBOOT=yes # 选择链接网络类型 static静态 BOOTPROTO=static # ip地址 IPADDR=192.168.2.10 # 子网 NETM…
首先在虚拟机管理界面中给该虚拟机添加一块虚拟网卡,VirtualBox虚拟机中要shutdown才能添加. [root@rhel7 ~]# nmcli device show | grep -i device --查看网卡设备,我们可以看到新添加的enp0s8 GENERAL.DEVICE: virbr0 GENERAL.DEVICE: enp0s3 GENERAL.DEVICE: virbr0-nic GENERAL.DEVICE: enp0s8 GENERAL.DEVICE: lo [roo…