diff --git a/uip/uip-fw.c b/uip/uip-fw.c index 4b669798..ddc9de64 100644 --- a/uip/uip-fw.c +++ b/uip/uip-fw.c @@ -64,6 +64,8 @@ #include "../rtl837x_common.h" +#if UIP_FORWARDING + /* * The list of registered network interfaces. */ @@ -535,3 +537,5 @@ uip_fw_periodic(void) } } /*------------------------------------------------------------------------------*/ + +#endif /* UIP_FORWARDING */ diff --git a/uip/uip-neighbor.c b/uip/uip-neighbor.c index 0795cef8..cc3ab994 100644 --- a/uip/uip-neighbor.c +++ b/uip/uip-neighbor.c @@ -43,6 +43,8 @@ #include "uip-neighbor.h" #include "../rtl837x_common.h" +#if UIP_CONF_IPV6 + #pragma codeseg BANK1 #pragma constseg BANK1 @@ -170,3 +172,5 @@ uip_neighbor_lookup(__xdata uip_ipaddr_t ipaddr) return NULL; } /*---------------------------------------------------------------------------*/ + +#endif /* UIP_CONF_IPV6 */ diff --git a/uip/uipopt.h b/uip/uipopt.h index 20aec637..620d6054 100644 --- a/uip/uipopt.h +++ b/uip/uipopt.h @@ -464,6 +464,20 @@ extern __xdata uint8_t uip_buf[UIP_CONF_BUFFER_SIZE+2]; #define UIP_BROADCAST UIP_CONF_BROADCAST #endif /* UIP_CONF_BROADCAST */ +/** + * Build the IP forwarding module. + * + * uip-fw.c forwards packets between several network interfaces. A + * single-interface device does not call it and should not pay for it. + * + * \hideinitializer + */ +#ifndef UIP_CONF_FORWARDING +#define UIP_FORWARDING 0 +#else /* UIP_CONF_FORWARDING */ +#define UIP_FORWARDING UIP_CONF_FORWARDING +#endif /* UIP_CONF_FORWARDING */ + /** * Print out a uIP log message. *