mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-12-28 09:19:53 +00:00
Fixed passing ip_input() to netif_add() for single-IP-version NO_SYS configurations
This commit is contained in:
parent
b85b554db1
commit
68a1ec2eb1
@ -349,13 +349,14 @@ return_noroute:
|
|||||||
}
|
}
|
||||||
#endif /* IP_FORWARD */
|
#endif /* IP_FORWARD */
|
||||||
|
|
||||||
#if LWIP_IPV6
|
|
||||||
/* If both IP versions are enabled, this function can dispatch packets to the correct one.
|
/* If both IP versions are enabled, this function can dispatch packets to the correct one.
|
||||||
* May be used as netif input function.
|
* If only IPv4 is enabled, this directly maps at ip4_input.
|
||||||
*/
|
* May be used as netif input function.
|
||||||
|
*/
|
||||||
err_t
|
err_t
|
||||||
ip_input(struct pbuf *p, struct netif *inp)
|
ip_input(struct pbuf *p, struct netif *inp)
|
||||||
{
|
{
|
||||||
|
#if LWIP_IPV6
|
||||||
if (p != NULL) {
|
if (p != NULL) {
|
||||||
if (IP_HDR_GET_VERSION(p->payload) == 6) {
|
if (IP_HDR_GET_VERSION(p->payload) == 6) {
|
||||||
return ip6_input(p, inp);
|
return ip6_input(p, inp);
|
||||||
@ -363,8 +364,10 @@ ip_input(struct pbuf *p, struct netif *inp)
|
|||||||
return ip4_input(p, inp);
|
return ip4_input(p, inp);
|
||||||
}
|
}
|
||||||
return ERR_VAL;
|
return ERR_VAL;
|
||||||
|
#else /* LWIP_IPV6 */
|
||||||
|
return ip4_input(p, inp);
|
||||||
|
#endif /* LWIP_IPV6 */
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function is called by the network interface device driver when
|
* This function is called by the network interface device driver when
|
||||||
|
@ -375,6 +375,17 @@ ip6_forward(struct pbuf *p, struct ip6_hdr *iphdr, struct netif *inp)
|
|||||||
}
|
}
|
||||||
#endif /* LWIP_IPV6_FORWARD */
|
#endif /* LWIP_IPV6_FORWARD */
|
||||||
|
|
||||||
|
#if !LWIP_IPV4
|
||||||
|
/* If both IP versions are enabled, this function can dispatch packets to the correct one.
|
||||||
|
* If only IPv6 is enabled, this directly maps at ip6_input.
|
||||||
|
* May be used as netif input function.
|
||||||
|
*/
|
||||||
|
err_t
|
||||||
|
ip_input(struct pbuf *p, struct netif *inp)
|
||||||
|
{
|
||||||
|
return ip6_input(p, inp);
|
||||||
|
}
|
||||||
|
#endif /* !LWIP_IPV4 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function is called by the network interface device driver when
|
* This function is called by the network interface device driver when
|
||||||
|
@ -267,7 +267,6 @@ extern struct ip_globals ip_data;
|
|||||||
ip6_2_ip(ip6_netif_get_local_ip(netif, ip_2_ip6(dest)), storage) : \
|
ip6_2_ip(ip6_netif_get_local_ip(netif, ip_2_ip6(dest)), storage) : \
|
||||||
ip4_2_ip(ip4_netif_get_local_ip(netif), storage))
|
ip4_2_ip(ip4_netif_get_local_ip(netif), storage))
|
||||||
#define ip_debug_print(is_ipv6, p) ((is_ipv6) ? ip6_debug_print(p) : ip4_debug_print(p))
|
#define ip_debug_print(is_ipv6, p) ((is_ipv6) ? ip6_debug_print(p) : ip4_debug_print(p))
|
||||||
err_t ip_input(struct pbuf *p, struct netif *inp);
|
|
||||||
#elif LWIP_IPV4 /* LWIP_IPV4 && LWIP_IPV6 */
|
#elif LWIP_IPV4 /* LWIP_IPV4 && LWIP_IPV6 */
|
||||||
#define ip_output(isipv6, p, src, dest, ttl, tos, proto) \
|
#define ip_output(isipv6, p, src, dest, ttl, tos, proto) \
|
||||||
ip4_output(p, src, dest, ttl, tos, proto)
|
ip4_output(p, src, dest, ttl, tos, proto)
|
||||||
@ -282,7 +281,6 @@ err_t ip_input(struct pbuf *p, struct netif *inp);
|
|||||||
#define ip_netif_get_local_ip(isipv6, netif, dest, storage) \
|
#define ip_netif_get_local_ip(isipv6, netif, dest, storage) \
|
||||||
ip4_netif_get_local_ip(netif)
|
ip4_netif_get_local_ip(netif)
|
||||||
#define ip_debug_print(is_ipv6, p) ip4_debug_print(p)
|
#define ip_debug_print(is_ipv6, p) ip4_debug_print(p)
|
||||||
#define ip_input(p, inp) ip4_input(p, inp)
|
|
||||||
#elif LWIP_IPV6 /* LWIP_IPV4 && LWIP_IPV6 */
|
#elif LWIP_IPV6 /* LWIP_IPV4 && LWIP_IPV6 */
|
||||||
#define ip_output(isipv6, p, src, dest, ttl, tos, proto) \
|
#define ip_output(isipv6, p, src, dest, ttl, tos, proto) \
|
||||||
ip6_output(p, src, dest, ttl, tos, proto)
|
ip6_output(p, src, dest, ttl, tos, proto)
|
||||||
@ -297,7 +295,6 @@ err_t ip_input(struct pbuf *p, struct netif *inp);
|
|||||||
#define ip_netif_get_local_ip(isipv6, netif, dest, storage) \
|
#define ip_netif_get_local_ip(isipv6, netif, dest, storage) \
|
||||||
ip6_netif_get_local_ip(netif, dest)
|
ip6_netif_get_local_ip(netif, dest)
|
||||||
#define ip_debug_print(is_ipv6, p) ip6_debug_print(p)
|
#define ip_debug_print(is_ipv6, p) ip6_debug_print(p)
|
||||||
#define ip_input(p, inp) ip6_input(p, inp)
|
|
||||||
#endif /* LWIP_IPV6 */
|
#endif /* LWIP_IPV6 */
|
||||||
|
|
||||||
#define ip_route_get_local_ip(isipv6, src, dest, netif, ipaddr, storage) do { \
|
#define ip_route_get_local_ip(isipv6, src, dest, netif, ipaddr, storage) do { \
|
||||||
@ -305,6 +302,8 @@ err_t ip_input(struct pbuf *p, struct netif *inp);
|
|||||||
(ipaddr) = ip_netif_get_local_ip(isipv6, netif, dest, storage); \
|
(ipaddr) = ip_netif_get_local_ip(isipv6, netif, dest, storage); \
|
||||||
}while(0)
|
}while(0)
|
||||||
|
|
||||||
|
err_t ip_input(struct pbuf *p, struct netif *inp);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user