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/arch/hc/src/m9s12 | |
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/arch/hc/src/m9s12')
-rw-r--r-- | nuttx/arch/hc/src/m9s12/m9s12_ethernet.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/nuttx/arch/hc/src/m9s12/m9s12_ethernet.c b/nuttx/arch/hc/src/m9s12/m9s12_ethernet.c index bbba9d709..782e8f151 100644 --- a/nuttx/arch/hc/src/m9s12/m9s12_ethernet.c +++ b/nuttx/arch/hc/src/m9s12/m9s12_ethernet.c @@ -294,6 +294,12 @@ static void emac_receive(FAR struct emac_driver_s *priv) { arp_out(&priv->d_dev); } +#ifdef CONFIG_NET_IPv6 + else + { + neighbor_out(&priv->d_dev); + } +#endif /* And send the packet */ @@ -317,13 +323,19 @@ static void emac_receive(FAR struct emac_driver_s *priv) if (priv->d_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->d_dev.d_flags)) { arp_out(&priv->d_dev); } + else +#endif +#ifdef CONFIG_NET_IPv6 + { + neighbor_out(&priv->d_dev); + } #endif /* And send the packet */ |