2011年2月10日 星期四

LACP timeout value problem? 改成short timeout為什麼反而是收到對方的LACPDU的timeout變短?

在LACP中timeout value只有兩種mode可以選,long以及short。long是30秒而short則是1秒。timeout value影響的是不同台間在維持LACP link時多久會去發一個packet去「確認」這條連線還是不是存在,如果不存在則在3倍timeout value後把這個port移出trunk group,而確認連線是否活著的packet通稱為LACPDU。

而目前有個問題意思是說當兩台DUT對接,當A台的timeout 設成1 sec而另外一台B維持default 30sec,去抓封包會發現B台會每隔1 sec發一次LACPDUPACKET
反而A台還是原本的30sec去發LACPDU packet,好像有點怪怪的!?

經過查證後我們得到spec是寫說送LACPDU PACKETtimeout 時間是參考「對方的timeout 時間,也意思是說當對方timeout設為1秒時候我們才會每1秒去發packet;反之則不會。

可以翻閱802.3ad-2000 p.133頁關於LACPTx state machine的描述:
LACP Periodic Tx Machine[1]
可以看到標紅色的部份,當我們要送LACPDU的時候會根據Partnertimeout value
/* specactor代表的是自己;partner代表的是另外一台 */

另外,如果接DUT去接host,改了TIMEOUT1sec後也是30sec才會收到LACPDU也是因為這個緣故。(partnertimeout value default都是30sec,當收到對方LACPDU時候跟現在timeout value不同才會去update)

Reference:
[1] IEEE 802.3ad-2000

沒有留言:

張貼留言