net/ip: do not drop the udp packet from IP layer

N/A

this change to support receive the udp data from the specified
port without obtaining the address.

e.g: disable the Bootstrap flag on dhcpc handshake

Reference:
RFC1542: Clarifications and Extensions for the Bootstrap Protocol.

Change-Id: I9e2c4d8223e3be62e1722d51bf5b2f8258bee307
Signed-off-by: chao.an <anchao@xiaomi.com>
This commit is contained in:
chao.an
2021-01-29 15:01:41 +08:00
committed by chao an
parent 5f59460834
commit 9dd135ff07
+13 -16
View File
@@ -409,22 +409,6 @@ int ipv6_input(FAR struct net_driver_s *dev)
* address by its IPv6 nexthdr field.
*/
}
/* In other cases, the device must be assigned a non-zero IP address
* (the all zero address is the "unspecified" address.
*/
else
#endif
#ifdef CONFIG_NET_ICMPv6
if (net_ipv6addr_cmp(dev->d_ipv6addr, g_ipv6_unspecaddr))
{
nwarn("WARNING: No IP address assigned\n");
goto drop;
}
/* Check if the packet is destined for out IP address */
else
#endif
{
@@ -449,6 +433,7 @@ int ipv6_input(FAR struct net_driver_s *dev)
}
else
#endif
if (nxthdr != IP_PROTO_UDP)
{
/* Not destined for us and not forwardable... drop the packet. */
@@ -457,6 +442,18 @@ int ipv6_input(FAR struct net_driver_s *dev)
}
}
}
#ifdef CONFIG_NET_ICMPv6
/* In other cases, the device must be assigned a non-zero IP address
* (the all zero address is the "unspecified" address.
*/
if (net_ipv6addr_cmp(dev->d_ipv6addr, g_ipv6_unspecaddr))
{
nwarn("WARNING: No IP address assigned\n");
goto drop;
}
#endif
/* Now process the incoming packet according to the protocol specified in
* the next header IPv6 field.