diff --git a/arch/arm/src/c5471/c5471_ethernet.c b/arch/arm/src/c5471/c5471_ethernet.c index b7de3b93b1a..cb7db0b2152 100644 --- a/arch/arm/src/c5471/c5471_ethernet.c +++ b/arch/arm/src/c5471/c5471_ethernet.c @@ -1290,11 +1290,8 @@ static void c5471_receive(struct c5471_driver_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(dev); ipv4_input(dev); /* If the above function invocation resulted in data that should be @@ -1306,21 +1303,6 @@ static void c5471_receive(struct c5471_driver_s *priv) if (dev->d_len > 0 && (EIM_TXDESC_OWN_HOST & getreg32(priv->c_rxcpudesc)) == 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(dev->d_flags)) -#endif - { - arp_out(dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(dev); - } -#endif - /* And send the packet */ c5471_transmit(priv); @@ -1346,21 +1328,6 @@ static void c5471_receive(struct c5471_driver_s *priv) if (dev->d_len > 0 && (EIM_TXDESC_OWN_HOST & getreg32(priv->c_rxcpudesc)) == 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(dev->d_flags)) - { - arp_out(dev); - } - else -#endif -#ifdef CONFIG_NET_IPv6 - { - neighbor_out(dev); - } -#endif - /* And send the packet */ c5471_transmit(priv); diff --git a/arch/arm/src/gd32f4/gd32f4xx_enet.c b/arch/arm/src/gd32f4/gd32f4xx_enet.c index ae3354198fd..6fc85e2d108 100644 --- a/arch/arm/src/gd32f4/gd32f4xx_enet.c +++ b/arch/arm/src/gd32f4/gd32f4xx_enet.c @@ -1685,11 +1685,8 @@ static void gd32_receive(struct gd32_enet_mac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1698,10 +1695,6 @@ static void gd32_receive(struct gd32_enet_mac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - - arp_out(&priv->dev); - /* And send the packet */ gd32_transmit(priv); diff --git a/arch/arm/src/imx6/imx_enet.c b/arch/arm/src/imx6/imx_enet.c index 9789443a2a4..a5302539f85 100644 --- a/arch/arm/src/imx6/imx_enet.c +++ b/arch/arm/src/imx6/imx_enet.c @@ -765,11 +765,8 @@ static inline void imx_dispatch(struct imx_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -778,21 +775,6 @@ static inline void imx_dispatch(struct imx_driver_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ imx_transmit(priv); @@ -818,21 +800,6 @@ static inline void imx_dispatch(struct imx_driver_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ imx_transmit(priv); diff --git a/arch/arm/src/imxrt/imxrt_enet.c b/arch/arm/src/imxrt/imxrt_enet.c index 7214745dd1a..ad99ae9e9db 100644 --- a/arch/arm/src/imxrt/imxrt_enet.c +++ b/arch/arm/src/imxrt/imxrt_enet.c @@ -807,11 +807,8 @@ static inline void imxrt_dispatch(struct imxrt_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -820,21 +817,6 @@ static inline void imxrt_dispatch(struct imxrt_driver_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ imxrt_transmit(priv); @@ -860,21 +842,6 @@ static inline void imxrt_dispatch(struct imxrt_driver_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ imxrt_transmit(priv); diff --git a/arch/arm/src/kinetis/kinetis_enet.c b/arch/arm/src/kinetis/kinetis_enet.c index ac4b3bbfc0a..078bd5e320f 100644 --- a/arch/arm/src/kinetis/kinetis_enet.c +++ b/arch/arm/src/kinetis/kinetis_enet.c @@ -602,11 +602,8 @@ static void kinetis_receive(struct kinetis_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -615,21 +612,6 @@ static void kinetis_receive(struct kinetis_driver_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ kinetis_transmit(priv); @@ -653,21 +635,6 @@ static void kinetis_receive(struct kinetis_driver_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ kinetis_transmit(priv); diff --git a/arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c b/arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c index 77566e8582d..6384323a9f7 100644 --- a/arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c +++ b/arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c @@ -916,11 +916,8 @@ static void lpc17_40_rxdone_work(void *arg) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->lp_dev); - /* Handle ARP on input then give the IPv4 packet to the - * network layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->lp_dev); ipv4_input(&priv->lp_dev); /* If the above function invocation resulted in data that @@ -930,21 +927,6 @@ static void lpc17_40_rxdone_work(void *arg) if (priv->lp_dev.d_len > 0) { - /* Update Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->lp_dev.d_flags)) -#endif - { - arp_out(&priv->lp_dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->lp_dev); - } -#endif - /* And send the packet */ lpc17_40_response(priv); @@ -969,21 +951,6 @@ static void lpc17_40_rxdone_work(void *arg) if (priv->lp_dev.d_len > 0) { - /* Update Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(priv->lp_dev.d_flags)) - { - arp_out(&priv->lp_dev); - } - else -#endif -#ifdef CONFIG_NET_IPv6 - { - neighbor_out(&priv->lp_dev); - } -#endif - /* And send the packet */ lpc17_40_response(priv); diff --git a/arch/arm/src/lpc43xx/lpc43_ethernet.c b/arch/arm/src/lpc43xx/lpc43_ethernet.c index c1dfac729fc..830eba61922 100644 --- a/arch/arm/src/lpc43xx/lpc43_ethernet.c +++ b/arch/arm/src/lpc43xx/lpc43_ethernet.c @@ -1596,11 +1596,8 @@ static void lpc43_receive(struct lpc43_ethmac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1609,21 +1606,6 @@ static void lpc43_receive(struct lpc43_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ lpc43_transmit(priv); @@ -1646,21 +1628,6 @@ static void lpc43_receive(struct lpc43_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ lpc43_transmit(priv); diff --git a/arch/arm/src/lpc54xx/lpc54_ethernet.c b/arch/arm/src/lpc54xx/lpc54_ethernet.c index 9c552d5722e..cfc3d0bc4b9 100644 --- a/arch/arm/src/lpc54xx/lpc54_ethernet.c +++ b/arch/arm/src/lpc54xx/lpc54_ethernet.c @@ -847,28 +847,6 @@ static void lpc54_eth_reply(struct lpc54_ethdriver_s *priv) #warning Missing Logic #endif -#ifdef CONFIG_NET_IPv4 -#ifdef CONFIG_NET_IPv6 - /* Check for an outgoing IPv4 packet */ - - if (IFF_IS_IPv4(priv->eth_dev.d_flags)) -#endif - { - arp_out(&priv->eth_dev); - } -#endif - -#ifdef CONFIG_NET_IPv6 -#ifdef CONFIG_NET_IPv4 - /* Otherwise, it must be an outgoing IPv6 packet */ - - else -#endif - { - neighbor_out(&priv->eth_dev); - } -#endif - /* And send the packet */ chan = lpc54_eth_getring(priv); @@ -917,11 +895,8 @@ static void lpc54_eth_rxdispatch(struct lpc54_ethdriver_s *priv) ninfo("IPv4 packet\n"); NETDEV_RXIPV4(dev); - /* Handle ARP on input, - * then dispatch IPv4 packet to the network layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(dev); ipv4_input(dev); /* Check for a reply to the IPv4 packet */ diff --git a/arch/arm/src/rtl8720c/amebaz_netdev.c b/arch/arm/src/rtl8720c/amebaz_netdev.c index 6b8cd17efe1..2ef7e0aef03 100644 --- a/arch/arm/src/rtl8720c/amebaz_netdev.c +++ b/arch/arm/src/rtl8720c/amebaz_netdev.c @@ -84,20 +84,6 @@ static void amebaz_reply(struct amebaz_dev_s *priv) { if (priv->dev.d_len > 0) { -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } - -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } - -#endif amebaz_transmit(priv); } } @@ -143,7 +129,6 @@ void amebaz_netdev_notify_receive(struct amebaz_dev_s *priv, if (hdr->type == HTONS(ETHTYPE_IP)) { NETDEV_RXIPV4(&priv->dev); - arp_ipin(&priv->dev); ipv4_input(&priv->dev); amebaz_reply(priv); } diff --git a/arch/arm/src/s32k1xx/s32k1xx_enet.c b/arch/arm/src/s32k1xx/s32k1xx_enet.c index 80c5e11d5ba..301662cd40d 100644 --- a/arch/arm/src/s32k1xx/s32k1xx_enet.c +++ b/arch/arm/src/s32k1xx/s32k1xx_enet.c @@ -650,11 +650,8 @@ static inline void s32k1xx_dispatch(struct s32k1xx_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -663,21 +660,6 @@ static inline void s32k1xx_dispatch(struct s32k1xx_driver_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ s32k1xx_transmit(priv); @@ -703,21 +685,6 @@ static inline void s32k1xx_dispatch(struct s32k1xx_driver_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ s32k1xx_transmit(priv); diff --git a/arch/arm/src/s32k3xx/s32k3xx_emac.c b/arch/arm/src/s32k3xx/s32k3xx_emac.c index 26b849d2bd3..455f579f4ce 100644 --- a/arch/arm/src/s32k3xx/s32k3xx_emac.c +++ b/arch/arm/src/s32k3xx/s32k3xx_emac.c @@ -1343,11 +1343,8 @@ static void s32k3xx_receive(struct s32k3xx_driver_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should @@ -1357,21 +1354,6 @@ static void s32k3xx_receive(struct s32k3xx_driver_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ s32k3xx_transmit(priv); @@ -1395,21 +1377,6 @@ static void s32k3xx_receive(struct s32k3xx_driver_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ s32k3xx_transmit(priv); diff --git a/arch/arm/src/sam34/sam_emac.c b/arch/arm/src/sam34/sam_emac.c index f0cafc5762e..9509ad2cbc1 100644 --- a/arch/arm/src/sam34/sam_emac.c +++ b/arch/arm/src/sam34/sam_emac.c @@ -1181,11 +1181,8 @@ static void sam_receive(struct sam_emac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1194,21 +1191,6 @@ static void sam_receive(struct sam_emac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ sam_transmit(priv); @@ -1231,21 +1213,6 @@ static void sam_receive(struct sam_emac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ sam_transmit(priv); diff --git a/arch/arm/src/sama5/sam_emaca.c b/arch/arm/src/sama5/sam_emaca.c index 20d539cb32b..b95fa28c5f2 100644 --- a/arch/arm/src/sama5/sam_emaca.c +++ b/arch/arm/src/sama5/sam_emaca.c @@ -1244,11 +1244,8 @@ static void sam_receive(struct sam_emac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1257,21 +1254,6 @@ static void sam_receive(struct sam_emac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ sam_transmit(priv); @@ -1294,21 +1276,6 @@ static void sam_receive(struct sam_emac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ sam_transmit(priv); diff --git a/arch/arm/src/sama5/sam_emacb.c b/arch/arm/src/sama5/sam_emacb.c index 2b280b2f86f..7143d67f848 100644 --- a/arch/arm/src/sama5/sam_emacb.c +++ b/arch/arm/src/sama5/sam_emacb.c @@ -1555,11 +1555,8 @@ static void sam_receive(struct sam_emac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1568,21 +1565,6 @@ static void sam_receive(struct sam_emac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ sam_transmit(priv); @@ -1605,21 +1587,6 @@ static void sam_receive(struct sam_emac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ sam_transmit(priv); diff --git a/arch/arm/src/sama5/sam_gmac.c b/arch/arm/src/sama5/sam_gmac.c index cd6f01d83c7..f30904fc4be 100644 --- a/arch/arm/src/sama5/sam_gmac.c +++ b/arch/arm/src/sama5/sam_gmac.c @@ -1188,11 +1188,8 @@ static void sam_receive(struct sam_gmac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1202,21 +1199,6 @@ static void sam_receive(struct sam_gmac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ sam_transmit(priv); @@ -1240,21 +1222,6 @@ static void sam_receive(struct sam_gmac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ sam_transmit(priv); diff --git a/arch/arm/src/samd5e5/sam_gmac.c b/arch/arm/src/samd5e5/sam_gmac.c index 8ccc6914a96..be743c8e4b1 100644 --- a/arch/arm/src/samd5e5/sam_gmac.c +++ b/arch/arm/src/samd5e5/sam_gmac.c @@ -1173,11 +1173,8 @@ static void sam_receive(struct sam_gmac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1186,21 +1183,6 @@ static void sam_receive(struct sam_gmac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ sam_transmit(priv); @@ -1223,21 +1205,6 @@ static void sam_receive(struct sam_gmac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ sam_transmit(priv); diff --git a/arch/arm/src/samv7/sam_emac.c b/arch/arm/src/samv7/sam_emac.c index 820bb693d02..8f69c0c1fdd 100644 --- a/arch/arm/src/samv7/sam_emac.c +++ b/arch/arm/src/samv7/sam_emac.c @@ -1877,11 +1877,8 @@ static void sam_receive(struct sam_emac_s *priv, int qid) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1890,21 +1887,6 @@ static void sam_receive(struct sam_emac_s *priv, int qid) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ sam_transmit(priv, qid); @@ -1928,21 +1910,6 @@ static void sam_receive(struct sam_emac_s *priv, int qid) if (priv->dev.d_len > 0) { - /* 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 */ sam_transmit(priv, qid); diff --git a/arch/arm/src/stm32/stm32_eth.c b/arch/arm/src/stm32/stm32_eth.c index 885417430b0..d3c9058f83b 100644 --- a/arch/arm/src/stm32/stm32_eth.c +++ b/arch/arm/src/stm32/stm32_eth.c @@ -1725,11 +1725,8 @@ static void stm32_receive(struct stm32_ethmac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1738,21 +1735,6 @@ static void stm32_receive(struct stm32_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ stm32_transmit(priv); @@ -1775,21 +1757,6 @@ static void stm32_receive(struct stm32_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ stm32_transmit(priv); diff --git a/arch/arm/src/stm32f7/stm32_ethernet.c b/arch/arm/src/stm32f7/stm32_ethernet.c index 1be315e72c3..b1374e57bca 100644 --- a/arch/arm/src/stm32f7/stm32_ethernet.c +++ b/arch/arm/src/stm32f7/stm32_ethernet.c @@ -1806,11 +1806,8 @@ static void stm32_receive(struct stm32_ethmac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1819,21 +1816,6 @@ static void stm32_receive(struct stm32_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ stm32_transmit(priv); @@ -1856,21 +1838,6 @@ static void stm32_receive(struct stm32_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ stm32_transmit(priv); diff --git a/arch/arm/src/stm32h7/stm32_ethernet.c b/arch/arm/src/stm32h7/stm32_ethernet.c index 620983efc1a..512438e6270 100644 --- a/arch/arm/src/stm32h7/stm32_ethernet.c +++ b/arch/arm/src/stm32h7/stm32_ethernet.c @@ -1913,11 +1913,8 @@ static void stm32_receive(struct stm32_ethmac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should @@ -1927,21 +1924,6 @@ static void stm32_receive(struct stm32_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ stm32_transmit(priv); @@ -1965,21 +1947,6 @@ static void stm32_receive(struct stm32_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ stm32_transmit(priv); diff --git a/arch/arm/src/tiva/lm/lm3s_ethernet.c b/arch/arm/src/tiva/lm/lm3s_ethernet.c index f6fa7b254c3..d6a46a1f99c 100644 --- a/arch/arm/src/tiva/lm/lm3s_ethernet.c +++ b/arch/arm/src/tiva/lm/lm3s_ethernet.c @@ -762,11 +762,8 @@ static void tiva_receive(struct tiva_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(dev); ipv4_input(dev); /* If the above function invocation resulted in data that should be @@ -775,21 +772,6 @@ static void tiva_receive(struct tiva_driver_s *priv) if (dev->d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(dev->d_flags)) -#endif - { - arp_out(dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(dev); - } -#endif - /* And send the packet */ tiva_transmit(priv); @@ -805,7 +787,6 @@ static void tiva_receive(struct tiva_driver_s *priv) /* Give the IPv6 packet to the network layer */ - arp_ipin(dev); ipv6_input(dev); /* If the above function invocation resulted in data that should be @@ -813,22 +794,7 @@ static void tiva_receive(struct tiva_driver_s *priv) */ if (priv->dev.d_len > 0) - { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(dev->d_flags)) - { - arp_out(dev); - } - else -#endif -#ifdef CONFIG_NET_IPv6 - { - neighbor_out(dev); - } -#endif - + { /* And send the packet */ tiva_transmit(priv); diff --git a/arch/arm/src/tiva/tm4c/tm4c_ethernet.c b/arch/arm/src/tiva/tm4c/tm4c_ethernet.c index 9cc553bd8b2..d7a60d5509e 100644 --- a/arch/arm/src/tiva/tm4c/tm4c_ethernet.c +++ b/arch/arm/src/tiva/tm4c/tm4c_ethernet.c @@ -1699,11 +1699,8 @@ static void tiva_receive(struct tiva_ethmac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1712,21 +1709,6 @@ static void tiva_receive(struct tiva_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ tiva_transmit(priv); @@ -1749,21 +1731,6 @@ static void tiva_receive(struct tiva_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ tiva_transmit(priv); diff --git a/arch/hc/src/m9s12/m9s12_ethernet.c b/arch/hc/src/m9s12/m9s12_ethernet.c index a4761e095bf..f29507ac2f8 100644 --- a/arch/hc/src/m9s12/m9s12_ethernet.c +++ b/arch/hc/src/m9s12/m9s12_ethernet.c @@ -254,11 +254,8 @@ static void emac_receive(FAR struct emac_driver_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->d_dev); ipv4_input(&priv->d_dev); /* If the above function invocation resulted in data that should be @@ -267,21 +264,6 @@ static void emac_receive(FAR struct emac_driver_s *priv) if (priv->d_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->d_dev.d_flags)) -#endif - { - arp_out(&priv->d_dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->d_dev); - } -#endif - /* And send the packet */ emac_transmit(priv); @@ -304,21 +286,6 @@ static void emac_receive(FAR struct emac_driver_s *priv) if (priv->d_dev.d_len > 0) { - /* 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 */ emac_transmit(priv); diff --git a/arch/mips/src/pic32mx/pic32mx_ethernet.c b/arch/mips/src/pic32mx/pic32mx_ethernet.c index 66053d521ce..91dd4ed651e 100644 --- a/arch/mips/src/pic32mx/pic32mx_ethernet.c +++ b/arch/mips/src/pic32mx/pic32mx_ethernet.c @@ -1383,11 +1383,8 @@ static void pic32mx_rxdone(struct pic32mx_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->pd_dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->pd_dev); ipv4_input(&priv->pd_dev); /* If the above function invocation resulted in data that @@ -1397,24 +1394,9 @@ static void pic32mx_rxdone(struct pic32mx_driver_s *priv) if (priv->pd_dev.d_len > 0) { - /* Update Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->pd_dev.d_flags)) -#endif - { - arp_out(&priv->pd_dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->pd_dev); - } -#endif - /* And send the packet */ - pic32mx_response(priv); + pic32mx_response(priv); } } else @@ -1436,21 +1418,6 @@ static void pic32mx_rxdone(struct pic32mx_driver_s *priv) if (priv->pd_dev.d_len > 0) { - /* Update Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(priv->pd_dev.d_flags)) - { - arp_out(&priv->pd_dev); - } - else -#endif -#ifdef CONFIG_NET_IPv6 - { - neighbor_out(&priv->pd_dev); - } -#endif - /* And send the packet */ pic32mx_response(priv); diff --git a/arch/mips/src/pic32mz/pic32mz_ethernet.c b/arch/mips/src/pic32mz/pic32mz_ethernet.c index 08265311f04..2f66188fb88 100644 --- a/arch/mips/src/pic32mz/pic32mz_ethernet.c +++ b/arch/mips/src/pic32mz/pic32mz_ethernet.c @@ -1494,11 +1494,8 @@ static void pic32mz_rxdone(struct pic32mz_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->pd_dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->pd_dev); ipv4_input(&priv->pd_dev); /* If the above function invocation resulted in data that @@ -1508,23 +1505,6 @@ static void pic32mz_rxdone(struct pic32mz_driver_s *priv) if (priv->pd_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC - * address - */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->pd_dev.d_flags)) -#endif - { - arp_out(&priv->pd_dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->pd_dev); - } -#endif - /* And send the packet */ pic32mz_response(priv); @@ -1549,23 +1529,6 @@ static void pic32mz_rxdone(struct pic32mz_driver_s *priv) if (priv->pd_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC - * address - */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(priv->pd_dev.d_flags)) - { - arp_out(&priv->pd_dev); - } - else -#endif -#ifdef CONFIG_NET_IPv6 - { - neighbor_out(&priv->pd_dev); - } -#endif - /* And send the packet */ pic32mz_response(priv); diff --git a/arch/misoc/src/common/misoc_net.c b/arch/misoc/src/common/misoc_net.c index 7755bc2dfe2..f75d6074e79 100644 --- a/arch/misoc/src/common/misoc_net.c +++ b/arch/misoc/src/common/misoc_net.c @@ -370,11 +370,8 @@ static void misoc_net_receive(struct misoc_net_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->misoc_net_dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->misoc_net_dev); ipv4_input(&priv->misoc_net_dev); /* If the above function invocation resulted in data that should be @@ -383,21 +380,6 @@ static void misoc_net_receive(struct misoc_net_driver_s *priv) if (priv->misoc_net_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->misoc_net_dev.d_flags)) -#endif - { - arp_out(&priv->misoc_net_dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&kel->misoc_net_dev); - } -#endif - /* And send the packet */ misoc_net_transmit(priv); @@ -421,21 +403,6 @@ static void misoc_net_receive(struct misoc_net_driver_s *priv) if (priv->misoc_net_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(priv->misoc_net_dev.d_flags)) - { - arp_out(&priv->misoc_net_dev); - } - else -#endif -#ifdef CONFIG_NET_IPv6 - { - neighbor_out(&priv->misoc_net_dev); - } -#endif - /* And send the packet */ misoc_net_transmit(priv); diff --git a/arch/renesas/src/rx65n/rx65n_eth.c b/arch/renesas/src/rx65n/rx65n_eth.c index f58a016b257..5293d5faaed 100644 --- a/arch/renesas/src/rx65n/rx65n_eth.c +++ b/arch/renesas/src/rx65n/rx65n_eth.c @@ -1516,17 +1516,14 @@ static void rx65n_receive(FAR struct rx65n_ethmac_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ /* Increment statistics */ #if defined(CONFIG_NETDEV_STATISTICS) - (priv->dev.d_statistics.rx_ipv4)++; + (priv->dev.d_statistics.rx_ipv4)++; #endif - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data @@ -1537,21 +1534,6 @@ static void rx65n_receive(FAR struct rx65n_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ rx65n_transmit(priv); @@ -1575,21 +1557,6 @@ static void rx65n_receive(FAR struct rx65n_ethmac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ rx65n_transmit(priv); diff --git a/arch/risc-v/src/bl602/bl602_netdev.c b/arch/risc-v/src/bl602/bl602_netdev.c index a5795559df4..409fbfbbecd 100644 --- a/arch/risc-v/src/bl602/bl602_netdev.c +++ b/arch/risc-v/src/bl602/bl602_netdev.c @@ -419,30 +419,6 @@ static void bl602_net_reply(struct bl602_net_driver_s *priv) if (priv->net_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 -#ifdef CONFIG_NET_IPv6 - /* Check for an outgoing IPv4 packet */ - - if (IFF_IS_IPv4(priv->net_dev.d_flags)) -#endif - { - arp_out(&priv->net_dev); - } -#endif - -#ifdef CONFIG_NET_IPv6 -#ifdef CONFIG_NET_IPv4 - /* Otherwise, it must be an outgoing IPv6 packet */ - - else -#endif - { - neighbor_out(&priv->net_dev); - } -#endif - /* alloc tx buffer and copy to it */ tx_p = bl602_netdev_alloc_txbuf(); @@ -519,11 +495,8 @@ static void bl602_net_receive(struct bl602_net_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->net_dev); - /* Handle ARP on input, then dispatch IPv4 packet to the network - * layer. - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->net_dev); ipv4_input(&priv->net_dev); /* Check for a reply to the IPv4 packet */ diff --git a/arch/risc-v/src/esp32c3/esp32c3_wlan.c b/arch/risc-v/src/esp32c3/esp32c3_wlan.c index 9c24a26b859..2858d000c0e 100644 --- a/arch/risc-v/src/esp32c3/esp32c3_wlan.c +++ b/arch/risc-v/src/esp32c3/esp32c3_wlan.c @@ -720,11 +720,8 @@ static void wlan_rxpoll(void *arg) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data @@ -734,21 +731,6 @@ static void wlan_rxpoll(void *arg) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ wlan_cache_txpkt_tail(priv); @@ -772,21 +754,6 @@ static void wlan_rxpoll(void *arg) if (priv->dev.d_len > 0) { - /* 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 */ wlan_cache_txpkt_tail(priv); diff --git a/arch/risc-v/src/litex/litex_emac.c b/arch/risc-v/src/litex/litex_emac.c index 6d1d6865af0..27ed8ea0796 100644 --- a/arch/risc-v/src/litex/litex_emac.c +++ b/arch/risc-v/src/litex/litex_emac.c @@ -568,11 +568,8 @@ static void litex_receive(struct litex_emac_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -581,21 +578,6 @@ static void litex_receive(struct litex_emac_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ litex_transmit(priv); @@ -619,21 +601,6 @@ static void litex_receive(struct litex_emac_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ litex_transmit(priv); diff --git a/arch/risc-v/src/mpfs/mpfs_ethernet.c b/arch/risc-v/src/mpfs/mpfs_ethernet.c index 5e17e7c5b5d..63785214868 100644 --- a/arch/risc-v/src/mpfs/mpfs_ethernet.c +++ b/arch/risc-v/src/mpfs/mpfs_ethernet.c @@ -835,11 +835,8 @@ static void mpfs_receive(struct mpfs_ethmac_s *priv, unsigned int queue) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -849,21 +846,6 @@ static void mpfs_receive(struct mpfs_ethmac_s *priv, unsigned int queue) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - - #ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) - #endif - { - arp_out(&priv->dev); - } - #ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } - #endif - /* And send the packet */ mpfs_transmit(priv, queue); @@ -888,19 +870,6 @@ static void mpfs_receive(struct mpfs_ethmac_s *priv, unsigned int queue) if (priv->dev.d_len > 0) { - /* 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 - { - neighbor_out(&priv->dev); - } - /* And send the packet */ mpfs_transmit(priv, queue); diff --git a/arch/sim/src/sim/sim_netdriver.c b/arch/sim/src/sim/sim_netdriver.c index dc85e4a1397..d98c6fa99b7 100644 --- a/arch/sim/src/sim/sim_netdriver.c +++ b/arch/sim/src/sim/sim_netdriver.c @@ -107,28 +107,6 @@ static void netdriver_reply(struct net_driver_s *dev) if (dev->d_len > 0) { - /* Look up the destination MAC address and add it to the Ethernet - * header. - */ - -#ifdef CONFIG_NET_IPv4 -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(dev->d_flags)) -#endif - { - arp_out(dev); - } -#endif /* CONFIG_NET_IPv4 */ - -#ifdef CONFIG_NET_IPv6 -#ifdef CONFIG_NET_IPv4 - else -#endif - { - neighbor_out(dev); - } -#endif /* CONFIG_NET_IPv6 */ - /* Send the packet */ NETDEV_TXPACKETS(dev); @@ -189,11 +167,8 @@ static void netdriver_recv_work(void *arg) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(dev); - /* Handle ARP on input then give the IPv4 packet to - * the network layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(dev); ipv4_input(dev); /* Check for a reply to the IPv4 packet */ diff --git a/arch/xtensa/src/esp32/esp32_emac.c b/arch/xtensa/src/esp32/esp32_emac.c index a5ed30d60ad..5dc17ed8bdc 100644 --- a/arch/xtensa/src/esp32/esp32_emac.c +++ b/arch/xtensa/src/esp32/esp32_emac.c @@ -1370,11 +1370,8 @@ static void emac_rx_interrupt_work(void *arg) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1383,21 +1380,6 @@ static void emac_rx_interrupt_work(void *arg) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ emac_transmit(priv); @@ -1420,21 +1402,6 @@ static void emac_rx_interrupt_work(void *arg) if (priv->dev.d_len > 0) { - /* 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 */ emac_transmit(priv); diff --git a/arch/xtensa/src/esp32/esp32_wlan.c b/arch/xtensa/src/esp32/esp32_wlan.c index f279051a1ee..16d309e3615 100644 --- a/arch/xtensa/src/esp32/esp32_wlan.c +++ b/arch/xtensa/src/esp32/esp32_wlan.c @@ -717,11 +717,8 @@ static void wlan_rxpoll(void *arg) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data @@ -731,21 +728,6 @@ static void wlan_rxpoll(void *arg) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ wlan_cache_txpkt_tail(priv); @@ -769,21 +751,6 @@ static void wlan_rxpoll(void *arg) if (priv->dev.d_len > 0) { - /* 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 */ wlan_cache_txpkt_tail(priv); diff --git a/arch/z80/src/ez80/ez80_emac.c b/arch/z80/src/ez80/ez80_emac.c index 4742e52cc20..9a07cfd40fd 100644 --- a/arch/z80/src/ez80/ez80_emac.c +++ b/arch/z80/src/ez80/ez80_emac.c @@ -1365,12 +1365,9 @@ static int ez80emac_receive(FAR struct ez80emac_driver_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ EMAC_STAT(priv, rx_ip); - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1380,21 +1377,6 @@ static int ez80emac_receive(FAR struct ez80emac_driver_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ ez80emac_transmit(priv); @@ -1419,21 +1401,6 @@ static int ez80emac_receive(FAR struct ez80emac_driver_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ ez80emac_transmit(priv); diff --git a/drivers/net/dm90x0.c b/drivers/net/dm90x0.c index 1af51eabdf1..16a74901b86 100644 --- a/drivers/net/dm90x0.c +++ b/drivers/net/dm90x0.c @@ -901,11 +901,8 @@ static void dm9x_receive(FAR struct dm9x_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->dm_dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dm_dev); ipv4_input(&priv->dm_dev); /* If the above function invocation resulted in data that @@ -915,21 +912,6 @@ static void dm9x_receive(FAR struct dm9x_driver_s *priv) if (priv->dm_dev.d_len > 0) { - /* Update Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dm_dev.d_flags)) -#endif - { - arp_out(&priv->dm_dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dm_dev); - } -#endif - /* And send the packet */ dm9x_transmit(priv); @@ -954,24 +936,9 @@ static void dm9x_receive(FAR struct dm9x_driver_s *priv) if (priv->dm_dev.d_len > 0) { - /* Update Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(priv->dm_dev.d_flags)) - { - arp_out(&priv->dm_dev); - } - else -#endif -#ifdef CONFIG_NET_IPv6 - { - neighbor_out(&priv->dm_dev); - } -#endif - /* And send the packet */ - dm9x_transmit(priv); + dm9x_transmit(priv); } } else diff --git a/drivers/net/enc28j60.c b/drivers/net/enc28j60.c index 65a276346fb..9d656f9a601 100644 --- a/drivers/net/enc28j60.c +++ b/drivers/net/enc28j60.c @@ -1345,11 +1345,8 @@ static void enc_rxdispatch(FAR struct enc_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* If the above function invocation resulted in data that should be @@ -1358,21 +1355,6 @@ static void enc_rxdispatch(FAR struct enc_driver_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ enc_transmit(priv); @@ -1396,21 +1378,6 @@ static void enc_rxdispatch(FAR struct enc_driver_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ enc_transmit(priv); diff --git a/drivers/net/encx24j600.c b/drivers/net/encx24j600.c index 9a4dbcabfff..b17db6631ce 100644 --- a/drivers/net/encx24j600.c +++ b/drivers/net/encx24j600.c @@ -1432,11 +1432,8 @@ static void enc_rxdispatch(FAR struct enc_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); /* Free the packet */ @@ -1450,21 +1447,6 @@ static void enc_rxdispatch(FAR struct enc_driver_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ enc_txenqueue(priv); @@ -1493,21 +1475,6 @@ static void enc_rxdispatch(FAR struct enc_driver_s *priv) if (priv->dev.d_len > 0) { - /* 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 */ enc_txenqueue(priv); diff --git a/drivers/net/ftmac100.c b/drivers/net/ftmac100.c index 5cd26be1d5e..d19d93d6cca 100644 --- a/drivers/net/ftmac100.c +++ b/drivers/net/ftmac100.c @@ -651,11 +651,8 @@ static void ftmac100_receive(FAR struct ftmac100_driver_s *priv) { ninfo("IPv4 frame\n"); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->ft_dev); ipv4_input(&priv->ft_dev); /* If the above function invocation resulted in data that should be @@ -665,21 +662,6 @@ static void ftmac100_receive(FAR struct ftmac100_driver_s *priv) if (priv->ft_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->ft_dev.d_flags)) -#endif - { - arp_out(&priv->ft_dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->ft_dev); - } -#endif - /* And send the packet */ ftmac100_transmit(priv); @@ -703,21 +685,6 @@ static void ftmac100_receive(FAR struct ftmac100_driver_s *priv) if (priv->ft_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(priv->ft_dev.d_flags)) - { - arp_out(&priv->ft_dev); - } - else -#endif -#ifdef CONFIG_NET_IPv6 - { - neighbor_out(&priv->ft_dev); - } -#endif - /* And send the packet */ ftmac100_transmit(priv); diff --git a/drivers/net/lan91c111.c b/drivers/net/lan91c111.c index fcf1499be37..441277db459 100644 --- a/drivers/net/lan91c111.c +++ b/drivers/net/lan91c111.c @@ -534,22 +534,6 @@ static void lan91c111_reply(FAR struct net_driver_s *dev) if (dev->d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(dev->d_flags)) - { - arp_out(dev); - } -#endif - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv6(dev->d_flags)) - { - neighbor_out(dev); - } -#endif - /* And send the packet */ lan91c111_transmit(dev); @@ -645,11 +629,8 @@ static void lan91c111_receive(FAR struct net_driver_s *dev) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(dev); - /* Handle ARP on input, then dispatch IPv4 packet to the network - * layer. - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(dev); ipv4_input(dev); /* Check for a reply to the IPv4 packet */ diff --git a/drivers/net/rpmsgdrv.c b/drivers/net/rpmsgdrv.c index 0595776d51f..46fe044f11e 100644 --- a/drivers/net/rpmsgdrv.c +++ b/drivers/net/rpmsgdrv.c @@ -300,22 +300,6 @@ static void net_rpmsg_drv_reply(FAR struct net_driver_s *dev) if (dev->d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(dev->d_flags)) - { - arp_out(dev); - } -#endif - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv6(dev->d_flags)) - { - neighbor_out(dev); - } -#endif - /* And send the packet */ net_rpmsg_drv_transmit(dev, false); @@ -520,11 +504,8 @@ static int net_rpmsg_drv_transfer_handler(FAR struct rpmsg_endpoint *ept, ninfo("IPv4 frame\n"); NETDEV_RXIPV4(dev); - /* Handle ARP on input, then dispatch IPv4 packet to the network - * layer. - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(dev); ipv4_input(dev); /* Check for a reply to the IPv4 packet */ diff --git a/drivers/net/skeleton.c b/drivers/net/skeleton.c index e9387180b05..949693c72d6 100644 --- a/drivers/net/skeleton.c +++ b/drivers/net/skeleton.c @@ -293,30 +293,6 @@ static void skel_reply(struct skel_driver_s *priv) if (priv->sk_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 -#ifdef CONFIG_NET_IPv6 - /* Check for an outgoing IPv4 packet */ - - if (IFF_IS_IPv4(priv->sk_dev.d_flags)) -#endif - { - arp_out(&priv->sk_dev); - } -#endif - -#ifdef CONFIG_NET_IPv6 -#ifdef CONFIG_NET_IPv4 - /* Otherwise, it must be an outgoing IPv6 packet */ - - else -#endif - { - neighbor_out(&priv->sk_dev); - } -#endif - /* And send the packet */ skel_transmit(priv); @@ -368,11 +344,8 @@ static void skel_receive(FAR struct skel_driver_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->sk_dev); - /* Handle ARP on input, then dispatch IPv4 packet to the network - * layer. - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->sk_dev); ipv4_input(&priv->sk_dev); /* Check for a reply to the IPv4 packet */ diff --git a/drivers/net/tun.c b/drivers/net/tun.c index c0935a77ee8..e4459069381 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -474,9 +474,8 @@ static void tun_net_receive_tap(FAR struct tun_device_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->dev); - /* Give the IPv4 packet to the network layer. */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->dev); ipv4_input(&priv->dev); } else @@ -523,21 +522,6 @@ static void tun_net_receive_tap(FAR struct tun_device_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ priv->write_d_len = priv->dev.d_len; diff --git a/drivers/net/w5500.c b/drivers/net/w5500.c index 6d659d8319a..74b0f4366eb 100644 --- a/drivers/net/w5500.c +++ b/drivers/net/w5500.c @@ -1224,22 +1224,6 @@ static void w5500_reply(FAR struct w5500_driver_s *self) if (self->w_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(self->w_dev.d_flags)) - { - arp_out(&self->w_dev); - } -#endif - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv6(self->w_dev.d_flags)) - { - neighbor_out(&self->w_dev); - } -#endif - /* And send the packet */ w5500_transmit(self); @@ -1389,11 +1373,8 @@ static void w5500_receive(FAR struct w5500_driver_s *self) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&self->w_dev); - /* Handle ARP on input, then dispatch IPv4 packet to the network - * layer. - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&self->w_dev); ipv4_input(&self->w_dev); /* Check for a reply to the IPv4 packet */ diff --git a/drivers/usbdev/cdcecm.c b/drivers/usbdev/cdcecm.c index 7bc5b4e9ec2..3578dc8323f 100644 --- a/drivers/usbdev/cdcecm.c +++ b/drivers/usbdev/cdcecm.c @@ -378,30 +378,6 @@ static void cdcecm_reply(struct cdcecm_driver_s *priv) if (priv->dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 -#ifdef CONFIG_NET_IPv6 - /* Check for an outgoing IPv4 packet */ - - if (IFF_IS_IPv4(priv->dev.d_flags)) -#endif - { - arp_out(&priv->dev); - } -#endif - -#ifdef CONFIG_NET_IPv6 -#ifdef CONFIG_NET_IPv4 - /* Otherwise, it must be an outgoing IPv6 packet */ - - else -#endif - { - neighbor_out(&priv->dev); - } -#endif - /* And send the packet */ cdcecm_transmit(priv); @@ -454,11 +430,8 @@ static void cdcecm_receive(FAR struct cdcecm_driver_s *self) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&self->dev); - /* Handle ARP on input, then dispatch IPv4 packet to the network - * layer. - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&self->dev); ipv4_input(&self->dev); /* Check for a reply to the IPv4 packet */ diff --git a/drivers/usbdev/rndis.c b/drivers/usbdev/rndis.c index 5b2775ab10a..fb2e317f223 100644 --- a/drivers/usbdev/rndis.c +++ b/drivers/usbdev/rndis.c @@ -868,30 +868,12 @@ static void rndis_rxdispatch(FAR void *arg) { NETDEV_RXIPV4(&priv->netdev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->netdev); ipv4_input(&priv->netdev); if (priv->netdev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->netdev.d_flags)) -#endif - { - arp_out(&priv->netdev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&priv->netdev); - } -#endif - /* And send the packet */ rndis_transmit(priv); @@ -906,26 +888,10 @@ static void rndis_rxdispatch(FAR void *arg) /* Give the IPv6 packet to the network layer */ - arp_ipin(&priv->netdev); ipv6_input(&priv->netdev); if (priv->netdev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(priv->netdev.d_flags)) - { - arp_out(&priv->netdev); - } - else -#endif -#ifdef CONFIG_NET_IPv6 - { - neighbor_out(&priv->netdev); - } -#endif - /* And send the packet */ rndis_transmit(priv); diff --git a/drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c b/drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c index e5e4b1ff312..8fe9b143ff6 100644 --- a/drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c +++ b/drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c @@ -286,11 +286,8 @@ static void bcmf_receive(FAR struct bcmf_dev_s *priv) ninfo("IPv4 frame\n"); NETDEV_RXIPV4(&priv->bc_dev); - /* Handle ARP on input then give the IPv4 packet to the network - * layer - */ + /* Receive an IPv4 packet from the network device */ - arp_ipin(&priv->bc_dev); ipv4_input(&priv->bc_dev); /* If the above function invocation resulted in data that should be @@ -299,21 +296,6 @@ static void bcmf_receive(FAR struct bcmf_dev_s *priv) if (priv->bc_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv6 - if (IFF_IS_IPv4(priv->bc_dev.d_flags)) -#endif - { - arp_out(&priv->bc_dev); - } -#ifdef CONFIG_NET_IPv6 - else - { - neighbor_out(&kel->bc_dev); - } -#endif - /* And send the packet */ bcmf_transmit(priv, frame); @@ -343,21 +325,6 @@ static void bcmf_receive(FAR struct bcmf_dev_s *priv) if (priv->bc_dev.d_len > 0) { - /* Update the Ethernet header with the correct MAC address */ - -#ifdef CONFIG_NET_IPv4 - if (IFF_IS_IPv4(priv->bc_dev.d_flags)) - { - arp_out(&priv->bc_dev); - } - else -#endif -#ifdef CONFIG_NET_IPv6 - { - neighbor_out(&priv->bc_dev); - } -#endif - /* And send the packet */ bcmf_transmit(priv, frame); diff --git a/net/devif/ipv4_input.c b/net/devif/ipv4_input.c index d492fff50d8..8a6a82c902f 100644 --- a/net/devif/ipv4_input.c +++ b/net/devif/ipv4_input.c @@ -92,6 +92,7 @@ #include #include #include +#include #include #include "inet/inet.h" @@ -137,6 +138,11 @@ int ipv4_input(FAR struct net_driver_s *dev) in_addr_t destipaddr; uint16_t llhdrlen; uint16_t totlen; + int ret = OK; + + /* Handle ARP on input then give the IPv4 packet to the network layer */ + + arp_ipin(dev); /* This is where the input processing starts. */ @@ -236,7 +242,8 @@ int ipv4_input(FAR struct net_driver_s *dev) ipv4_forward_broadcast(dev, ipv4); #endif - return udp_ipv4_input(dev); + ret = udp_ipv4_input(dev); + goto done; } else #endif @@ -256,7 +263,8 @@ int ipv4_input(FAR struct net_driver_s *dev) ipv4_forward_broadcast(dev, ipv4); #endif - return udp_ipv4_input(dev); + ret = udp_ipv4_input(dev); + goto done; } else #endif @@ -296,7 +304,7 @@ int ipv4_input(FAR struct net_driver_s *dev) * it was received on. */ - return OK; + goto done; } else #endif @@ -394,9 +402,15 @@ int ipv4_input(FAR struct net_driver_s *dev) goto drop; } +done: + if (dev->d_len > 0) + { + arp_out(dev); + } + /* Return and let the caller do any pending transmission. */ - return OK; + return ret; /* Drop the packet. NOTE that OK is returned meaning that the * packet has been processed (although processed unsuccessfully). diff --git a/net/devif/ipv6_input.c b/net/devif/ipv6_input.c index 33ebba3d76a..fe54dd3d5de 100644 --- a/net/devif/ipv6_input.c +++ b/net/devif/ipv6_input.c @@ -372,7 +372,7 @@ int ipv6_input(FAR struct net_driver_s *dev) * it was received on. */ - return OK; + goto done; } else #endif @@ -505,6 +505,14 @@ int ipv6_input(FAR struct net_driver_s *dev) goto drop; } +#ifdef CONFIG_NET_IPFORWARD +done: +#endif + if (dev->d_len > 0) + { + neighbor_out(dev); + } + /* Return and let the caller do any pending transmission. */ return OK;