STP模塊調(diào)試小結(jié).doc_第1頁
STP模塊調(diào)試小結(jié).doc_第2頁
STP模塊調(diào)試小結(jié).doc_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

STP模塊調(diào)試小結(jié) 數(shù)據(jù)事業(yè)部軟件開發(fā)二部 孫蓓 2005-9-21完成STP代碼后,開始進(jìn)行功能自測,在這個過程中遇到很多問題,隨著問題的解決,感覺學(xué)到很多,現(xiàn)總結(jié)如下,希望能對大家,特別是像我一樣的新員工有一些借鑒和幫助。星期六下午:STP模塊中綁定VLAN到實例、刪除實例和設(shè)置實例端口狀態(tài)功能都調(diào)試成功了,還剩下BPDU的透傳功能沒有測試,不知道為什么自己沒有一絲輕松的感覺,隱約有些擔(dān)心,透傳在寫代碼時就遇到了一些問題,56504芯片的設(shè)置相比其它芯片有了改動,向FAE請教的一些問題回答不是很明確。帶著一些忐忑,星期一上午開始調(diào)試,結(jié)果沒有出人意料,透傳果真出現(xiàn)了問題。問題一:56504透傳設(shè)置主要在L2_USER_ENTRY中,發(fā)現(xiàn)在寫L2_USER_ENTRY時,總是寫不進(jìn)去。問題分析: L2_USER_ENTRY用于BPDU有6個entry,我一直不明白為什么要設(shè)置6個,對于自己用哪個index有效也不明確,向FAE詢問時,他也沒有說出原因,只是很肯定的說index設(shè)為1,就會寫入還沒有使用的表項中,于是我在寫代碼時就設(shè)置了1,現(xiàn)在出了問題,第一個就是懷疑它,跟代碼后果然不出所料,寫表時它先會檢查是否有相同的表項寫入,且只檢查了mac地址、mask位和vlan位,這幾位恰好我都沒有修改,于是它認(rèn)為是相同的表項,根本不再寫表,這種情況下,設(shè)置index1是不對的。問題解決:仔細(xì)再閱讀有關(guān)對L2_USER_ENTRY所有操作,原來它在初始化時就將05的表項寫好了,用于BPDU的05,我決定將他們?nèi)慷荚O(shè)置一下,index改為05,結(jié)果成功寫表。(后來證明不需要全部都寫,只要將優(yōu)先級最高的index0寫入就可以了)問題總結(jié):1、 對FAE不能盲目相信,一定要對所有操作仔細(xì)的跟到低,要深入看代碼。成功寫表了,按照自己的設(shè)置在透傳時將L2_USER_ENTRY中的cpu設(shè)為0,將bpdu設(shè)為0,不透傳時將cpu設(shè)為1,將bpdu設(shè)為1,結(jié)果發(fā)現(xiàn)還是不透傳,還有什么問題呢?難道關(guān)于BPDU透傳控制還有其他設(shè)置? 問題二: 設(shè)置透傳后,寫表成功,但還是不透傳。問題解決: 透傳時L2_USER_ENTRY的bpdu位不應(yīng)該設(shè)置成0,應(yīng)該設(shè)置為1。這是在看芯片資料時發(fā)現(xiàn)的。這里要感謝韓俊杰,他在看到有關(guān)的設(shè)置時,提醒了我。問題總結(jié): 那么我在寫代碼時為什么要設(shè)為0呢?回想起來,是自己的不對。自己剛開始沒有在芯片資料中找到關(guān)于這位的說明,在FAE來的時候,就向他們詢問,F(xiàn)AE的回答是在透傳時要將bpdu位設(shè)置為0,于是自己就沒有再繼續(xù)查找資料,就直接將bpdu位設(shè)置為了0。問題一和問題二的錯誤是自己不應(yīng)該犯的,在以后的工作中一定要注意:對自己設(shè)置的任何操作都要自己找到依據(jù),不能盲目相信FAE。 也許現(xiàn)在應(yīng)該沒有問題了吧,表寫成功了,bpdu設(shè)置正確了,可是測試的結(jié)果還是不能透傳。檢查寫入的表,寫的是正確的,再查看芯片資料,也沒有什么問題,那為什么設(shè)置透傳后,沒有在vlan內(nèi)廣播,cpu還是能夠收到包?難道真的還有其他關(guān)于透傳的設(shè)置,自己沒有找到?我開始懷疑自己,是不是透傳只對L2_USER_ENTRY設(shè)置是不行的。問題三: 設(shè)置透傳后,CPU還是能收到包,卻還是沒有向vlan內(nèi)廣播。問題解決:一次又一次寫表,再將表down出來,設(shè)置是正確,那為什么cpu還能收到包?這時突然間想到會不會cpu端口和收bpdu包的端口設(shè)置在同一vlan里面,自己在測試的時候沒有同時檢查cpu收包情況和端口收包情況,如果是在同一vlan,那設(shè)置透傳后,cpu自然會收到包了!向陳遺保借了根線,連到主機(jī),看見端口的燈在閃!好開心!端口收到包了!用sniffer抓包看,果然是bpdu包,看來向vlan廣播了,那cpu可能就設(shè)置在了同一個vlan里面,于是向張作富請教,他說缺省的情況下cpu端口沒有配在同一個vlan里面,是嗎?那怎么會出現(xiàn)既向cpu發(fā)包又向vlan廣播的情況,太奇怪了,決定還是將vlan表down出來看一下,果然cpu端口和收包端口在同一共vlan里面!原來自己的版本太老了,沒有將新的vlan模塊合進(jìn)來!問題總結(jié):1要注意自己的模塊不是孤立的,大家的模塊都是一個緊密聯(lián)系的整體,在查找問題的時候,要想想會不會是這方面的問題。2 測試的環(huán)境要正確,如果自己同時檢測cpu收包情況和端口收包情況,那應(yīng)該早就發(fā)現(xiàn)問題了。長舒了一口氣,看來問題解決了,很放心的睡了一個午覺,想著只要下午將新的版本合上就可以了,問題解決了。然而生活并不總是如你所想象,它只是真實的展現(xiàn)它的本來面目!下午:配命令,spanning tree disable ,查cpu發(fā)現(xiàn)收不到包!再配透傳,發(fā)現(xiàn)沒有抓到包!怎么僅僅過了一個中午,情況就變了,我的程序并沒有改?。∽屑?xì)想想唯一不同的地方在于這時是用平臺的命令配的,上午是自己調(diào)的函數(shù),于是封掉平臺的入口,自己調(diào),透傳成功!問題出在平臺調(diào)用函數(shù)方面,那到底是怎么回事?正在自己一籌莫展的時候,范力涵來了。有了科長在旁邊,自己鎮(zhèn)定多了。問題四:自己調(diào)函數(shù)設(shè)置透傳成功,在平臺配命令不成功!問題解決: 范力涵了解了基本情況后,很肯定的指出問題在于平臺調(diào)用函數(shù)上面,應(yīng)該將各個函數(shù)入口控制住,他用了四個外部變量,在封住設(shè)置端口狀態(tài)函數(shù)后,用平臺配透傳成功!原來問題出在這里,show出狀態(tài)后發(fā)現(xiàn)平臺在spanning tree disable命令后將所有端口狀態(tài)都設(shè)為了disable,所有包都被丟掉,cpu當(dāng)然收不到包!找平臺修改了配置,終于調(diào)試成功。問題總結(jié):1 自己在這時沒有很好的整理一下解決問題的思路,這時應(yīng)該仔細(xì)的跟函數(shù),看平臺調(diào)了哪些函數(shù),參數(shù)是怎么設(shè)置的,這樣應(yīng)該能很快的發(fā)現(xiàn)問題。2 自己很缺乏調(diào)試的方法,比如用外部變量控制函數(shù)的入口,或者封住平臺調(diào)函數(shù)的入口等。 寫到這里,看看自己所遇到的問題,覺得這些都是可以避免的,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論