Do lưu ý rằng không có cách nào tiêu chuẩn để thiết lập DF trong C. Trên Linux, mã này hoạt động:
result = setsockopt(mysocket, IPPROTO_IP,
IP_MTU_DISCOVER, IP_PMTUDISC_DO, sizeof(int));
nhưng nó không trên FreeBSD 6
Ngoài ra, Path MTU phát hiện là cực kỳ không đáng tin cậy trên Internet thực. Quá nhiều tường lửa và hộp trung gian bị phá vỡ lọc các tin nhắn ICMP "Gói quá lớn" (đây là cách tốt để kiểm tra quản trị viên mạng trong một cuộc phỏng vấn: yêu cầu anh ta/cô ấy ngừng ping và anh/cô ấy có thể chặn ICMP hoàn toàn.) Xem RFC 2923: "TCP Vấn đề với Path MTU Discovery"
Đó là lý do tại sao IETF nay đề nghị một phương pháp mới để kiểm tra MTU, mà không dựa vào Path MTU Discovery: RFC 4821: "gói thoại lớp Path MTU Discovery"
Điều đó rất tiện dụng để biết. +1. – paxdiablo