![](/img/trans.png)
[英]Path MTU Discovery using Socket option - IP_MTU & IP_MTU_DISCOVER
[英]Missing IP_MTU socket option define on Debian Etch?
我正在嘗試使用IP_MTU
套接字選項讀取TCP連接的MTU
根據在我的Debian Etch上安裝的man 7 ip
(我知道它已經很舊了,但是現在不能更改):
SYNOPSIS
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h> /* superset of previous */
[CUT]
IP_MTU Retrieve the current known path MTU of the current socket.
Only valid when the socket has been connected. Returns an integer.
Only valid as a getsockopt(2).
問題是上面的套接字選項在手冊頁命名的任何包含文件中都不存在。 (因此我的代碼未編譯;)
相反,我在<linux/in.h>
找到了它( grep
是您的朋友)
如果我嘗試將<linux/in.h>
添加到我的源代碼中, <linux/in.h>
各種多重定義/重新聲明編譯錯誤。 有誰知道為什么標頭中缺少上述參數以及如何解決該問題?
非常感謝
塞爾吉奧
答案是:我認為沒有答案。 我正在運行Red Hat Enterprise Linux AS版本4(Nahant Update 8),並且遇到了完全相同的問題:
因此,我想唯一要做的就是通過設置MTU發現,不斷調整MTU並觀察內核在嘗試發送太大消息時關閉您的方法來解決。 那就是我要做的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.