diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2015-01-20 15:52:25 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2015-01-20 15:52:25 -0600 |
commit | 3751e9feac6f47085254a5d4f439f5bdd15c722d (patch) | |
tree | d90f5a9b54482993017024fd7b5a1d392661c079 /nuttx/drivers/net/encx24j600.c | |
parent | 8869a89a866d3c819baebe183c374d15ee86e62a (diff) | |
download | px4-nuttx-3751e9feac6f47085254a5d4f439f5bdd15c722d.tar.gz px4-nuttx-3751e9feac6f47085254a5d4f439f5bdd15c722d.tar.bz2 px4-nuttx-3751e9feac6f47085254a5d4f439f5bdd15c722d.zip |
Networking: Modify all Ethernet drivers: Do neighbor look-up on all outgoing IPv6 packs in order to properly set the destination link layer address.
Diffstat (limited to 'nuttx/drivers/net/encx24j600.c')
-rw-r--r-- | nuttx/drivers/net/encx24j600.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/nuttx/drivers/net/encx24j600.c b/nuttx/drivers/net/encx24j600.c index e3dd1e8e7..5ed7c2dea 100644 --- a/nuttx/drivers/net/encx24j600.c +++ b/nuttx/drivers/net/encx24j600.c @@ -1540,6 +1540,12 @@ static void enc_rxdispatch(FAR struct enc_driver_s *priv) { arp_out(&priv->dev); } +#ifdef CONFIG_NET_IPv6 + else + { + neighbor_out(&priv->dev); + } +#endif /* And send the packet */ @@ -1572,13 +1578,19 @@ static void enc_rxdispatch(FAR struct enc_driver_s *priv) if (priv->dev.d_len > 0) { -#ifdef CONFIG_NET_IPv4 /* Update the Ethernet header with the correct MAC address */ +#ifdef CONFIG_NET_IPv4 if (IFF_IS_IPv4(priv->dev.d_flags)) { arp_out(&priv->dev); } + else +#endif +#ifdef CONFIG_NET_IPv6 + { + neighbor_out(&priv->dev); + } #endif /* And send the packet */ |