wonger wrote on Wednesday, October 16, 2019:
Hi Hein,
I pulled and am using the latest +TCP multi source. I had to make the following modifications:
- FreeRTOS_IP.c: line 1100: bIsValidNetworkDescriptor is defined only if ipconfigTCP_IP_SANITY is 1. I added #if ipconfigTCP_IP_SANITY around the call.
- FreeRTOS_IP.c: line 1722-1759: if ipconfigETHERNET_DRIVER_FILTERS_PACKETS == 0, compiler complains about there being two definitions of prvIsIPv4Multicast(). I set ipconfigETHERNET_DRIVER_FILTERS_PACKETS to 1 for now. If left undefined or 0, the resulting static definition of prvIsIPv4Multicast() causes problems for other files that use this function (e.g., FreeRTOS_Routing.h).
Unfortunately, updating to the latest source broke ETH0 too now. ETH0 was responding to pings before, but now it’s not. Not sure why at this point. Is this how I should initialize the stack with the latest?
pxZynq_FillInterfaceDescriptor( 0, &( xInterfaces[ 0 ] ) );
FreeRTOS_FillEndPoint( &( xInterfaces[ 0 ] ), &( xEndPoints[ 0 ] ), ucIPAddress, ucNetMask, ucGatewayAddress, ucDNSServerAddress, ucMACAddress );
pxZynq_FillInterfaceDescriptor( 1, &( xInterfaces[ 1 ] ) );
FreeRTOS_FillEndPoint( &( xInterfaces[ 1 ] ), &( xEndPoints[ 1 ] ), ucIPAddress2, ucNetMask2, ucGatewayAddress2, ucDNSServerAddress2, ucMACAddress2 );
/* You can modify fields: */
xEndPoints[ 0 ].bits.bIsDefault = pdTRUE_UNSIGNED;
FreeRTOS_IPStart();
Before updating to the latest source, I was doing this:
pxZynq_FillInterfaceDescriptor( 0, &( xInterfaces[ 0 ] ) );
FreeRTOS_FillEndPoint( &( xEndPoints[ 0 ] ), ucIPAddress, ucNetMask, ucGatewayAddress, ucDNSServerAddress, ucMACAddress );
FreeRTOS_AddEndPoint( &( xInterfaces[ 0 ] ), &( xEndPoints[ 0 ] ) );
pxZynq_FillInterfaceDescriptor( 1, &( xInterfaces[ 1 ] ) );
FreeRTOS_FillEndPoint( &( xEndPoints[ 1 ] ), ucIPAddress2, ucNetMask2, ucGatewayAddress2, ucDNSServerAddress2, ucMACAddress2 );
FreeRTOS_AddEndPoint( &( xInterfaces[ 1 ] ), &( xEndPoints[ 1 ] ) );
/* You can modify fields: */
xEndPoints[ 0 ].bits.bIsDefault = pdTRUE_UNSIGNED;
FreeRTOS_IPStart();