网络配置—桥接方式
网络桥接配置框图如图 1所示,两块MPC8548E板通过同步口方式(以太网口亦适用)进行连接,将同步口驱成网络设备,工作方式与以太网口等同。假设同步口网络设备接口为eth4,以太网设备接口为eth0。
br0:192.168.1.3/24eth0MPC8548Eeth4同同同同同同br0:192.168.1.5/24eth4MPC8548Eeth0192.168.1.100/24192.168.1.200/24 图 1:桥接方式配置示意图
桥接方式配置如下:
(1)MPC8548E板1(图 1中左)
# /usr/sbin/brctl addbr br0
# /usr/sbin/brctl stp br0 off(若brctl为busybox的符号连接,则off替换为0)
# /usr/sbin/brctl addif br0 eth0
# /usr/sbin/brctl addif br0 eth1
# /sbin/ifconfig eth0 0.0.0.0.0 up
# /sbin/ifconfig eth4 0.0.0.0 up
# /sbin/ifconfig br0 192.168.1.3 netmask 255.255.255.0 up
(1)MPC8548E板2(图 1中右)
# /usr/sbin/brctl addbr br0
# /usr/sbin/brctl stp br0 off(若brctl为busybox的符号连接,则off替换为0)
# /usr/sbin/brctl addif br0 eth0
# /usr/sbin/brctl addif br0 eth1
# /sbin/ifconfig eth0 0.0.0.0.0 up
# /sbin/ifconfig eth4 0.0.0.0 up
# /sbin/ifconfig br0 192.168.1.5 netmask 255.255.255.0 up
测试方式与路由方式类同。
桥接方式下构造伪以太网帧MAC头
桥接方式下同步口驱动中构造伪以太网帧MAC头以便能够递交给协议栈上层。
初步设想的构造方式:
在收到同步定长帧,并把同步定长帧放入到新构造的sk_buff结构体后,利用skb_push和memcpy函数向skb中增加一个14字节的伪MAC头。其中MAC头中源MAC地址(6字节)可任意填,只要符合MAC地址要求,目的MAC地址(6字节)填充本同步口的MAC地址,协议字段(2字节)取同步定长帧中协议字段(同步定长帧的第18、19字节)的值。
如何区分同步口是否处于桥接模式下
判断struct net_device结构体中br_port字段的值,若br_port非空说明同步口eth4被加入到虚拟的桥接设备中,说明处于桥接模式下,否则可认定处于路由模式下。
因篇幅问题不能全部显示,请点此查看更多更全内容