亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

嵌入式以太網(wǎng)驅(qū)動開發(fā)實(shí)戰(zhàn):從MAC/PHY調(diào)試到性能優(yōu)化

嵌入式以太網(wǎng)驅(qū)動開發(fā)實(shí)戰(zhàn):從MAC/PHY調(diào)試到性能優(yōu)化 做嵌入式驅(qū)動開發(fā)這些年以太網(wǎng)這個坑算是踩得最深也最有收獲的一個領(lǐng)域。從早期的百兆芯片到現(xiàn)在的千兆、2.5G從簡單的RGMII到復(fù)雜的SGMII再到工業(yè)現(xiàn)場跟各種設(shè)備做以太網(wǎng)通訊幾乎每個項(xiàng)目都能遇到全新的問題。今天這一期我把自己在Ethernet以太網(wǎng)驅(qū)動開發(fā)上積累的經(jīng)驗(yàn)整理出來從底層原理到實(shí)際調(diào)試從性能優(yōu)化到工業(yè)場景踩坑一次性說透。無論你是剛開始接觸網(wǎng)絡(luò)驅(qū)動的新手還是已經(jīng)在MAC和PHY之間掙扎了一段時間的同行這篇內(nèi)容應(yīng)該都能提供一些參考。很多剛?cè)腴T的朋友容易把以太網(wǎng)驅(qū)動理解為“配置寄存器、啟用DMA、收發(fā)包就完事”但實(shí)際上驅(qū)動只是整個網(wǎng)絡(luò)路徑中的一環(huán)。你寫的是網(wǎng)卡驅(qū)動但你的代碼要跟協(xié)議棧、PHY、甚至交換機(jī)、對端設(shè)備發(fā)生關(guān)系。所以我先說清楚以太網(wǎng)驅(qū)動開發(fā)核心是理解數(shù)據(jù)流而不是只會翻datasheet。1. 以太網(wǎng)驅(qū)動開發(fā)的核心思路從MAC到PHY的整體認(rèn)知1.1 網(wǎng)絡(luò)分層視角下的驅(qū)動邊界以太網(wǎng)驅(qū)動處于硬件和協(xié)議棧之間往上對接Linux內(nèi)核的net_device結(jié)構(gòu)體往下直接操作MAC控制器和PHY芯片。驅(qū)動需要處理的是內(nèi)核協(xié)議棧傳來的sk_buff通過DMA發(fā)送到MAC再由PHY轉(zhuǎn)換成物理層信號反過來PHY收到的電信號經(jīng)過MAC還原成幀DMA搬到內(nèi)存再上交協(xié)議棧。我見過很多人調(diào)試網(wǎng)絡(luò)不通第一步就去看寄存器這沒錯但容易迷失方向。更穩(wěn)妥的做法是先確認(rèn)物理層鏈路是否ok——PHY是否完成了自協(xié)商link是否established然后看MAC是否收到了幀再看DMA描述符是否有數(shù)據(jù)。這種從物理層往上層走的排查思路能讓你少走很多彎路。驅(qū)動開發(fā)的第一個關(guān)鍵邊界是搞清楚哪些事情由硬件做哪些由驅(qū)動做。比如CRC校驗(yàn)、幀間隙、MAC地址過濾這些絕大多數(shù)MAC硬件都做了驅(qū)動不需要重復(fù)處理。但有些功能比如VLAN tag插入、TCP分段卸載TSO雖然硬件支持驅(qū)動也要做很多配置和狀態(tài)維護(hù)工作。這里面的“度”沒把握好就會出現(xiàn)莫名其妙的丟包或者性能問題。第二個邊界是PHY管理。PHY芯片的寄存器空間需要通過MDIO總線訪問通常由MAC的MDIO控制器或者獨(dú)立的MDIO硬件完成。驅(qū)動要負(fù)責(zé)PHY的復(fù)位、自協(xié)商觸發(fā)、速度/雙工模式讀取、loopback測試等。很多新人在初始化時只做一次PHY配置后續(xù)不管了結(jié)果遇到熱插拔或者對端設(shè)備切換速率鏈路就僵死。正確的做法是注冊PHY中斷或者輪詢link狀態(tài)實(shí)時響應(yīng)鏈路變化。1.2 速率與介質(zhì)1G/2.5G Ethernet 的PCS/PMA 與 SGMII 到底在說什么我們在選型的時候經(jīng)常會看到“1G/2.5G Ethernet PCS/PMA or SGMII”這樣的描述。很多工程師一看到PCS/PMA就頭大其實(shí)它指的是PHY內(nèi)部的兩個子層。PCSPhysical Coding Sublayer負(fù)責(zé)編碼、加擾、對齊等。千兆以太網(wǎng)用的是8B/10B編碼2.5G以太網(wǎng)在SGMII接口上往往也是基于類似的編碼方式。PMAPhysical Medium Attachment負(fù)責(zé)串并轉(zhuǎn)換、時鐘恢復(fù)和信號調(diào)制。簡單說PCS解決“數(shù)據(jù)怎么變成可以在線上傳輸?shù)拇a流”PMA解決“碼流怎么通過物理線纜發(fā)出去”。而SGMII是一種MAC和PHY之間的接口協(xié)議它本身是一種串行接口類似于SerDes。SGMII可以承載1Gbps或更低的速率而2.5G Ethernet的SGMII通常是2500Mbps有些芯片也支持“USXGMII”這類擴(kuò)展接口。當(dāng)你看到“1G/2.5G Ethernet PCS/PMA or SGMII”指的是PHY支持這些接口模式你需要在驅(qū)動里通過寄存器配置選擇合適的模式。實(shí)際項(xiàng)目里我們用的主控芯片可能內(nèi)置了MAC但缺少PHY或者PHY是外掛的。MAC和PHY之間的接口常見的有RGMII千兆常用的并行接口時鐘125MHz數(shù)據(jù)雙沿采樣引腳多但布線相對簡單。SGMII串行接口引腳少抗干擾強(qiáng)適合高速和板間互聯(lián)。QSGMII4個SGMII復(fù)用一對差分線主要用于交換機(jī)芯片。驅(qū)動開發(fā)時要特別注意SGMII的自協(xié)商機(jī)制。SGMII本身也有自協(xié)商但它不是標(biāo)準(zhǔn)的802.3自協(xié)商而是MAC和PHY之間的速率協(xié)商。驅(qū)動里需要正確配置MAC側(cè)的SGMII自適應(yīng)通常是在MAC寄存器中使能SGMII autoneg同時也要讓PHY側(cè)配合。這個配置如果不對經(jīng)常出現(xiàn)PHY link up但數(shù)據(jù)不通或者M(jìn)AC和PHY速率不一致的情況。有一種比較陰間的現(xiàn)象PHY顯示鏈接速率是1G但MAC那邊配置的是2.5G結(jié)果就是能收到一點(diǎn)數(shù)據(jù)但丟包率極高。排查這種問題需要同時讀取MAC側(cè)的狀態(tài)寄存器通常有l(wèi)ink速度指示和PHY側(cè)的速度寄存器對比兩邊是否一致。這也是我強(qiáng)調(diào)“接口配置必須兩端對齊”的原因。2. 驅(qū)動開發(fā)中的關(guān)鍵環(huán)節(jié)接口、描述符與中斷處理2.1 從RGMII到SGMII的接口選擇與配置選擇RGMII還是SGMII很多時候不是開發(fā)人員能決定的而是硬件工程師根據(jù)板級布局和成本定的。作為驅(qū)動開發(fā)者你需要做的是適配。RGMII的配置要點(diǎn)主要是時鐘延時。RGMII規(guī)范要求數(shù)據(jù)在時鐘的雙沿采樣但實(shí)際布線時數(shù)據(jù)信號和時鐘信號可能存在偏差。于是就有了“tx delay”和“rx delay”的概念。很多MAC和PHY都支持在內(nèi)部插入延時通過寄存器配置。例如你可以設(shè)置MAC側(cè)的TX clock delay或者讓PHY側(cè)提供RX clock delay。這個配置必須在驅(qū)動初始化階段完成而且要跟硬件原理圖對應(yīng)。我遇到過一塊板子初始化PHY后ping不通后來發(fā)現(xiàn)是RGMII的RX延時沒有配置導(dǎo)致MAC在時鐘沿采樣數(shù)據(jù)時采到的都是毛刺。加上delay之后一切正常。所以RGMII調(diào)試時如果你不確定延時配置可以用PHY的loopback模式測試MAC側(cè)的數(shù)據(jù)通路再逐項(xiàng)排查。SGMII的配置相對簡單因?yàn)樗谴胁罘志€不需要考慮并行數(shù)據(jù)的時鐘偏移。但SGMII也有自己的坑協(xié)商失敗。特別是當(dāng)對端設(shè)備是交換機(jī)或者另一個開發(fā)板時如果SGMII配置不是“自協(xié)商固定從模式”可能需要強(qiáng)制設(shè)置速度。我記得有一款PHY默認(rèn)SGMII從模式必須等到對端發(fā)送自協(xié)商配置才能建立鏈路這在有些場景下會導(dǎo)致長時間無法link up。解決方法是把SGMII配置為master模式自己主動發(fā)起協(xié)商。2.2 DMA描述符環(huán)設(shè)計(jì)與內(nèi)存屏障無論MAC是內(nèi)置還是外置絕大多數(shù)以太網(wǎng)控制器都使用DMA搬運(yùn)網(wǎng)絡(luò)數(shù)據(jù)避免CPU逐字節(jié)拷貝。DMA描述符環(huán)是整個驅(qū)動的核心數(shù)據(jù)結(jié)構(gòu)它描述了一塊內(nèi)存緩沖區(qū)的位置、長度、狀態(tài)等信息。驅(qū)動需要維護(hù)發(fā)送描述符環(huán)和接收描述符環(huán)。接收描述符環(huán)的初始化尤其重要。你需要為每個描述符分配一個緩沖區(qū)sk_buff的data區(qū)并把物理地址寫入描述符。然后設(shè)置擁有權(quán)位交給硬件。硬件收到數(shù)據(jù)后會填充緩沖區(qū)并把狀態(tài)位更新為“已接收”驅(qū)動在中斷或輪詢中掃描描述符發(fā)現(xiàn)擁有權(quán)變化就知道有數(shù)據(jù)到了。這里有幾個容易犯的錯分配緩沖區(qū)時沒有做cache對齊。網(wǎng)絡(luò)DMA要求緩沖區(qū)物理地址對齊到cache line否則可能出現(xiàn)數(shù)據(jù)不一致。沒有處理“擁有權(quán)”標(biāo)志。有些芯片用描述符的最后一個bit來表示歸屬驅(qū)動在回收描述符時如果寫錯了會覆蓋硬件正在使用的描述符。環(huán)形隊(duì)列的索引管理。發(fā)送和接收的索引要明確區(qū)分“硬件當(dāng)前使用的索引”和“驅(qū)動當(dāng)前處理的索引”兩者沒理清就會丟包或者卡死。內(nèi)存屏障也是一個關(guān)鍵點(diǎn)。CPU往描述符寫入狀態(tài)后需要確保寫入順序?qū)MA可見DMA更新狀態(tài)后CPU讀取時也需要屏障。在Linux驅(qū)動中通常使用dma_wmb()和dma_rmb()。有朋友問過我為什么加了mb()還是有問題其實(shí)是因?yàn)閙b()是全屏障性能損耗大而且有些架構(gòu)下語義不完全匹配DMA場景。正確的做法是嚴(yán)格區(qū)分讀寫方向。我在調(diào)試一個eMMC和網(wǎng)絡(luò)DMA互相干擾的項(xiàng)目時發(fā)現(xiàn)描述符狀態(tài)一直讀取不到硬件更新后來檢查發(fā)現(xiàn)是描述符本身被分配到了非DMA安全區(qū)域。所以在分配描述符時一定要用dma_alloc_coherent()或者類似接口保證內(nèi)存不會被cache寫回覆蓋。2.3 中斷與輪詢的取舍以太網(wǎng)驅(qū)動通常有兩種收包模式中斷驅(qū)動和NAPI輪詢。中斷是及時但高吞吐時頻繁中斷會吃掉CPUNAPI是把中斷和輪詢結(jié)合起來用少量中斷配合輪詢批量收包。Linux內(nèi)核默認(rèn)使用NAPI這也是為什么netdev驅(qū)動里都有一個poll回調(diào)。輪詢的實(shí)現(xiàn)并不復(fù)雜在中斷處理函數(shù)里關(guān)閉發(fā)送/接收中斷激活NAPI調(diào)度poll執(zhí)行。poll中循環(huán)處理發(fā)送完成和接收數(shù)據(jù)直到預(yù)算耗盡或者無包可收后重新開啟中斷。這個機(jī)制看著普通但對驅(qū)動性能影響很大。你要合理設(shè)置weight參數(shù)比如100、200或者更大。weight越大單次poll時間越長但CPU占用也高。我通常的做法是根據(jù)實(shí)際吞吐測試結(jié)果調(diào)整以CPU占用不超標(biāo)為前提盡量提高weight。還有個細(xì)節(jié)有些MAC控制器在收包時會自動禁用接收中斷驅(qū)動如果忘了在poll中重新開啟就會出現(xiàn)“網(wǎng)絡(luò)死”的現(xiàn)象。我在自己的驅(qū)動里都是把“重新使能中斷”放在poll函數(shù)的最后并加一個dummy read來保證寄存器寫入順序。3. 實(shí)際調(diào)試從寄存器到數(shù)據(jù)流的排錯實(shí)戰(zhàn)3.1 PHY 初始化與自協(xié)商狀態(tài)機(jī)PHY的初始化不是簡單的reset然后配置寄存器而是要理解PHY的狀態(tài)機(jī)。PHY上電后通常處于ENERGY-DETECT狀態(tài)不斷探測介質(zhì)是否有信號。當(dāng)檢測到對端設(shè)備時進(jìn)入自協(xié)商狀態(tài)交換能力信息最終確定速率和雙工模式。驅(qū)動里需要確保在PHY完成自協(xié)商后再去配置MAC的速率和雙工。如果MAC側(cè)先配置了錯誤的速率即使PHY協(xié)商好了數(shù)據(jù)也發(fā)不出去。常見的做法是使用PHY驅(qū)動的adjust_link回調(diào)在link up時讀取PHY的狀態(tài)然后更新MAC的配置。另外自協(xié)商超時問題很常見。有些PHY的寄存器配置不當(dāng)會導(dǎo)致自協(xié)商失敗或者反復(fù)重啟。調(diào)試時可以先用ethtool -s eth0 autoneg off speed 1000 duplex full強(qiáng)制固定速率確認(rèn)鏈路是否能通再排查自協(xié)商。但要注意強(qiáng)制速率時MAC側(cè)必須同步配置不能只改PHY。3.2 用Wireshark和抓包工具定位問題很多嵌入式工程師看不起抓包覺得嵌入式環(huán)境沒有條件。其實(shí)現(xiàn)在的開發(fā)板大多有兩個網(wǎng)口一個跑業(yè)務(wù)一個做管理或者用交換機(jī)鏡像端口都能方便地抓包。在驅(qū)動調(diào)試階段我強(qiáng)烈建議盡早接上抓包工具。當(dāng)出現(xiàn)“ping不通”的情況先用Wireshark抓包看有沒有請求發(fā)出。如果抓不到任何幀說明數(shù)據(jù)沒有從MAC送出去問題可能在驅(qū)動或硬件如果能抓到請求但收不到應(yīng)答說明請求到了對端對端的應(yīng)答可能沒回來或者我們的MAC沒有收到如果收到了應(yīng)答但協(xié)議棧沒反應(yīng)那可能是MAC地址、VLAN或者校驗(yàn)和的問題。我在調(diào)試一個工業(yè)網(wǎng)關(guān)時發(fā)現(xiàn)設(shè)備能被ping通但TCP連接建立失敗。抓包發(fā)現(xiàn)SYN包發(fā)出后對端回了SYN-ACK但我們的設(shè)備沒再發(fā)ACK而且不停地重傳SYN。進(jìn)一步查發(fā)現(xiàn)TCP校驗(yàn)和計(jì)算錯誤。原因是MAC硬件開啟了TCP校驗(yàn)和卸載TX checksum offload但驅(qū)動沒有正確設(shè)置sk_buff的ip_summed標(biāo)志導(dǎo)致硬件計(jì)算的校驗(yàn)和覆蓋了協(xié)議棧算好的值結(jié)果反而錯了。把ip_summed設(shè)為CHECKSUM_PARTIAL之后一切正常。3.3 常見問題速查表我整理了一下這幾年遇到的最多的以太網(wǎng)驅(qū)動問題做成表格方便大家對照排查?,F(xiàn)象可能原因排查思路link up但ping不通MAC/PHY速度不一致或RGMII延時錯誤檢查MAC和PHY速度寄存器調(diào)整RX/TX delay測試loopback能收到包但丟包嚴(yán)重DMA描述符不足或緩沖區(qū)被覆蓋檢查描述符環(huán)大小確認(rèn)擁有權(quán)位處理正確多ring緩沖區(qū)傳輸速度只有100MPHY沒有協(xié)商上千兆或線纜/接口問題用ethtool查看自協(xié)商結(jié)果強(qiáng)制千兆測試更換線纜TCP吞吐量極低中斷頻繁或TSO/GRO未開啟開啟NAPI確認(rèn)ethtool -K支持TSO檢查中斷合并設(shè)備長時間運(yùn)行后斷網(wǎng)PHY熱鏈接檢測失效或看門狗超時實(shí)現(xiàn)PHY link狀態(tài)輪詢增加鏈路恢復(fù)流程發(fā)送方向正常接收方向不通接收DMA描述符不完整或接收中斷未使能檢查接收描述符初始化確認(rèn)中斷配置用loopback測試接收路徑無法與特定設(shè)備通訊對端設(shè)備MAC地址過濾或協(xié)議不匹配抓包確認(rèn)對端是否回包檢查MAC地址表檢查VLAN和協(xié)議字段這張表不可能是全的但覆蓋了大部分初級問題。很多時候問題不在驅(qū)動本身而在硬件設(shè)計(jì)或者PHY配置所以在排查時要大膽假設(shè)小心驗(yàn)證。4. 工業(yè)場景中的以太網(wǎng)驅(qū)動與焊機(jī)等設(shè)備通訊的經(jīng)驗(yàn)分享4.1 安川焊機(jī)以太網(wǎng)通訊的痛點(diǎn)最近一個項(xiàng)目里我需要讓嵌入式主控通過以太網(wǎng)與安川焊機(jī)通訊實(shí)現(xiàn)焊接參數(shù)下發(fā)和狀態(tài)讀取。這類工業(yè)設(shè)備使用的以太網(wǎng)協(xié)議往往不是標(biāo)準(zhǔn)TCP/IP而是基于Ethernet/IP、Profinet或特定廠商私有協(xié)議。安川焊機(jī)有些型號支持TCP/UDP但通訊報(bào)文有特定的格式要求比如首尾字節(jié)固定、CRC校驗(yàn)、數(shù)據(jù)長度固定等。在這里驅(qū)動層面其實(shí)不需要做太多特殊事情因?yàn)門CP/IP協(xié)議棧已經(jīng)替我們搞定了。真正麻煩的是應(yīng)用層的協(xié)議解析和時序控制。但從驅(qū)動開發(fā)角度有兩個點(diǎn)需要特別留意第一工業(yè)設(shè)備的以太網(wǎng)端口通常不響應(yīng)ARP請求或者M(jìn)AC地址過濾嚴(yán)格。如果主控通過MAC地址白名單方式連接設(shè)備那么驅(qū)動可能需要構(gòu)造特殊的ARP包或者干脆不用ARP直接靜態(tài)ARP表項(xiàng)。第二有些工業(yè)設(shè)備會在連接空閑時主動斷開或者發(fā)送特定的“心跳包”。驅(qū)動和協(xié)議棧需要配合在socket層面保持連接。否則你會發(fā)現(xiàn)過一段時間TCP連接還在但數(shù)據(jù)已經(jīng)發(fā)不過去了。另外工業(yè)現(xiàn)場電磁干擾嚴(yán)重網(wǎng)線很容易出現(xiàn)瞬斷。此時PHY的link狀態(tài)會反復(fù)變動。驅(qū)動要能快速感知link down并在link up后自動恢復(fù)。我的做法是用內(nèi)核的PHY狀態(tài)機(jī)注冊phy_start()和phy_stop()流程配合PHY中斷每次link變化都打印日志并通知網(wǎng)絡(luò)協(xié)議棧執(zhí)行重連。4.2 協(xié)議無關(guān)的驅(qū)動設(shè)計(jì)思路做嵌入式驅(qū)動有時會被要求適配多種不同的設(shè)備和協(xié)議。比如同樣是焊接控制器有的用標(biāo)準(zhǔn)Modbus TCP有的用私有協(xié)議。驅(qū)動如果做得很死每個協(xié)議都要改一遍就會很痛苦。我的建議是在驅(qū)動層保持“協(xié)議無關(guān)”只負(fù)責(zé)把以太網(wǎng)幀正確地收發(fā)出去所有協(xié)議解析都放到上層應(yīng)用。為此驅(qū)動需要提供干凈的接口比如注冊netdev_ops上層用socket訪問而不是在驅(qū)動里解析業(yè)務(wù)報(bào)文。還有一點(diǎn)工業(yè)場景經(jīng)常用到VLAN。比如一臺設(shè)備同時連接辦公網(wǎng)和工業(yè)網(wǎng)VLAN隔離可以防止廣播風(fēng)暴。驅(qū)動要支持VLAN offload和VLAN過濾。Linux內(nèi)核有現(xiàn)成的ndo_vlan_rx_add_vid回調(diào)驅(qū)動只需要在寄存器中配置VLAN ID即可。我在開發(fā)支持多種工業(yè)協(xié)議的主控板時把驅(qū)動的重點(diǎn)放在穩(wěn)定性和可配置性上。比如通過設(shè)備樹參數(shù)配置MAC地址、PHY地址、VLAN ID、速率甚至中斷觸發(fā)方式。這樣同一個驅(qū)動二進(jìn)制就能適配不同的設(shè)備子型號節(jié)省了很多維護(hù)成本。4.3 關(guān)于Apple Mobile Device Ethernet的插曲最近熱搜里有“apple mobile device ethernet下載”這個詞一度讓我很迷惑。后來才明白這其實(shí)是指蘋果設(shè)備比如iPhone、iPad在連接電腦時通過USB拔號網(wǎng)絡(luò)或者以太網(wǎng)適配器模擬出的一個網(wǎng)絡(luò)接口。這個場景在物聯(lián)網(wǎng)開發(fā)里也有價(jià)值比如你想用iOS設(shè)備與嵌入式主板通訊可以通過雷電轉(zhuǎn)以太網(wǎng)適配器或者通過USB共享網(wǎng)絡(luò)。從驅(qū)動開發(fā)的視角當(dāng)你把蘋果設(shè)備插入電腦系統(tǒng)會識別出一個“Apple Mobile Device Ethernet”設(shè)備這個設(shè)備本質(zhì)上是一個USB網(wǎng)卡。它的驅(qū)動是蘋果官方提供的在macOS和Windows上都有。對嵌入式開發(fā)者來說相關(guān)經(jīng)驗(yàn)就是你的嵌入式設(shè)備如果支持USB gadget的RNDIS或者ECM協(xié)議也可以被電腦識別為一個虛擬網(wǎng)卡從而進(jìn)行網(wǎng)絡(luò)調(diào)試。但要注意蘋果設(shè)備的以太網(wǎng)接口默認(rèn)可能只支持特定速率和協(xié)議。所以如果你用自研的設(shè)備去跟蘋果設(shè)備通訊最好先確認(rèn)雙方的USB以太網(wǎng)類兼容性特別是驅(qū)動中的描述符配置。這里就不展開細(xì)說了但至少說明以太網(wǎng)驅(qū)動并不局限于物理網(wǎng)口還包含USB虛擬網(wǎng)卡等形態(tài)。5. 驅(qū)動性能優(yōu)化與穩(wěn)定性保障5.1 吞吐量優(yōu)化零拷貝與多隊(duì)列當(dāng)你的驅(qū)動能正常收發(fā)數(shù)據(jù)之后性能和穩(wěn)定性就是下一步目標(biāo)。在嵌入式平臺上吞吐量的瓶頸往往不是網(wǎng)絡(luò)帶寬而是內(nèi)存拷貝和中斷開銷。零拷貝是一個繞不開的話題。Linux協(xié)議棧的sk_buff本身支持headroom和frag機(jī)制驅(qū)動在接收數(shù)據(jù)時最好讓DMA直接填充到sk_buff的數(shù)據(jù)區(qū)避免額外拷貝一次。發(fā)送方向則可以利用sendpage或者M(jìn)SG_ZEROCOPY讓協(xié)議棧的數(shù)據(jù)直接進(jìn)入DMA描述符。多隊(duì)列RSS/Flow PIR在高吞吐場景下很重要。如果MAC支持多隊(duì)列你可以把不同數(shù)據(jù)流的包分配到不同的DMA通道和CPU核心極大提升并發(fā)處理能力。但嵌入式CPU核心數(shù)不多多隊(duì)列也可能帶來更多中斷需要根據(jù)實(shí)際情況權(quán)衡。我在一個四核ARM平臺上把單個隊(duì)列改成雙隊(duì)列并綁定兩個中斷到不同的CPU核心吞吐量提升了約30%。代價(jià)是CPU占用率從60%升到了70%但整體吞吐從900Mbps提升到了1.2Gbps基于2.5G網(wǎng)口。所以多隊(duì)列不是萬能的但值得嘗試。5.2 電源管理與鏈路檢測嵌入式設(shè)備對功耗敏感網(wǎng)絡(luò)驅(qū)動的電源管理往往容易被忽略。MAC和PHY通常都有低功耗模式但在進(jìn)入低功耗前要確保沒有未完成的DMA傳輸。否則數(shù)據(jù)寫到一半設(shè)備睡眠醒來后描述符狀態(tài)不一致就會導(dǎo)致驅(qū)動卡死。鏈路檢測要盡量不依賴定時器最好用PHY中斷。有些PHY支持活動中斷和link狀態(tài)變化中斷驅(qū)動在link_change回調(diào)中執(zhí)行相應(yīng)操作。如果PHY不支持中斷就只能周期性地讀寄存器但輪詢間隔不能太短建議2秒左右。太短會增加功耗太長則反應(yīng)遲鈍。我遇到過一個項(xiàng)目設(shè)備為了省電在空閑時關(guān)閉PHY但喚醒時總是出現(xiàn)第一次ping不通。后來發(fā)現(xiàn)喚醒后PHY的自協(xié)商需要幾秒而網(wǎng)絡(luò)協(xié)議棧已經(jīng)在喚醒后立刻發(fā)起了ARP請求。解決方法是在驅(qū)動喚醒流程中等待PHY完成自協(xié)商后再上報(bào)__LINK_STATE_START或者通過netif_carrier_on()延遲上報(bào)link。5.3 長期穩(wěn)定運(yùn)行的注意事項(xiàng)嵌入式設(shè)備往往要求7x24小時運(yùn)行驅(qū)動在這種環(huán)境下最容易出現(xiàn)的問題是內(nèi)存泄漏和描述符耗盡。內(nèi)存泄漏可能來自每個收包分發(fā)的緩沖區(qū)沒有正確釋放。我在檢查一個老代碼時發(fā)現(xiàn)接收路徑中每次丟包都直接調(diào)用dev_kfree_skb_any()但有些分支沒有釋放導(dǎo)致內(nèi)存緩慢增長。這類問題很難查需要借助kmemleak工具或者定期查看/proc/net/skbuff這樣的信息。描述符耗盡也常見。比如發(fā)送路徑中如果上層快速發(fā)送大量小包而驅(qū)動沒有及時回收發(fā)送完成描述符環(huán)形隊(duì)列會滿導(dǎo)致NETDEV_TX_BUSY。解決方法是在發(fā)送的時候檢查描述符是否夠用不夠用就停止發(fā)送隊(duì)列等完成中斷后重啟隊(duì)列。這個邏輯我每次都會認(rèn)真檢查因?yàn)橐粋€簡單的錯誤就會造成死鎖。另外建議給驅(qū)動添加debugfs接口可以手動查看描述符環(huán)狀態(tài)、PHY寄存器、中斷統(tǒng)計(jì)。我在正式項(xiàng)目中一定會在debugfs里面放一個“手動觸發(fā)link down再恢復(fù)”的測試入口方便生產(chǎn)測試和現(xiàn)場排查。這不難但對故障定位非常有幫助。結(jié)語最后分享一個我自己的習(xí)慣。每次寫以太網(wǎng)驅(qū)動我都會先把PHY的寄存器表打印出來保存一份完整的狀態(tài)基線。一旦后續(xù)出現(xiàn)通訊問題我可以快速對比寄存器值判斷是PHY配置變了還是硬件鏈路有問題。這個方法幫我解決了不少“莫名其妙”的網(wǎng)絡(luò)故障。如果你也是做嵌入式驅(qū)動開發(fā)的不妨試試。另外記得在驅(qū)動代碼里加足夠多的日志別嫌麻煩關(guān)鍵時刻就是這些日志救了你。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日本不卡三级网在线播放| 蜜桃久久久久久| 天天懆天天日| 中文字幕日韩专区精品系列| 高清孕妇孕交 交| 熟女乱伦A| 色男人色天堂东京热| 国产乱伦亚洲| 大香蕉一人| 9久热| 欧美天堂亚洲电影院一区在线播放| 97色伦97色伦国产欧美| 国产精品天干天干综合网麻豆| 婷婷亚洲五月***久久| 久久久无码精品人妻二区| 久久精品性| 麻豆精品.欧美精品.日韩精品.| 色色综合网站| 国产精品嫩草久久久久| 日韩日韩日韩-国产乱码精品一区二区| 亚洲色天堂日韩中| 人人操人人摸人人看人人插| 懂色aV一区二区天美传媒| 精品久久久av| 五月婷婷色| 日本羞羞的视频在线播放| 久久视网78| 国产 日韩 欧美高清| 97天天在线| 99无码视频| 日韩成人大片一区二区| 一级片视频啪啪| 亚洲 欧美 色图| 日韩伦理视频| 久九九九九九九热| 亚洲色资源| 色婷婷影院| 欧美人与性动交a美精品| 国产精品69久久久久久久| 99xav| www久久99| 精品无码秘 人妻一区二区| 日本 免费 一区二区三区 久久香蕉| 欧美精品99久久久**| 亚洲国产精品无码AV久久久| 亚洲电影中字一区二区| 亚洲无码成人精品| 内射夫妻三片| 精品国产一区二区三区四区在线看| 91视频综合| 欧美日韩亚洲五月天婷婷| 国产麻豆一级精品视频| 久久亚洲不卡一区二区三区| 欧美小说区视频区| 亚洲色图亚洲| 国产成人精品必看| 国产AV无码AV| 日韩中文字幕视频在线观看| 日本欧美韩国国产在线| 精品婷婷| 日韩精品一二三| 综合伊人网12色| 久久超碰97中文字幕| 麻豆精品A片免费观看| 超碰日本97美女人妻人人玩人人爱| 加勒比在线视频一区二区三区| 中文字幕第2页| 青娱乐二区免费| 人妻人人做人人澡人人爽欧美一区| 久久久免费的精品| 欧美天天谢综合网| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 91九久| 亚洲高清内射| 欧美伊人久久综合网| 伊人精品久久网站| 精品 码产区一区二-1080P高清在线www-B029AV| 一区二区高清视频| 激情网色| 十八禁成人网站在线观看| 欧美午夜视频精品久久| 91在线|亚| 国产久久天堂资源| 国产91专区| 亚洲日本天堂| caoni国产亚洲av| 国产动漫操逼视频| 亚洲色图伊人网| 美女网站黄页| 亚洲中文一区二区三区| 中美日韩毛片| 97日韩| 男人的天堂va在线| 久久久久国产精品喷潮免费观看臀 | 84YTCOM性无码| 噜噜噜无码AV一级一级久久影院| 色狠狠色| 久久r精品| 少妇厨房愉情理伦片bd在线观看| 天美国产精品| 欧美成年人性爱视频免费观看| 乱伦图av| 久久久久久久久久久久久久久久9| 欲香欲色综合天天伊人| 亚洲精品第一| 丝袜视频网国产90| 综合久久97| www.色婷婷色综合| 97网址97| 操我无码| 青青草黑寡妇男人天堂| 日日玩天天干| 自拍偷拍 日韩无码| 91在线视频免费中出| 欧美日韩小说| 激情无码日韩| 91欧美巨乳| 激情综合网五月婷婷五月天| 青青草日韩免费观看高清在线| 成人青青草原伊人| 欧美人与动性人交a| 日日狠狠久久偷偷色综合免费| 青青草原狼av| AV和黑人在线播放| 欧美在线第五页| 亚洲色91| 午夜成人福利影视| 无码乱人伦中文视频| 殴美牲| 久久人妻无码毛片A片麻豆| 激情小说日韩无码| 欧美亚洲情色| 一区,二区,三区视频| 天天爽夜夜爽夜夜爽精| 久久久精品国产亚洲伊人| 黑人性欧美| 夜夜中出国产| 伊人网青青| 国产十八禁视频| 日韩一性一交一A片俄罗斯| 色偷偷2020免费视频播放| 丁香色婷婷| 免费国产视频| 天天影视之亚洲综合网| 91久操| 91bbbbbb| 青青草中日韩在线| 吻戏激情性巴克| 国产区日韩区在线观看| 99精品无码| 亚洲欧美一区二区三区在钱蜜桃| 黄色视频60分钟| 日韩欧美中文字亚洲慕| 久久99精品九九久久久婷婷| 激情五月综合| 亚洲一欧洲中文字幕在线| 九九九久| 91jk色拍| 免费观看啪视频| 亚洲阿v天堂在线| #NAME?| 婷婷激情综合网| 日韩啊V| 热久久无毒不卡| 高清无码在线播放网站| 亚洲欧美天| 亚洲蜜臀懂色| 99爱在线视频| 韩国一级做A片免费的| 欧美日韩国产成人高清| 久久久久久无码人妻中文字幕| 亚洲熟妇自偷自拍另欧美| 亚洲人妻在线一区| 欧美精品久久96人妻无码| 一区二区不卡免费| 无码人妻丰满熟妇奶水区毛片| 欧美日韩国产色图在线| 国产精品美女在线一区| 日韩操逼HD| 黑人娇小av在线播放| 天天综合,91综合永久| 国语精品内射在线观看| 国产最火爆久久国产网站网站| 蜜臀99久| 青青草影视蜜久久| 蜜臀一二三| 欧美日韩国产传媒在线精品| 国产亚洲国产超碰| 在线观看国产黄色| 久久人妻视频网| 日本精品不卡一二三区| 97婷婷色| 超碰人人乐97| 人妻久热在线| 欧美色偷拍 | 无码自拍SM| 人人操人人插人人摸人人干| 欧美岛国精品在线观看| 中文字幕久久婷婷丁香五月天| 三四中文字幕| 蜜臀久久99精品久久久久久婷婷| 天天天干977| 国产91专区| 加勒比海成人视频网| 国产传媒1234区| 91 丝袜在线| 夜夜狼人妻| 一级特级aaaa毛片免费观看| 金莲网址| 全球成人中文在线| 超碰人人在线| 亚洲天堂综合AV| 婷婷九月色| 天天躁日日躁AAA片李宗瑞| 免费在线黄片视频| 神马久久69| 欧美大片天天看| 精品一区二区三区四区外站 | 欧美日韩久久精品爱爱| 私人尤物在线精品不卡| 亚洲国产成人7777| 国产精品亚洲一级av第二区| 风流老熟女一区二区三区l| 中文精品一区二去| 久久久久久AV无码免费网站| 久热伊人99re| 精品一二三区四视频| 国产成人精品一区| 精品人妻一区二区三区鲁大师| 欧美九九九九九| 偷拍 亚洲 欧美| 久久久久久裸体| 美女上床网站| 精品91| 最新av网站在线观看| 欧美一区二区三区四区综合| 欧美啪啪女女| 日韩AV中文字幕电影| 久久人爽| 97亚洲欧美| 99国产在线 精品 视频| www.狠狠干.coom| 91天天c| 另类图片五月天| 欧美 亚洲 在线| 韩日性爱av| 免费一级欧美片片线观看| 熟女日韩| 超碰 欧美| 国产精品午夜AV完会免费 | 国产婷婷一区| 99久久久| 中文字幕狠狠玩| 97资源超碰| 国产久久男人天堂| 日韩性爱小视频| 国产99 中文字幕日韩小视频| 久操99| 97欧美色| 国产传媒操逼视频| 高树玛利亚无码流出| 男人天堂免费| 最新亚洲人成网站在线影院| 日韩AV电影网站| 97热视频在线观看| 国产福利在线视频网站| 少妇三P| 亚州春色| 中文字幕久久婷婷丁香五月天| 新婚人妻扶着粗大强行坐下| 少妇三P| 俺去啦俺来也久久综合| 五月天激情网站| 一本正道久久熟女| 久久久女人| 国产精品婬乱一级毛片彝族| 久久亚洲人妻| 成人av毛片在线观看| 婷婷五月综合在线| 久久久少妇诱惑精品视频| 亚洲天堂男人网| 香蕉久久国产AV一区二区| 97精品97久久| 十八禁的黄污污免费网站| 亚洲精品丝袜| 日本操逼视频免费| 伊人影院在线理论播放| 97丝袜亚洲在线播放| 日本αv| 3571色综合一区二区二区| 亚洲91射| 97色碰| 91n处女在线观看| 爽 好舒服 无码刺激久久| 亚洲精品不卡一二三区| 免费中文在线| 久久欧美激情| 久久一区无码| 欧美一级特黄淫片在线观看| 十八禁一区二区无码观看| 国产精品毛片?v一区二区三区| 中文字幕在在线观看网站| 日韩欧美性爱电影在线观看| 日本一区二区三区欧美日韩中文字幕| dy888午夜老子影视达达兔| 骚逼高潮久久精品| 色呦呦国产精品免费看| 国产25页| 五月天色色网站| 久久久久久加勒比| 国产性感在线观看| 熟女六十路| 欧美九九九| 色蜜AV| 一区二区乱码福利| Julia Annxxxxx| 五月天色五月| 亚洲无码视频免费在线观看网址! J?P?NESEHD熟女熟妇伦 | 成人女人国产| 亚洲αv一区二区三区| 亚洲中亚日激情视频| 精品区国产区一区二区三区| 亚洲无码电影久久久| 蜜臀色乳| 97色色色| 日韩精品碰碰| 啊啊啊啊好多水| 久久久久久久少妇| www.人人cao| 91东北熟女| 中文字幕97色| 亚洲色五月| 九九综合久久中文字幕| 亚洲婷婷丁香在线| av爱爱爱| 葡萄牙性视频一二区| 中文字幕一区二区在线日韩精品| 欧美日韩日产免费网站看| 久艹伊人精品综合在线| 中国熟女网站| 国产肏逼网站| 91在线无码精品秘 软件| 色女网日韩| 青青草五月份天| 日韩熟女操逼| 91操人视频| 美女黄码视频午夜| 丁香五六月啪啪| 9九九九九视频在线观看| 99re在线视频| 免费一级特黄特色大片在线观看看 | 青青在线视频日韩欧美| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 91少妇人妻| 狼狼色丁香久久婷婷综合五月| 无码色| 夜夜无码| 麻豆这里只有精品| 超碰视97中文| 一区在线国产播放| 久久精品视| 中文操嬖片。| 国产第11页| 亚洲高清无码在线桃色| 国产美脚女优尤物在线观看| 亚洲国产精品无码AV久久| 91GD.COM| 亚洲Av诱惑| 青青国产精品在线| 日韩性爱啪啪视频| 午夜婷婷| 3p国产色噜噜一区| 精品小视频在线| 成人精品久久| 丁香五月天堂网| 亚洲精品丝袜| 亚洲国产成人精品无码专区| 国产精品网址| 日本顶级天天操狠狠操夜夜操中文字幕| 日韩操人| 99亚洲天堂| 国产熟女| 天天干人人看综合| 99国产在线绯色一区| 国产精品熟女一区二区三区| 精品999一区二区| 狼人综合婷婷激情四射 | 狠狠色婷婷7777久| 精品福利| 视频黄站| 美女淫穴| 五月丁香激情综合| 激情无码日韩| 国产自制av蜜乳| 色臀aV| 怡红院视频在线| 亚洲蜜桃V妇女| 一本色道无码DVD中文字幕| 操老熟女AV| 欧美一区二区传媒| 97人肏| 99久在线精品99re8热| 成人性爱AV在线免费观看| 亚洲一区二区中文字幕| 久久精品99久久久久久| 男人天堂站| 大香蕉亚洲中文| 久久婷婷综合国际产色怕| 午夜乱轮操逼视频免费看| 国产精品美女| 玖玖爱影院| 淫淫综合网| 久久久久深夜无码| K8久久久久| 少妇内射视频| 欧美性视频二区三区| 国产亚洲日本| 97精品97久久| 91亚洲黄色网| 久久老女人| 国产日本久久免费精品| 日日日骚女人精品| 婷婷五月色| 狠狠色噜噜狠狠狠狠狠色综合久久| 蜜臀在线网站| 无码操逼天堂| 亚洲色五月| 青娱乐亚洲热| 一区二区三区一亚洲中文字幕、综合区灬 | 97视频www| 92大香蕉| 国产一线二线三线av| 日韩欧美久久婷婷网站| 岛国黄| 欧美一级久久久久久久大片动画| 精品人体无圣光凹凸| www.av在线视频| 九九九九久久久久| 人妻色情天天操| 91肉丝| 成人小说视频在线精品欧美| 一级黄色视频网| www.狠狠操| 天天做天天爱天天爽AV| 亚洲色综网| 草草草视频在线免费看| 国产熟女完整版中字| 五月天综合网| 97超碰国产亚洲精品| 大JI巴好深好爽又大又粗视频| 亚洲中文一区二区三区| 少妇99成人麻豆| 怡红院亚洲怡春院av| 美国日韩黄片| 中文字暮97| 33044男人的天堂深夜备| 亚瑟国产精品久久无码| 夜夜爽33333| 亚洲天天自拍| 3D污黄视频在线观看| 精品国产国产AV| a级免费在线观看| 久久人妻视频| 亚洲色图欧美色18直播在线| 欧美色性爱| 小明看看网址| 99国产在线 精品 视频| 亚洲欧洲精品成人| 中文字幕黄片在线| 午夜天堂网| 亚洲精品一二区| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 亚州大图综合色图| 国产亚洲中文不卡二区| 97欧美久久久久久久| 久草大| 综合伊人网12色| 精品性爱无码在线播放| 97综合在线观看| 日韩激情无码影院| 国产高清在线观看欧美| 成人看片网站| 国产精品久久久吖| 一级A啪啪啪啪| 久久久九| av操操不卡| 日韩黄片视频试看| 欧美96交| 真实高潮91| 亚洲中文日韩欧美大香蕉视频| 97视频新免费| 男人兔费天堂| 思思热免费在线视频| 欧美综合自拍亚洲综合图| 东京热激情视频一二三区| 黄色大片免费在线| 大逼色网站| 亚州 综合 色图| 五月天开心网| 国产福利影视| 欧美极品美女aaaaaa级黄片| 丝袜色综合| 天综合网| 日本肉体xxxx裸交| 久久五月天婷婷丁香中文字幕| 淫穴高潮色图| 综合91网| 欧美第38页| 天天日B狠狠操| 啊啊啊操一区| 日本一级性爱| 国产高清精品福利| 日韩色欲久久一二三四区| 久久久久白虎| 久久伊人东京热| 无码人妻系列少妇| 中文字幕文字幕无码一区二区三区电影99| 大香蕉宗合网在线| 丁香婷婷久久| 色色五月天激情| 精品婷婷| 色色激情| 91色艳| 欧美三级一级| 激情图片亚洲色图| 97综合久久| www.色婷婷| 一区操逼日比视频| av天堂电影网| 大干人妻| 九九人妻| 九九色热| 四虎AV影视国产精品亚洲精品| 99久久无色码| 亚洲日韩XXX| 自拍亚洲综合| 久久老女人| 天天日日夜夜| 桃花色涩综合影院| 久久久久久AⅤ无码免费肉站| 色噜噜婷婷| 欧美 亚洲| 激情六月婷婷| 五月丁香六月| 五月天婷婷小说| 欧美少妇一区二区三区| 97久久久精品| 久热最新在线杭州| 韩三级a视频在线观看| 五月丁香社区婷婷日韩欧美精品影院| 中字乱伦AV| 一区二区蜜臀| 麻豆久久精品亚洲精品88| 嗯啊视频免费在线观看| 亚洲图片欧美在线视频| 天天看特黄的免费网站| 亚洲性高潮| 交换娇妻呻吟声不停中文字幕| 色优久久| 人妻熟女一区二区| 中文字幕AV乱伦| 日韩欧美视频青青| 97超碰公开| 人妻乱仑一区二区三区| 91夜夜蜜桃臀1区2区3区| 久久久91| 六月激情网| 91 偷| 久久美女福利是上海美女| 中文字幕人乱码中文字的预防方法 | 懂色AV中文| 97超碰9| 欧美性天天影视| 亚洲天堂资源在线| 九九色综合| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 日本Xx性爱| 久久久久斤小| 国产精品三级视频网站| 欧美激情一| 男人的天堂啪啪啪啪啪蜜桃不卡| jizz啪啪| wuyechaopeng| 精品一级毛片在线观看| 久久超碰国产一区二区三区| 使劲用力艹少妇视频一区二区| 国产精品视频一区二区三区八戒| 欧美精品自慰系列寂寞少妇 | 丰满少妇人妻久久久久久| 综合色一区三区二区| 超碰av在线| 操熟女91| 操逼视频亚洲| 自拍偷拍2025在线观看| 九九内射在线| 亚洲性综合| 久久激情婷婷| 91c色| 欧美精品99久久久| 亚洲免费97免费| 人妻熟女一区二区在线视频| 在线综合 亚洲 欧美中文字幕| 国产亚州高清国产拍精| 91女网站| 成人一二三区| 韩日性爱av| 999狠狠综合| 精品美女人人干| av网站免费看| 国产一区二区视频在线播放| 大香蕉99热| 欧美性性性| 亚洲精品第一| 久久偷拍人| 亚洲欧美不卡线| 在线中文字幕极品av| 嗯嗯啊啊啊好舒服| 夜夜欧美 | 日日夜夜干| 九九人妻| 思思热久久成人| 欧美日本久久精品一区 | 天天草天天干天天日| 亚洲91色在线| 五月婷亚洲精品天堂| 日韩不卡av一二三| 亚洲无限观看| 欧美自拍偷拍综合图片| 成年女人一区| 999精品女人| 国产成人+综合亚洲+天堂| 亚洲天堂美臀在线| 色综合久久av| 91中文精品日韩欧美在线 | 99啪| 国产白丝av| 96精品在线| 国产精品一区二区密臀| 国产激情视频在线观看| 97超碰欧美手机在线| 黄色一区二区秘书性感| AV99热18这里只有精品| 日韩性爱视频在线免费观看| 日韩激情视频| 日本黄色大片一级视频免费麻豆| 夜夜操av亚洲一区二区| 一区二区三区美女超清| 蜜臀AV成人精品蜜臀AV久久| WWW操逼| 久操在97| 中日韩欧美精品无码AⅤ一区二区| 色网在线| 精品区国产区一区二区三区| 麻豆色99999| 九热视频| 五月丁香激情四射| 欧美色图私拍91| 国产一区二区三区白丝| 天天激色| 中文字幕性感少妇av| 久久伊人东京热| 玖玖综合.com| 国产日韩无码一区二区三区久久区| 操美女人妻| 一本一道波多野毛片中文在线| 四虎在线免费视频| 欧美操人| 一本色道无码DVD中文字幕| 18岁禁 茉莉成人久久| 欧美性爱www免费版| 精品少妇高潮久久| 色穴精品| 操操逼操操逼操操逼逼| 97人人夜| 久久久久久久久九九久孕交| 人妻系列无码专区中文有码| 婷婷10月天青娱乐| 欧美性区| 欧美中出1| 97精品久久| 91欧美性| 男人的天堂亚洲| 亚洲日韩精品久久久久一区壹牛| 日韩中文字幕宗合在线| 青青草中文-久久青草精品一区二区三| 亚洲无线观看久久| 婷婷九月国产| 蜜臀精品1区2区| 日本五十路熟女一区二区| 亚洲欧美不卡线| 999 久久久| www.狠狠| 亚洲暴力强奸AV| 精品午夜福利导航| 免费国产| 大香网伊人久久综合网eew| 狠狠爱综合| 午夜.DJ高清在线观看免费7 | 婷婷伊人网| 成人无码在线超碰网| 一二三区视频在线观看| 精品999日本| 日本有码久久| 国产精品熟女乱伦| 亚瑟国产精品久久无码| 久久久久久久97| 丰满少妇精品一区二区| 五十路熟女工口| 蜜臀久久久久久999| 国产精品一区二区 尿失禁| 亚洲中文字幕精品一区| 老司机香蕉| 欧美日韩美女精品久草一区二区三区| 97视频观看| 国产激情久久久| 玖玖玖玖精品国产剧情| 日韩中文字幕国产| 91精品国产91综合久久蜜臀| 老熟女综合网| 久热99999| 成人精品视频| 校园春色中文字幕AV| 欧美日韩资源在线| 大香蕉AV丝袜| 狼人综合婷婷激情四射 | 中文精品一区二去| 人妻一区二区三区视频| 免费无码婬片AAAA片直播色戒| 色爱亚洲| 91 丝袜在线播放| 蜜臀99久久国产| 日韩有码中文字幕女同性恋| 91天天综合在线| 欧美97免费| 东京热,男人的天堂| 国产视频97| 一本大道青青| 欧美性性性| 97资源久久| 青青草国产欧美非洲黑人| 久久久久久综合久久伊人蜜月| 欧美日综合| 日韩人妻无码不卡网站| 亚洲 在线| 91久久| 福利视频香蕉免费一区二区在线| 欧美成人免费在线观看| 自拍内地三级在线观看| 免费自拍三级综合| 日本女优在线视频福利| 亚洲操人| 久久婷婷国产一区二区色| 天天肏美女| 色情亚洲日本成人| 干B| 日本不卡免费二区| 精品视频久久| 亚洲国产成人7777| 免费在线黄片视频| 99久久婷婷国产综合| 麻豆久久久一区二区| 中日无幕一二三四区| 熟妇艹鸡八| 色婷婷一区二区三区久久午夜| 极品少妇久久久久| 98久久| 日本性爱欧美性爱| 亚洲最大无码中文字幕网站| 一二三四免费视频| 欧洲一区二区三区免费| 夜夜嗨一区二区三区三州加勒比| 欧美写真视频一区| 国产日韩手机视频在线| 国产激情在线| 日韩伦理久 久久 清纯| 九七毛片九九毛片| 欧美中文综合| 欧美日韩操逼动图| 色婷婷丁香五月| 欧美se亚洲| 久久99干一本高清| 日韩有码 一区二区三区| 国产色精品午夜大片| 免费视频无码| 久久宗合亚洲| 亚洲人妻在线精品| 人人操人人大香蕉| 亚洲国产剧情少妇激情| 久久久久久免费电影| av网站免费看| 天天干天天狼在线视频| 桃色六月天| 凹凸 69堂 在线播放| 翔田千里Av在线| 天天日天天操心| 日日日色色色色色| 亚洲人成网站7777| 亚洲另类在线观看| 久久熟女久| 国产精品点击进入在线影院高清| 亚洲成?V人片在线观看福利| 久久国产对白激情浪潮| 日韩熟女精一区二区三区不卡| 人人看欧美性爱| 久久精品视频久久久| 精品少妇一区二区三区| 在线色导航| 久久一留热品黄| 亚洲熟女人妻中文字幕一区二区| 中日韩熟女| 超碰人妻中文在线| 一区二区三区美女超清| 国产成人亚洲精品自产在线| 97视频在线免费| 国产精品一区午夜福利| 欧美图片色综合| 欧美日韩1234| 志村玲子视频一区二区| 麻豆色约约| 美女操逼福利视频| 青青草乱入乱欲视频在线观看| 国产成人亚洲精品无| 色色99| 另类欧美色| 九九99久久| 欧美色图校园春色| 久/久精品99看9| 亚洲第一页色网| 韩国一级婬片A片AAAAA| 亚洲97网站| 日韩亚洲Av人人夜夜澡人人爽| 超碰这里只有精品| 天天做日日做| 日韩美女高潮喷水视频| 精品久久久久久无码| 99r九九| 黄色无码高清黄色无码网站| 亚欧精品久久久久久久久久久| 98超碰欧美| 99激情| 国产久久久久久| 婷婷色影院| 九九九九免费高| 国产性久久久| 亚洲人人夜夜澡人人爽| 三级网色| 久久久一二三四区| 久久精品99| 青青久久艹| 中文字幕 一区二区 亚洲无码| 少妇久久久久久| 亚洲国产综合久久久性感熟妇| 欧洲在线性爱视频| 欧美黑人与女人91~| 欧美一区二区一级岛国大片| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 五月丁香黄色网| 歐美一級亂黃99在綫精品| 国产精品一区二区手机看片| 欧美精品 - 91爱爱| 国产网红精品| 插插综合网天天影视网| 亚洲精品一区中文字幕乱码| 深夜福利黄片| 18禁久极品美女久久哦哟呀!| 2021久久国产综合精品青草| 青青草公开在线免费不卡视频| 国产女人高潮视频| wwwxxx日本爽| 男人天堂导航| 久久久久久性爱视频| 亚洲欧美自拍偷拍| 大香蕉人妻久久| 国产日韩精品一区二区三区| 欧美极品性爱天天射| 全国男人天堂网| 日本一二区免费| 福利伊人玖玖国产| 日韩9区| 中文幕97| 亚洲天堂区| 99re公开精品免费视频| 91美女在线| 97操在线| 久久精品人体AV| 无套内射人妻在线播放| 俞拍久久国应视频| 国产熟女精品区| 亚洲中文字幕97久久精品少妇| 天天操人人操狠狠插| 国产区在线| 99在线视频播放| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 性久久| 午夜超碰| 蜜臀久久99'精品久久久| 夜夜夜久久| 制服乱伦| 国产人伦a片信息免费片| 久久精品店| 欧美激情黑人| 抽插爽| 国产精品青青草| 去干网最新版| 18禁精品网站在线看| 天天躁日日躁狠狠躁| 色欧美色交综合| 精品久久九| 久久久9视频| 五月丁香激情啪啪| 亚洲最大的综合性av| 久久久国产av美女私房| 欧美色图91| 亚洲色图8| 色欧洲97| 亚洲色入欧美| 91成人国产综合久久精品蜜月| 99色视频| 99性视频| 岛国成人av在线播放网址| 亚洲蜜乳av| 成人无码在线超碰网| 2024黄色视频| 97手机日韩| 亚洲国产欧美另类自拍| 欧美片第一页| a级免费在线观看| 中文字幕三四五区| 91狠狠综合久久| 国产97色在线 | 亚洲| 精品一区二区久久| 一区二区亚州激情久婷婷欧美| 啊啊啊啊啊啊啊好爽不要| 国产视频一区二区三区久久亚洲天堂| 成人夜夜爽| 97九色人妻| 嗯嗯嗯啊啊啊在线免费观看| 亚洲精品 大香蕉| 久热99| 这里有精品| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 91黑丝美女| 欧洲与亚洲欧美精品中文字幕| 日本丝袜美腿人妻九九| 亚洲91亚洲| 欧美在线啊啊啊| 亚洲限制级| 日韩欧美中文字| 日韩 女同 综合| 2019男人的天堂| 久久久啊啊啊| 亚洲欧美色图片| 亚洲无码com| AV在线性爱| 色综合av男人天堂| 色色色999| 亚洲人成色9999精品久久| 自拍丝袜美腿人妻| 久久综合av| 99少妇| 欧美不卡五十路| 久久综合资源一区二区| 国产精品久久久久久久久AV大片| 激情视频网址| 无码一区二区三区四区五区六区七区八区九区十区视频 | 男人天堂新| 久久亚洲中文字幕视频| 美女尤物人人操| 9色在线| 久久熟妇五十路一区| 亚洲精品不卡一二三区| 妇女一区二区三区| 日韩中文字幕视频| 日本亚洲熟女视频| 这里是精品| 久久噜噜噜精品国产亚洲综合| 精品人妻丰满熟妇一区二区三| 亚洲精品久久久久毛片A片拉屎 | 亚洲啪AⅤ永久无码| 成人性爱全视频观看| 口爆综合网| 欧美综合 站| 69精品| 亚洲日韩美女中文字幕乱| 九九内射在线| 在线小视频| 亚洲美女av无码| 乱伦系列一区二区| 精品国产99| 91熟女丨老女人| 色色色色日本| 精品久久久中文字幕不| 色综合1991| 国产精品人妻一区二区| 91操人视频| A男人的天堂| 天堂无码| 大香蕉av在线| 久久6热精品99视频| 三男一女不戴套的A片| 婷婷色综合| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 插插综合网天天影视网| 另类TS人妖一区二区三区| 天天舔天天 | 看免费一级在线播放毛片| 日韩九区| 亚洲少妇激情一区二区三区| 蜜乳AV免费观看| 亚洲情色第一页| 国产精品对白自产拍| 岛国网址国产 | 亚洲国产亚洲天堂| 九九热久久99精品re| 久久免费老司机精品| 成人无码欧美一级A片狼牙直播| 黄页网站免费高清在线观看| 情色av电影| 国产激情视频一区区三区| 五月香婷婷| 亚洲在线综合| 亚洲成A∨人影院在线欢看| 1024手机看片欧美日韩| 国产亚洲精品A在线观看下载| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 欧洲站一级二级三级h| 国产人妖视频一区在线观看| 国产熟妇一区二区| 美女操逼A A| 色婷婷成人综合| 国产日韩精品suv| 青青草在线成人视频| 97aiaiai| 人妻精品综合中文字幕在线 | 夜色AV无码手机在线影院 | 综合色啪| 91高清欧美| 99热在线观看| 日韩精品-原创伙伴| 九九热精品视频在线观看| 97色操| 91黑丝在线播放| 亚州欧美色图| av在线人气| 日韩中文字幕视频| 欧美亚州综合图片| 人人摸人人添人人操| 亚洲影视第一页| 91|九色|国产熟女| 午夜噜噜噜| 精品国产乱码久久久久久影片| 亚洲日韩美女丝袜美腿人妻视频| 男人天堂婷婷五月天校园春色| 啪啪啪综合网| 国产AV人人 夜夜人人澡| 久久精品久久九九精品| 日韩欧美中文字| 色狠狠综合| 屁股久久久久久| 亚洲色性情三级| 欧美顶级黄色大片免费| 日韩无码服务区| 少妇超碰在线| 摸奶性爱视频网站在线免费播放| 美女诱惑在线一区| av一区二区三区 中文| 天天综合网91| 亚洲男人天堂2016| 99ri精品| 91P0RNY大屁股人妻| 岛国不卡超碰护士AV在线播放| 99久久久久| 日本爽爽爽爽爽爽免费视频| 操淫穴亚洲五月丁香| 五月丁香色婷婷| 国产a片操逼| 亚洲区 欧美区| 91国产大片| 色色婷婷丁香| 日熟女| 欧美欧美少妇| 99色婷婷中文字幕乱色| 亚洲日本韩国在线| 精品国产三级av韩国在线| 国产精品久久久久久久久久二区三区| 大香蕉520| 免费无码国产精品v片在线观看| 国产青青综合伊人| 久久嫩草国产成人一区| 强奸乱伦αv片| 五月丁香黄色网| 欧美少妇高潮视频| 人人超碰在线观看黄| 桃色五月天| 十八禁的黄污污免费网站| 香蕉人欧美综合| 后入式999| 五十路熟女工口| 男人的天堂2010| 插日本熟女视频| 日本操逼视频不卡直接放| 凌辱美少妇久久aV| 久久久91福利姬| 91中文精品日韩欧美在线 | 长久操视频| 天天综合香 ld视频| 九九性视频| 精品v日韩欧美国产| 亚洲国产成人精品999| 奶水 人妻 哺乳 在线| 天堂综合| 欧美日韩大陆黑人少妇99| 日韩乱码Av| 色婷婷影视| 久久久久久AⅤ无码免费肉站| 中文字幕AV乱伦| 精品无码久久久久久久杏吧| www.人人摸在线视频| 中文字幕人乱码中文字的预防方法 | 国产激情在线| 午夜激情成人在线观看| 欧综合网| 亚洲久久天堂| 91男同| 欧美日韩婷婷中文| 久久久久密| 国语人妻精彩刺激| 欧洲色| 久草五月| 五月天综合在线| 欧美日韩性爱视屏免费看了| av无线看| 欧美日韩日产免费网站看| 亚洲一卡二卡在线免费| 日韩一级欧美一级国产一级台湾| 欧美色图91| 美女啊啊啊啊啊| 大奶的诱惑| 欧美综合另类| 四虎精品一区二区| 久久精品店| 91亚洲欧洲| 欧洲久久一二线| 密乳视频在线| 国产午夜在线观看| 一区在线精品中文字幕| 超碰97久久| 亚洲AV无码秘 蜜桃臀国精产品| 久久久999| 日本操逼aaaaa| 飘花国产午夜精品不卡| 伊人久久综合影院| 成人性爱视频在线看| 加勒比久久综合网高清| 天堂亚洲欧美| 一区二区影院| 久久性爱网站| 99re国产中文字幕| 伊人久久婷婷| 精品超碰中文在线|