Refactor tcpip.c packet input

The UIP_CONF_FORWARD is now handled in a better way that the general structure
of packet_input can be clearer seen.
This commit is contained in:
Valentin Sawadski 2015-09-14 15:11:00 +02:00
parent 552408b241
commit 43770a934d

View File

@ -185,30 +185,17 @@ check_for_tcp_syn(void)
static void static void
packet_input(void) packet_input(void)
{ {
#if UIP_CONF_IP_FORWARD
if(uip_len > 0) { if(uip_len > 0) {
#if UIP_CONF_IP_FORWARD
tcpip_is_forwarding = 1; tcpip_is_forwarding = 1;
if(uip_fw_forward() == UIP_FW_LOCAL) { if(uip_fw_forward() != UIP_FW_LOCAL) {
tcpip_is_forwarding = 0; tcpip_is_forwarding = 0;
check_for_tcp_syn(); return;
uip_input();
if(uip_len > 0) {
#if UIP_CONF_TCP_SPLIT
uip_split_output();
#else /* UIP_CONF_TCP_SPLIT */
#if NETSTACK_CONF_WITH_IPV6
tcpip_ipv6_output();
#else
PRINTF("tcpip packet_input forward output len %d\n", uip_len);
tcpip_output();
#endif
#endif /* UIP_CONF_TCP_SPLIT */
}
} }
tcpip_is_forwarding = 0; tcpip_is_forwarding = 0;
} #endif /* UIP_CONF_IP_FORWARD */
#else /* UIP_CONF_IP_FORWARD */
if(uip_len > 0) {
check_for_tcp_syn(); check_for_tcp_syn();
uip_input(); uip_input();
if(uip_len > 0) { if(uip_len > 0) {
@ -217,14 +204,13 @@ packet_input(void)
#else /* UIP_CONF_TCP_SPLIT */ #else /* UIP_CONF_TCP_SPLIT */
#if NETSTACK_CONF_WITH_IPV6 #if NETSTACK_CONF_WITH_IPV6
tcpip_ipv6_output(); tcpip_ipv6_output();
#else #else /* NETSTACK_CONF_WITH_IPV6 */
PRINTF("tcpip packet_input output len %d\n", uip_len); PRINTF("tcpip packet_input output len %d\n", uip_len);
tcpip_output(); tcpip_output();
#endif #endif /* NETSTACK_CONF_WITH_IPV6 */
#endif /* UIP_CONF_TCP_SPLIT */ #endif /* UIP_CONF_TCP_SPLIT */
} }
} }
#endif /* UIP_CONF_IP_FORWARD */
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
#if UIP_TCP #if UIP_TCP