rockchip RGMII+mv88e6390 管理型交换机功能调试及vlan定制+Mac绑定

1.cpu主控:rk3399;

2.交换机芯片marvell mv88e6390(8个电口+2光口);

3.rk399通过RGMII与marvell mv88e6390 p0 rgmii连接,port0做数据转发口,实现带管理的路由器功能(port1作WAN,port2-port10做LAN)

实现步骤:

3.1.硬件调试,保证6390本身工作起来,通过rj45与电脑相连可以做傻瓜交换机使用;

3.2.rgmii调试: cpu gmac没有接phy,一定要强制为1000M,6390也要强制为1000M,保证两边速度一致:

rk3399 端:

phydev->duplex = DUPLEX_FULL;
phydev->speed = SPEED_1000;
mv6390端:
device 0 reg1=0x313e;

其实可以用示波器量rgmii clk的频率 :

clk=2.5Mhz为10M网络;

clk=25Mhz为100M网络;

clk=125Mhz为千兆网络;

3.3: 由于6390不对外产生125M clk,需要rk3399内部产生125M clk(gmac配置为"output");

进入系统后确认是否会生成网络结点eth0,确认能收到广播包:

rockchip RGMII+mv88e6390 管理型交换机功能调试及vlan定制+Mac绑定_第1张图片

如果只有发送包,而没有接收包,可以考虑配置下tx/rx delay;

        tx_delay = <0x2f>;
        rx_delay = <0x24>;
3.4:

正常后可以获得ip试下:udhcpc -i eth0

rockchip RGMII+mv88e6390 管理型交换机功能调试及vlan定制+Mac绑定_第2张图片

 

4. 划分vlan,使用iptables实现路由功能:

4.1 通过tag based vlan将marvell mv88e6390划分为vlan1(wan (port1))+vlan2(lan (port2-port10));这个是花了4500块大洋找原厂定制的。

4.2  用vconfig实现 vlan网桥;

4.3 通过iptables 实现wan/lan数据转发

5.使用marvell mv88e6390内部功能实现MAC bindsing/Speed 控制;

6.linux ip层实现路由转发功能;

你可能感兴趣的:(linux)