esp_netif: initialize TCP ISN hook if enabled in configuration

This commit is contained in:
Mahavir Jain 2020-10-15 19:10:38 +05:30
parent 516ca4698f
commit 652f43d9ee
1 changed files with 16 additions and 0 deletions

View File

@ -33,6 +33,10 @@
#include "netif/wlanif.h"
#include "netif/ethernetif.h"
#if CONFIG_LWIP_TCP_ISN_HOOK
#include "tcp_isn.h"
#endif
#include "dhcpserver/dhcpserver.h"
#include "dhcpserver/dhcpserver_options.h"
@ -102,6 +106,18 @@ void tcpip_adapter_init(void)
int ret;
if (tcpip_inited == false) {
#if CONFIG_LWIP_TCP_ISN_HOOK
uint8_t rand_buf[16];
/*
* This is early startup code where WiFi/BT is yet to be enabled and hence
* relevant entropy source is not available. However, bootloader enables
* SAR ADC based entropy source at its initialization, and our requirement
* of random bytes is pretty small (16), so we can assume that following
* API will provide sufficiently random data.
*/
esp_fill_random(rand_buf, sizeof(rand_buf));
lwip_init_tcp_isn(esp_log_timestamp(), rand_buf);
#endif
tcpip_inited = true;
tcpip_init(NULL, NULL);