1 /* 2 * Copyright (c) 2022 HPMicro 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 #ifndef HPMICRO_LWIPOPTS_H 16 #define HPMICRO_LWIPOPTS_H 17 18 #include "lwip/lwipopts.h" 19 20 #include "arch/cc.h" 21 22 #ifdef LWIP_LOGGER 23 #undef LWIP_LOGGER 24 #define LWIP_LOGGER(msg) printf("%s",msg) 25 #endif 26 27 28 29 #undef MEM_SIZE 30 #define MEM_SIZE 128*1024 31 32 #undef ETH_PAD_SIZE 33 #define ETH_PAD_SIZE 0 34 35 /* 36 -------------------------------------- 37 ---------- Checksum options ---------- 38 -------------------------------------- 39 */ 40 #undef LWIP_CHECKSUM_ON_COPY 41 #define LWIP_CHECKSUM_ON_COPY 0 42 43 #undef TCP_WND 44 #define TCP_WND 16384 45 46 #undef TCPIP_THREAD_STACKSIZE 47 #define TCPIP_THREAD_STACKSIZE 4096 48 49 #undef LWIP_CONFIG_NUM_SOCKETS 50 #define LWIP_CONFIG_NUM_SOCKETS 16 51 52 #undef MEMP_MEM_MALLOC 53 #define MEMP_MEM_MALLOC 0 54 55 #undef LWIP_TCPIP_CORE_LOCKING_INPUT 56 #define LWIP_TCPIP_CORE_LOCKING_INPUT 1 57 58 /* 59 Some MCUs allow computing and verifying the IP, UDP, TCP and ICMP checksums by hardware: 60 - To use this feature let the following define uncommented. 61 - To disable it and process by CPU comment the the checksum. 62 */ 63 64 #define CHECKSUM_BY_HARDWARE 1 65 #if CHECKSUM_BY_HARDWARE 66 /* CHECKSUM_GEN_IP==0: Generate checksums by hardware for outgoing IP packets.*/ 67 #define CHECKSUM_GEN_IP 0 68 /* CHECKSUM_GEN_UDP==0: Generate checksums by hardware for outgoing UDP packets.*/ 69 #define CHECKSUM_GEN_UDP 0 70 /* CHECKSUM_GEN_TCP==0: Generate checksums by hardware for outgoing TCP packets.*/ 71 #define CHECKSUM_GEN_TCP 0 72 /* CHECKSUM_CHECK_IP==0: Check checksums by hardware for incoming IP packets.*/ 73 #define CHECKSUM_CHECK_IP 0 74 /* CHECKSUM_CHECK_UDP==0: Check checksums by hardware for incoming UDP packets.*/ 75 #define CHECKSUM_CHECK_UDP 0 76 /* CHECKSUM_CHECK_TCP==0: Check checksums by hardware for incoming TCP packets.*/ 77 #define CHECKSUM_CHECK_TCP 0 78 /* CHECKSUM_CHECK_ICMP==0: Check checksums by hardware for incoming ICMP packets.*/ 79 #define CHECKSUM_GEN_ICMP 0 80 #else 81 /* CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.*/ 82 #define CHECKSUM_GEN_IP 1 83 /* CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.*/ 84 #define CHECKSUM_GEN_UDP 1 85 /* CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets.*/ 86 #define CHECKSUM_GEN_TCP 1 87 /* CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.*/ 88 #define CHECKSUM_CHECK_IP 1 89 /* CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.*/ 90 #define CHECKSUM_CHECK_UDP 1 91 /* CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets.*/ 92 #define CHECKSUM_CHECK_TCP 1 93 /* CHECKSUM_CHECK_ICMP==1: Check checksums by hardware for incoming ICMP packets.*/ 94 #define CHECKSUM_GEN_ICMP 1 95 #endif 96 97 #undef LWIP_DEBUG 98 #define LWIP_DEBUG 0 99 #if LWIP_DEBUG 100 #define ETHARP_DEBUG LWIP_DBG_ON 101 #define NETIF_DEBUG LWIP_DBG_ON 102 #define PBUF_DEBUG LWIP_DBG_OFF 103 #define API_LIB_DEBUG LWIP_DBG_OFF 104 #define API_MSG_DEBUG LWIP_DBG_OFF 105 #define SOCKETS_DEBUG LWIP_DBG_OFF 106 #define ICMP_DEBUG LWIP_DBG_OFF 107 #define IGMP_DEBUG LWIP_DBG_OFF 108 #define INET_DEBUG LWIP_DBG_OFF 109 #define IP_DEBUG LWIP_DBG_OFF 110 #define DRIVERIF_DEBUG LWIP_DBG_OFF 111 #define IP_REASS_DEBUG LWIP_DBG_OFF 112 #define RAW_DEBUG LWIP_DBG_OFF 113 #define MEM_DEBUG LWIP_DBG_OFF 114 #define MEMP_DEBUG LWIP_DBG_OFF 115 #define SYS_DEBUG LWIP_DBG_OFF 116 #define TIMERS_DEBUG LWIP_DBG_OFF 117 #define TCP_DEBUG LWIP_DBG_OFF 118 #define TCP_ERR_DEBUG LWIP_DBG_OFF 119 #define TCP_INPUT_DEBUG LWIP_DBG_OFF 120 #define TCP_FR_DEBUG LWIP_DBG_OFF 121 #define TCP_RTO_DEBUG LWIP_DBG_OFF 122 #define TCP_CWND_DEBUG LWIP_DBG_OFF 123 #define TCP_WND_DEBUG LWIP_DBG_OFF 124 #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF 125 #define TCP_RST_DEBUG LWIP_DBG_OFF 126 #define TCP_QLEN_DEBUG LWIP_DBG_OFF 127 #define TCP_SACK_DEBUG LWIP_DBG_OFF 128 #define TCP_TLP_DEBUG LWIP_DBG_OFF 129 #define UDP_DEBUG LWIP_DBG_OFF 130 #define TCPIP_DEBUG LWIP_DBG_OFF 131 #define SLIP_DEBUG LWIP_DBG_OFF 132 #define DHCP_DEBUG LWIP_DBG_OFF 133 #define AUTOIP_DEBUG LWIP_DBG_OFF 134 #define DNS_DEBUG LWIP_DBG_OFF 135 #define TFTP_DEBUG LWIP_DBG_OFF 136 #define SYS_ARCH_DEBUG LWIP_DBG_OFF 137 #define SNTP_DEBUG LWIP_DBG_OFF 138 #define IP6_DEBUG LWIP_DBG_OFF 139 #define DHCP6_DEBUG LWIP_DBG_OFF 140 #define DRV_STS_DEBUG LWIP_DBG_OFF 141 #endif 142 143 #endif 144 145