我有一个带PHY的at91c板(A)。使用Atmel提供的一些示例,我能够通过TCP向PC发送和接收数据。另外,我还需要通过SLIP连接另一块板(B)。
我的想法是我要添加第二个netif并进行某种从SLIP连接到PHY的转发!?我需要通过PC来对它们进行控制。
我只是根据一些示例编写了便笺。现在,在我的eth_init()
函数中,我有:
netif_add(&netif, ipA, gwA, maskA, phy_init, eth_input);
netif_add(&slipif, ipB, gwB, maskB, slip_init, tcpip_input);
netif_set_default(&netif);
netif_set_up(&netif);
netif_set_up(&slipf);
现在,我有slipif
接口悬空(连接到终端),只是为了验证一切是否正常。
当我尝试连接到BoardA上的Web服务器时,我看到slipif
中发送了一些tx数据,仅此而已。我再也无法访问我的Web服务器了。我不知道为什么会这样,因为我已经将netif_set_default(&netif)
留在原地。据我了解,在这种情况下,便装绝对不应该被弄皱。
我已经调整了Web服务器,使其仅在ipA上监听。
您可能会猜到我对网络不是很熟练,所以我并没有自觉地意识到自己在做什么。
我可以在浏览器中使用ipB通过BoardA到达BoardB吗?
如何路由?我已经读过ip_route
,但是在我的lwip代码中,我只有ip_route
,只有一个参数。而且它看起来正在做其他一些事情。这正常吗?