I have some software written in C++ which acts differently on 2 separate machines. The software sends UDP packets out using:
m_socketHandle = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
Both machines are using WIN 7 SP1
According to Wireshark:
Machine 1: the Don't fragment section of the IP header is set to 0 "Don't Fragment: Not SET".
Machine 2: it is set to 1 "Don't Fragment: SET".
So this led me to try and explicitly set it myself using: This Stack Question
and
int val = 1;
setsockopt(sd, IPPROTO_IP, IP_DONTFRAGMENT, (char *)&val, sizeof(val));
But it has no effect what so ever with the result always being "Don't Fragment: Not SET".
Am i missing something here, why would it be different on different machines even though the code wasn't explicitly setting it?