外观
虚拟网卡示例
2026-05-09
本文将详细介绍如何通过使用 虚拟网卡 , 包括工程创建、代码解析、编译与运行测试,帮助开发者快速验证 RT-Thread 与 Linux 之间的虚拟网卡数据收发功能。
虚拟网卡
虚拟网卡基于 RPMSG 共享内存核间通信实现,是一种逻辑虚拟网口。它把核间通信报文封装成标准以太网数据包,屏蔽底层通信细节。上层可像使用物理网卡一样,实现两系统跨核网络互通,无需外接物理网口。
硬件连接
AMP 下 rtt 终端串口为 uart3

创建工程点击展开
依次点击 “文件” -> “新建” -> "RT-Thread RuiChing App 项目"。

在弹出新建向导中选择 开发版 、BSP: 、示例 、 调试器/下载器。选择好之后点击 “完成”。

点击 “完成” 后,等待工程创建完成。

创建完成。

构建工程点击展开
单击工程使工程进入 Active-Debug 模式。

点击工具栏上的构建按钮进行工程编译。

构建成功后,会显示构建成功的信息。

固件下载点击展开
固化设备树

固化 APP

运行示例
操作步骤
在 RT-Thread 控制台中执行
virtual_eth_example, 查看操作提示RT-Thread 串口终端Virtual Network Card Data Transceiver Connectivity Test Please use the following commands to test network connectivity: Run on Linux terminal to get IP address: ifconfig Run on RT-Thread terminal to ping Linux: ping <host address> [netdev name] Example: ping 192.168.100.100 vethLinux 端查看虚拟网卡
在 Linux 侧串口的终端输入
ifconfig veth0命令,查看虚拟网卡 IPLinux 串口终端root@rk3506-buildroot:/# ifconfig veth0 veth0 Link encap:Ethernet HWaddr 76:61:40:73:7B:9F inet addr:192.168.100.100 Bcast:192.168.100.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:70 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:380 (380.0 B) TX bytes:22268 (21.7 KiB)RT-Thread 控制台执行连通性测试
在 RT-Thread 终端使用 ping 命令验证虚拟网卡数据收发功能:
RT-Thread 串口终端msh />ping 192.168.100.100 veth 60 bytes from 192.168.100.100 icmp_seq=1 ttl=64 time=1 ms 60 bytes from 192.168.100.100 icmp_seq=2 ttl=64 time=0 ms 60 bytes from 192.168.100.100 icmp_seq=3 ttl=64 time=0 ms 60 bytes from 192.168.100.100 icmp_seq=4 ttl=64 time=0 ms --- 192.168.100.100 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss minimum = 0ms, maximum = 1ms, average = 0ms
