@@ -135,13 +135,19 @@ menu "LWIP"
135
135
136
136
config LWIP_MAX_SOCKETS
137
137
int "Max number of open sockets"
138
- range 1 16
138
+ range 1 253
139
139
default 10
140
140
help
141
+ The practical maximum limit is
142
+ determined by available heap memory at runtime.
143
+
141
144
Sockets take up a certain amount of memory, and allowing fewer
142
145
sockets to be open at the same time conserves memory. Specify
143
146
the maximum amount of sockets here. The valid value is from 1
144
- to 16.
147
+ to 253. If using value above 61, update CMakeLists defining
148
+ FD_SETSIZE to the number of sockets used plus the
149
+ expected open files (minimum of +3 for stdout, stderr and stdin).
150
+
145
151
146
152
config LWIP_USE_ONLY_LWIP_SELECT
147
153
bool "Support LWIP socket select() only (DEPRECATED)"
@@ -312,13 +318,29 @@ menu "LWIP"
312
318
Set TCPIP task receive mail box size. Generally bigger value means higher throughput
313
319
but more memory. The value should be bigger than UDP/TCP mail box size.
314
320
315
- config LWIP_DHCP_DOES_ARP_CHECK
316
- bool "DHCP: Perform ARP check on any offered address "
317
- default y
321
+ choice LWIP_DHCP_CHECKS_OFFERED_ADDRESS
322
+ prompt "Choose how DHCP validates offered IP "
323
+ default LWIP_DHCP_DOES_ARP_CHECK
318
324
depends on LWIP_IPV4
319
325
help
320
- Enabling this option performs a check (via ARP request) if the offered IP address
321
- is not already in use by another host on the network.
326
+ Choose the preferred way of DHCP client to check if the offered address
327
+ is available:
328
+ * Using Address Conflict Detection (ACD) module assures that the offered IP address
329
+ is properly probed and announced before binding in DHCP. This conforms to RFC5227,
330
+ but takes several seconds.
331
+ * Using ARP check, we only send two ARP requests to check for replies. This process
332
+ lasts 1 - 2 seconds.
333
+ * No conflict detection: We directly bind the offered address.
334
+
335
+ config LWIP_DHCP_DOES_ARP_CHECK
336
+ bool "DHCP provides simple ARP check"
337
+ depends on !LWIP_AUTOIP
338
+ config LWIP_DHCP_DOES_ACD_CHECK
339
+ bool "DHCP provides Address Conflict Detection (ACD)"
340
+ config LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP
341
+ bool "DHCP does not detect conflict on the offered IP"
342
+
343
+ endchoice
322
344
323
345
config LWIP_DHCP_DISABLE_CLIENT_ID
324
346
bool "DHCP: Disable Use of HW address as client identification"
@@ -411,6 +433,20 @@ menu "LWIP"
411
433
Enabling this option allows DHCP server to support temporary static ARP entries
412
434
for DHCP Client. This will help the DHCP server to send the DHCP OFFER and DHCP ACK using IP unicast.
413
435
436
+ config LWIP_DHCPS_ADD_DNS
437
+ bool "Always add DNS option in DHCP responses"
438
+ default y
439
+ depends on LWIP_DHCPS
440
+ help
441
+ This allows the DNS option to be optional in the DHCP offers,
442
+ depending on the server's runtime configuration.
443
+ When enabled, the DHCP server will always add the DNS option to DHCP responses.
444
+ If a DNS server is not explicitly configured, the server's IP address will be used
445
+ as the fallback for the DNS option.
446
+ When disabled, the DHCP server will only include the DNS option in responses
447
+ if a DNS server has been explicitly configured.
448
+ This option will be removed in IDF v6.x
449
+
414
450
endmenu # DHCPS
415
451
416
452
menuconfig LWIP_AUTOIP
@@ -708,8 +744,8 @@ menu "LWIP"
708
744
int "The maximum number of pbufs queued on OOSEQ per pcb"
709
745
depends on LWIP_TCP_QUEUE_OOSEQ
710
746
range 0 12
711
- default 4 if !SPIRAM_TRY_ALLOCATE_WIFI_LWIP
712
- default 0 if SPIRAM_TRY_ALLOCATE_WIFI_LWIP
747
+ default 4 if !( SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND)
748
+ default 0 if ( SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND)
713
749
help
714
750
If LWIP_TCP_OOSEQ_MAX_PBUFS = 0, TCP will not control the number of OOSEQ pbufs.
715
751
@@ -765,7 +801,7 @@ menu "LWIP"
765
801
766
802
config LWIP_WND_SCALE
767
803
bool "Support TCP window scale"
768
- depends on SPIRAM_TRY_ALLOCATE_WIFI_LWIP
804
+ depends on ( SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND)
769
805
default n
770
806
help
771
807
Enable this feature to support TCP window scaling.
@@ -876,13 +912,58 @@ menu "LWIP"
876
912
default 0x0 if LWIP_TCPIP_TASK_AFFINITY_CPU0
877
913
default 0x1 if LWIP_TCPIP_TASK_AFFINITY_CPU1
878
914
915
+ config LWIP_IPV6_MEMP_NUM_ND6_QUEUE
916
+ int "Max number of IPv6 packets to queue during MAC resolution"
917
+ depends on LWIP_IPV6
918
+ range 3 20
919
+ default 3
920
+ help
921
+ Config max number of IPv6 packets to queue during MAC resolution.
922
+
923
+ config LWIP_IPV6_ND6_NUM_NEIGHBORS
924
+ int "Max number of entries in IPv6 neighbor cache"
925
+ depends on LWIP_IPV6
926
+ range 3 10
927
+ default 5
928
+ help
929
+ Config max number of entries in IPv6 neighbor cache
930
+
931
+ config LWIP_IPV6_ND6_NUM_PREFIXES
932
+ int "Max number of entries in IPv6 on-link prefixes cache"
933
+ depends on LWIP_IPV6
934
+ default 5
935
+ help
936
+ Maximum number of entries in IPv6 on-link prefixes cache
937
+
938
+ config LWIP_IPV6_ND6_NUM_ROUTERS
939
+ int "Max number of entries in IPv6 default routers cache"
940
+ depends on LWIP_IPV6
941
+ default 3
942
+ help
943
+ Maximum number of entries in IPv6 default routers cache
944
+
945
+ config LWIP_IPV6_ND6_NUM_DESTINATIONS
946
+ int "Max number of entries in IPv6 destinations cache"
947
+ depends on LWIP_IPV6
948
+ default 10
949
+ help
950
+ Maximum number of entries in IPv6 destinations cache
879
951
880
952
menuconfig LWIP_PPP_SUPPORT
881
953
bool "Enable PPP support"
882
954
default n
883
955
help
884
956
Enable PPP stack. Now only PPP over serial is possible.
885
957
958
+ config LWIP_PPP_ENABLE_IPV4
959
+ bool "Enable IPV4 support for PPP connections (IPCP)"
960
+ depends on LWIP_PPP_SUPPORT && LWIP_IPV4
961
+ default y
962
+ help
963
+ Enable IPCP protocol in PPP negotiations, which assigns IPv4 addresses to the PPP client,
964
+ as well as IPv4 DNS servers.
965
+ You can disable this if your modem supports IPv6 only.
966
+
886
967
config LWIP_PPP_ENABLE_IPV6
887
968
bool "Enable IPV6 support for PPP connections (IPV6CP)"
888
969
depends on LWIP_PPP_SUPPORT && LWIP_IPV6
@@ -894,22 +975,6 @@ menu "LWIP"
894
975
This would in turn fail the configuration for the whole link.
895
976
If your modem is not responding correctly to PPP Phase Network, try to disable IPV6 support.
896
977
897
- config LWIP_IPV6_MEMP_NUM_ND6_QUEUE
898
- int "Max number of IPv6 packets to queue during MAC resolution"
899
- depends on LWIP_IPV6
900
- range 3 20
901
- default 3
902
- help
903
- Config max number of IPv6 packets to queue during MAC resolution.
904
-
905
- config LWIP_IPV6_ND6_NUM_NEIGHBORS
906
- int "Max number of entries in IPv6 neighbor cache"
907
- depends on LWIP_IPV6
908
- range 3 10
909
- default 5
910
- help
911
- Config max number of entries in IPv6 neighbor cache
912
-
913
978
config LWIP_PPP_NOTIFY_PHASE_SUPPORT
914
979
bool "Enable Notify Phase Callback"
915
980
depends on LWIP_PPP_SUPPORT
@@ -1304,11 +1369,15 @@ menu "LWIP"
1304
1369
choice LWIP_HOOK_IP6_INPUT
1305
1370
prompt "IPv6 packet input"
1306
1371
depends on LWIP_IPV6
1307
- default LWIP_HOOK_IP6_INPUT_NONE
1372
+ default LWIP_HOOK_IP6_INPUT_DEFAULT
1308
1373
help
1309
1374
Enables custom IPv6 packet input.
1310
- Setting this to "default" provides weak implementation
1311
- stub that could be overwritten in application code.
1375
+ Setting this to "default" provides weak IDF implementation,
1376
+ which drops all incoming IPv6 traffic if the interface has no link local address.
1377
+ (this default implementation is "weak" and could be still overwritten
1378
+ in the application if some additional IPv6 input packet filtering is needed)
1379
+ Setting this to "none" removes this default filter and conforms to the lwIP
1380
+ implementation (which accepts multicasts even if the interface has no link local address)
1312
1381
Setting this to "custom" provides hook's declaration
1313
1382
only and expects the application to implement it.
1314
1383
0 commit comments