|
From: | Joel Cunningham |
Subject: | Re: [lwip-users] win32 porting contrib: double IP address |
Date: | Thu, 09 Nov 2017 10:43:44 -0600 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 |
On 11/09/2017 03:41 AM, Giuseppe Modugno wrote:
It varies depending on your network card. Easiest way is if the adapter has an option to disable it. I have one like this. For Win 7, Control Panel -> Network and Internet -> Network and Sharing Center -> Change Adapter Settings -> Right click adapter -> Properties -> Configure -> Advanced. Then I have options like 'TCP Checksum Offload (IPv4)' which I can set to Disabled, RX or TX Disabled/EnabledIl 08/11/2017 16:34, Joel Cunningham ha scritto:The ping works well if I launch "ping 192.168.1.156" command from *another* computer on the same network.You're most likely running into a checksum offload problem since you can't contact the LwIP stack from the Windows host, but you CAN from another machine. The Window's TCP/IP stack is going to use checksum offloading for IPv4/UDP/TCP and during the transmit path, Winpcap will capture them before they go to hardware (where checksum is added). Then they will fail checksum validation in LwIP and be discarded.You can verify this easily by opening up wireshark and capturing on the interface. Wireshark (also using winpcap) will capture the packets at the same point and you can verify the checksum is missing.You're right.If this is the case, you can disable checksum offloading in Windows for TX.What is the procedure to disable checksum offloading in Windows for TX?
If you're card doesn't have those options, you'll have to set some registry values (Google for some how-to's). I've had varying success with using registry values with different cards.
You can also use the command: 'netsh interface ipv4 show offload' to view the state of your adapters
Joel
[Prev in Thread] | Current Thread | [Next in Thread] |