码迷,mamicode.com
首页 > 其他好文 > 详细

SylixOS AMP下跨网段通信

时间:2018-09-20 14:34:21      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:网络拓扑   sum   ima   注意   1.7   手工   gateway   out   default   

  • 适用范围
    本方法适用于SylixOS AMP下配置有虚拟网络设备的跨网段通信。内核版本:1.7.3,硬件平台:TMDSEVM6678LE。
  • 背景
    在近期构建的DSP6678工程中,0核运行SylixOS lite版,1-7核运行SylixOS动态加载版。其中只有0核能够使用有线网络,1-7核无法使用,使得无法通过网络调试和动态加载应用程序。然而每个核配置了虚拟网络,该虚拟网络基于共享内存实现。此时,需要配置网络,使得PC端能够通过DSP板卡上的有线网口与所有核通信。
  • 网络拓扑图
    图 3 1是PC与TMS320C6678的网络拓扑图
    技术分享图片
    图 3 1 网络拓扑图
    TMS320C6678:
    虚拟网卡se1: ip=192.168.3.201
    虚拟网卡se2: ip=192.168.3.200
    物理网卡en1: ip=192.168.1.230
    PC:
    物理网卡enet1: ip=192.168.1.200

  • 网络配置
    总体来说只需要设置两种配置即可:
    1、 配置网关;
    2、 开启CORE0转发。
    详细配置如下:
    1、 PC端:
    enet1配置网关为en1 ip=192.168.1.230;
    此时可以ping通se2。如果pc端存在同时使用多网卡且其他网卡设置了网关,此时会造成网络冲突。可以手工添加一条永久路由:route -p add 192.168.3.0 mask 255.255.255.0 192.168.1.230 metric 3 (删除:route delete 192.168.3.0)
    技术分享图片
    图 4 1 pc ping se2
  • 2、 CORE0:
    ipforward 1
    使能core0转发,当网卡收到目的地址非本网卡的报文后,将找到合适路由转发报文。如果此时只配置了网关,pc端enet1的报文只能到达se2,无法到达se1。
    3、 CORE1:
    ifconfig se1 gateway 192.168.3.200
    配置se1的网关,将其配置成se2的ip:192.168.3.200 这样,当SylixOS_1需要上PC发报文时,它就会先将报文发送给se2。
    route add default dev se1
    在core1上,需要设置默认设备,只有设置好默认网络设备后,默认网关才会开启,否则,ping的时候会一直报主机不可达错误。

    配置完成后,通过PC端可以ping通C6678 CORE1-CORE7的虚拟网卡se1,也可以通过telnet登录。
    技术分享图片

                                     4 2 pc ping se1

    值得注意的是1.7.3内核虚拟网卡驱动代码中修改netdev的校验和的标志位。即NETDEV_CHKSUM_ENABLE_ALL 0x00ff改为0xffff,从而可以产生IP、ICMP、TCP等协议的头部校验和,实现与外部设备通信。

    SylixOS AMP下跨网段通信

    标签:网络拓扑   sum   ima   注意   1.7   手工   gateway   out   default   

    原文地址:http://blog.51cto.com/6992875/2177594

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!