Networking: If sending out of the subnet, device lookup by IP will fail. Fall back to ETH0 for now. From Max Holtzberg
This commit is contained in:
parent
e4af9572d0
commit
95d462cb02
|
@ -5642,4 +5642,9 @@
|
|||
definitions (2013-9-26).
|
||||
* arch/arm/src/sama5/sam_gmac.c and include/nuttx/net/gmii.h:
|
||||
Beginning of support for GMII/RGMII PHY support (2013-9-26)
|
||||
* net/netdev_txnotify.c: Look up of device using subnet will fail
|
||||
if the packet is being sent out of our subnet (via a router).
|
||||
The fallback here is just to use "eth0" if the subnet lookup
|
||||
fails. This will, of course, will have to be revisited if/when
|
||||
multiple NICs are supported (2013-9-27).
|
||||
|
||||
|
|
|
@ -95,6 +95,20 @@ void netdev_txnotify(const uip_ipaddr_t *raddr)
|
|||
/* Find the device driver that serves the subnet of the remote address */
|
||||
|
||||
struct uip_driver_s *dev = netdev_findbyaddr(raddr);
|
||||
|
||||
/* The above lookup will fail if the packet is being sent out of our
|
||||
* out subnet to a router. REVISIT: For now, we fall back and try "eth0".
|
||||
*/
|
||||
|
||||
if (dev == NULL)
|
||||
{
|
||||
/* If the destination address is not in our subnet, assume eth0 as the
|
||||
* default device.
|
||||
*/
|
||||
|
||||
dev = netdev_findbyname("eth0");
|
||||
}
|
||||
|
||||
if (dev && dev->d_txavail)
|
||||
{
|
||||
/* Notify the device driver that new TX data is available. */
|
||||
|
|
Loading…
Reference in New Issue