zephyr/subsys/net
Robert Lubos c479458392 net: arp: Fix ARP retransmission source address selection
There was a problem with source address selection for ARP
retransmissions, when an ARP entry was already pending. In such case,
the `entry` value passed to `arp_prepare()` is NULL, which in result
caused the `current_ip` variable being used as the source value. The
problem with this approach is, that the `current_ip` is only set in
IPv4 autoconf, the Ethernet L2 does not set this variable. In result,
every retransmission of an ARP packet was sent with unspecified source
address, preventing the response from being handled.

Fix this by partially restoring the behaviour of the ARP source address
assignment from before IPv4 autoconf was introduced. If the ARP is sent
by the IPv4 autoconf, use the `current_ip` value provided. If entry is
not set, use the source IPv4 address set in the actual data packet.
Otherwise, search for a source address on the interface corresponding to
the `entry`.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2021-11-11 19:19:40 -05:00
..
ip net/tcp: Rename TCP2 to TCP 2021-11-11 07:26:41 -05:00
l2 net: arp: Fix ARP retransmission source address selection 2021-11-11 19:19:40 -05:00
lib net: openthread: Fix for OT prompt in the Zephyr shell 2021-11-10 16:36:18 +02:00
buf.c net_buf_slist_{put|get}: make SMP safe 2021-09-28 11:37:56 +02:00
CMakeLists.txt
hostname.c net: hostname: Update unique hostname on link address change 2021-01-13 17:50:32 +02:00
Kconfig net/tcp: Rename TCP2 to TCP 2021-11-11 07:26:41 -05:00
Kconfig.hostname net: hostname: Update unique hostname on link address change 2021-01-13 17:50:32 +02:00
Kconfig.template.log_config.default.net
Kconfig.template.log_config.net