《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > Linux網絡驅動程序功能分析
Linux網絡驅動程序功能分析
中電網
摘要: 如果網絡設備(包括wireless)是PCI規范的,則先是向內核注冊該PCI設備(pci_register_driver),然后由pci_driver數據結構中的probe函數指針所指向的偵測函數來初始化該PCI設備,并且同時注冊和初始化該網絡設備。
關鍵詞: Linux 網絡驅動 PCI
Abstract:
Key words :

1.驅動模塊的加載和卸載

如果網絡設備(包括wireless)是PCI規范的,則先是向內核注冊該PCI設備(pci_register_driver),然后由pci_driver數據結構中的probe函數指針所指向的偵測函數來初始化該PCI設備,并且同時注冊和初始化該網絡設備。

如果網絡設備(包括wireless)是PCMCIA規范的,則先是向內核注冊該PCMCIA設備(register_pccard_driver),然后driver_info_t數據結構中的attach函數指針所指向的偵測函數來初始化該PCMCIA設備,并且同時注冊和初始化該網絡設備。

static int __init tg3_init(void)

{

//先注冊成PCI設備,并初始化,如果是其他的ESIA,PCMCIA,用其他函數

return pci_module_init(&tg3_driver);

}

static void __exit tg3_cleanup(void)

{

pci_unregister_driver(&tg3_driver);//注銷PCI設備

}

module_init(tg3_init); //驅動模塊的加載

module_exit(tg3_cleanup); //驅動模塊的卸載

申明為PCI設備:

static struct pci_driver tg3_driver = {

.name = DRV_MODULE_NAME,

.id_table = tg3_pci_tbl, //此驅動所支持的網卡系列,vendor_id, device_id

.probe = tg3_init_one, //初始化網絡設備的回調函數

.remove = __devexit_p(tg3_remove_one), //注銷網絡設備的回調函數

.suspend = tg3_suspend, //設備掛起函數

.resume = tg3_resume //設備恢復函數

};

2.PCI設備探測函數probe,初始化網絡設備

static int __devinit tg3_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)

{

//初始化設備,使I/O,memory可用,喚醒設備

pci_enable_device(pdev);

//申請內存空間,配置網卡的I/O,memory資源

pci_request_regions(pdev, DRV_MODULE_NAME);

pci_set_master(pdev);

//設置DMA屬性

pci_set_dma_mask(pdev, (u64) 0xffffffffffffffff);

//網卡 I/O,memory資源的啟始地址

tg3reg_base = pci_resource_start(pdev, 0);

//網卡I/O,memory資源的大小

tg3reg_len = pci_resource_len(pdev, 0);

//分配并設置網絡設備

dev = alloc_etherdev(sizeof(*tp));

//申明為內核設備模塊

SET_MODULE_OWNER(dev);

//初始化私有結構中的各成員值

tp = dev->priv;

tp->pdev = pdev;

tp->dev = dev;

……

//鎖的初始化

spin_lock_init(&tp->lock);

//映射I/O,memory地址到私有域中的寄存器結構

tp->regs = (unsigned long) ioremap(tg3reg_base, tg3reg_len);

dev->irq = pdev->irq;

//網絡設備回調函數賦值

dev->open = tg3_open;

dev->stop = tg3_close;

dev->get_stats = tg3_get_stats;

dev->set_multicast_list = tg3_set_rx_mode;

dev->set_mac_aDDRess = tg3_set_mac_addr;

dev->do_ioctl = tg3_ioctl;

dev->tx_timeout = tg3_tx_timeout;

dev->hard_start_xmit= tg3_start_xmit;

//網卡的MAC地址賦值dev->addr

tg3_get_device_address(tp);

//注冊網絡設備

register_netdev(dev);

//把網絡設備指針地址放入PCI設備中的設備指針中

pci_set_drvdata(pdev, dev);

}

3.注銷網絡設備

static void __devexit tg3_remove_one(struct pci_dev *pdev)

{

struct net_device *dev = pci_get_drvdata(pdev);

//注銷網絡設備

unregister_netdev(dev);

//取消地址映射

iounmap((void *) ((struct tg3 *)(dev->priv))->regs);

//釋放網絡設備

kfree(dev);

//釋放PCI資源

pci_release_regions(pdev);

//停用PCI設備

pci_disable_device(pdev);

//PCI設備中的設備指針賦空

pci_set_drvdata(pdev, NULL);

}

4.打開網絡設備

static int tg3_open(struct net_device *dev)

{

//分配一個中斷

request_irq(dev->irq, tg3_interrupt, SA_SHIRQ, dev->name, dev);

/* int request_irq(unsigned int irq,

void (*handler)(int irq, void *dev_id, struct pt_regs *regs),

unsigned long irqflags,

const char * devname,

void *dev_id);

irq是要申請的硬件中斷號。在Intel平臺,范圍0--15。handler是向系統登記的中斷處理函數。這是一個回調函數,中斷發生時,系統調用這個函數,傳入的參數包括硬件中斷號,device id,寄存器值。dev_id就是下面的request_irq時傳遞給系統的參數dev_id。irqflags是中斷處理的一些屬性。比較重要的有SA_INTERRUPT,標明中斷處理程序是快速處理程序(設置SA_INTERRUPT)還是慢速處理程序(不設置SA_INTERRUPT)。快速處理程序被調用時屏蔽所有中斷。慢速處理程序不屏蔽。還有一個SA_SHIRQ屬性,設置了以后運行多個設備共享中斷。dev_id在中斷共享時會用到。一般設置為這個設備的device結構本身或者NULL。中斷處理程序可以用dev_id找到相應的控制這個中斷的設備,或者用rq2dev_map找到中斷對應的設備。*/

//初始化硬件

tg3_init_hw(tp);

//初始化收包和發包的緩沖區

tg3_init_rings(tp);

//初始化定時器

init_timer(&tp->timer);

tp->timer.expires = jiffies + tp->timer_offset;

tp->timer.data = (unsigned long) tp;

tp->timer.function = tg3_timer; //超時回調函數

add_timer(&tp->timer);

//允許網卡開始傳輸包

netif_start_queue(dev);

}

5.關閉網絡設備

static int tg3_close(struct net_device *dev)

{

//停止網卡傳輸包

netif_stop_queue(dev);

netif_carrier_off(tp->dev);

//去除定時器

del_timer_sync(&tp->timer);

//釋放收包和發包的緩沖區

tg3_free_rings(tp);

//釋放中斷

free_irq(dev->irq, dev);

}

[NextPage]

6.硬件處理數據包發送

static int tg3_start_xmit(struct sk_buff *skb, struct net_device *dev)

{

len = (skb->len - skb->data_len);

//以DMA方式向網卡物理設備傳輸包。如果是wireless的話,需要根據802.11協議及硬件的規范從新填充

//硬件幀頭,然后提交給硬件發送。

mapping = pci_map_single(tp->pdev, skb->data, len, PCI_DMA_TODEVICE);

tp->tx_buffers[entry].skb = skb;

pci_unmap_addr_set(&tp->tx_buffers[entry], mapping, mapping);

//硬件發送

tg3_set_txd(tp, entry, mapping, len, base_flags, mss_and_is_end);

//記錄發包開始時間

dev->trans_start = jiffies;

}

7.中斷處理收包,發包

static void tg3_interrupt(int irq, void *dev_id, struct pt_regs *regs)

{

//如果要收包

tg3_rx(tp);

//如果要發包

tg3_tx(tp);

}

8.發包

static void tg3_tx(struct tg3 *tp)

{

struct tx_ring_info *ri = &tp->tx_buffers[sw_idx];

struct sk_buff *skb = ri->skb;

//以DMA方式向網卡傳輸包完畢

pci_unmap_single(tp->pdev, pci_unmap_addr(ri, mapping),

(skb->len - skb->data_len), PCI_DMA_TODEVICE);

ri->skb = NULL;

dev_kfree_skb_irq(skb);

}

9.收包

static int tg3_rx(struct tg3 *tp, int budget)

{

struct sk_buff *copy_skb;

//分配一個包

copy_skb = dev_alloc_skb(len + 2);

copy_skb->dev = tp->dev;

//修改包頭空間

skb_reserve(copy_skb, 2);

//加入數據到包中

skb_put(copy_skb, len);

//以DMA方式從網卡傳輸回數據

pci_dma_sync_single(tp->pdev, dma_addr, len, PCI_DMA_FROMDEVICE);

memcpy(copy_skb->data, skb->data, len);

skb = copy_skb;

 //解析包的協議

skb->protocol = eth_type_trans(skb, tp->dev);

//把包送到協議層

netif_rx(skb);

//記錄收包時間

tp->dev->last_rx = jiffies;

}

10.讀取包的網卡收發包的狀態,統計數據

static struct net_device_stats *tg3_get_stats(struct net_device *dev)

{

//從硬件相關的寄存器讀取數據,累加

//stats->rx_packets, stats->tx_packets, stats->rx_bytes, stats->tx_bytes等

}

11.用戶的ioctl命令系統調用

static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)

{

struct mii_ioctl_data *data = (struct mii_ioctl_data *)&ifr->ifr_data;

switch(cmd) {

//ethtool程序命令的調用

case SIO*HTOOL:

return tg3_ethtool_ioctl(dev, (void *) ifr->ifr_data);

//mii程序命令的調用

case SIOCGMIIREG: {

err = tg3_readphy(tp, data->reg_num & 0x1f, &mii_regval)

data->val_out = mii_regval;

return err;

}

……

}

}

12.PCI設備的掛起和恢復函數

static int tg3_suspend(struct pci_dev *pdev, u32 state)

{

//停用網卡的中斷寄存器

tg3_disable_ints(tp);

//停止網卡收發包

netif_device_detach(dev);

//停止網卡某些硬件,fireware的一些功能

tg3_halt(tp);

//設置網卡的電源狀態

tg3_set_power_state(tp, state);

}

static int tg3_resume(struct pci_dev *pdev)

{

//恢復網卡電源

tg3_set_power_state(tp, 0);

//允許網卡收發包

netif_device_attach(dev);

//初始化收發包的緩沖區

tg3_init_rings(tp);

//初始化網卡硬件

tg3_init_hw(tp);

//打開網卡中斷寄存器

tg3_enable_ints(tp);

}

13.參數設置

在驅動程序里還提供一些方法供系統對設備的參數進行設置和讀取信息。一般只有超級用戶(root)權限才能對設備參數進行設置。設置方法有:

tg3_set_mac_addr (dev->set_mac_address)

當用戶調用ioctl類型為SIOCSIFHWADDR時是要設置這個設備的mac地址。一般對mac地址的設置沒有太大意義的。

dev->set_config()

當用戶調用ioctl時類型為SIOCSIFMAP時,系統會調用驅動程序的set_config方法

用戶會傳遞一個ifmap結構包含需要的I/O、中斷等參數。

總結:

所有的Linux網絡驅動程序遵循通用的接口。設計時采用的是面向對象的方法。一個設備就是一個對象(net_device 結構),它內部有自己的數據和方法。一個網絡設備最基本的方法有初始化,發送和接收。

Linux網絡驅動程序的體系結構可以劃分為四層:

網絡協議接口,網絡設備接口,設備驅動功能,網絡設備和網絡媒介層

網絡驅動程序,最主要的工作就是完成設備驅動功能層。在Linux中所有網絡設備都抽象為一個接口,這個接口提供了對所有網絡設備的操作集合。由數據結構struct net_device來表示網絡設備在內核中的運行情況,即網絡設備接口。它既包括純軟件網絡設備接口,如環路(Loopback),也包括硬件網絡設備接口,如以太網卡。而由以dev_base為頭指針的設備鏈表來集體管理所有網絡設備,該設備鏈表中的每個元素代表一個網絡設備接口。數據結構net_device中有很多供系統訪問和協議層調用的設備方法,包括初始化,打開和關閉網絡設備的open和stop函數,處理數據包發送的hard_start_xmit函數,以及中斷處理函數等。

網絡設備在Linux里做專門的處理。Linux的網絡系統主要是基于BSD unix的socket機制。在系統和驅動程序之間定義有專門的數據結構(sk_buff)進行數據的傳遞。系統里支持對發送數據和接收數據的緩存,提供流量控制機制,提供對多協議的支持。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久久www成人免费无遮挡大片 | 久久婷婷五月综合色精品 | 欧美播放 | 99av国产精品欲麻豆 | 成人毛片一区二区三区 | 精品久久中文字幕97 | 亚洲国产精品久久久天堂不卡 | 91日日拍夜夜嗷嗷叫国产 | 99久久国产露脸国语对白 | 亚洲综合欧美色五月俺也去 | 99精品久久精品一区二区 | 精品国产一区二区三区蜜殿 | 91亚色视频在线观看 | 午夜久久久精品 | 成码无人av片在线观看网站 | 国产黄色激情视频 | 国産精品久久久久久久 | 国产黄色影视 | 蜜桃av抽搐高潮一区二区 | 性欧美18—19sex性高清 | 青青草一区二区三区 | 日本一级片在线观看 | 色婷婷午夜 | 亚洲色图网友自拍 | 97超碰人人澡人人爱学生 | 亚洲性自拍 | 国产女人叫床高潮大片视频 | 亚洲国产精品一区二区www | 日本伊人色 | 国产精品无需播放器在线观看 | 国产精品sm调教免费专区 | 黄色毛片在线 | 国产成人精品网 | 亚洲中出 | 国产一级做a爱片 | 亚洲精品国产一区二区 | 国产精品爽爽ⅴa在线观看 国产精品亚洲精品日韩已方 | 乱中年女人伦av一区二区 | 欧美人妖老妇 | 自拍99| 国产精品久久久久婷婷二区次 | 99热日韩| 国产公妇伦在线观看 | 成人性视频欧美一区二区三区 | 色人阁av | 亚洲精品一品区二品区三品区 | 921国产乱码久久久久久 | 福利一区二区三区视频在线观看 | 操你啦免费视频 | 69xxxx日本 | 亚洲人体一区 | 一本色道久久88综合日韩精品 | 欧美牲交a欧美牲交aⅴ免费真 | 精品三级av无码一区 | 久久99精品久久久久久牛牛影视 | 亚洲一区二区高潮无套美女 | 亚洲精品久久久久久宅男 | 无码免费一区二区三区 | 国产一区网址 | 日韩少妇乱码一区二区三区免费 | 国精产品乱码一区一区三区四区 | 日韩欧美在线播放 | 国产人妻人伦精品1国产丝袜 | 自拍视频一区二区 | 麻豆性生活 | 欧美视频在线播放 | 风韵犹存三浦惠理子aa | 国产a国产片国产 | 97超碰人人澡| www.伊人网| 亚洲人成在线影院 | 成人欧美在线 | 福利在线观看 | 欧美日韩成人 | 亚洲成在线观看 | 色屁屁www影院免费观看入口 | 中文无码av一区二区三区 | 久久av导航| 性色av蜜臀av色欲av | 开心久久婷婷综合中文字幕 | 日韩精品一区二区三区四区在线观看 | 少妇高潮av久久久久久 | 国产精品.xx视频.xxtv | 樱花草在线社区www 国产又爽又黄又刺激的视频 | 欧美草逼视频 | 午夜福利1000集在线观看 | 91成人小视频 | 噼里啪啦在线高清观看免费 | 亚洲第一无码xxxxxx | 久久综合伊人77777麻豆 | 久久99热久久99精品 | 日本不卡免费在线 | 日韩精品国产精品 | 毛片基地黄久久久久久天堂 | 俺来也俺来啦awww官网 | 男女做爰猛烈叫床无遮挡 | 久久国产三级 | 日韩午夜片| 成人久久久久久久久久久 | 91国内精品久久 | 成人欧美一区二区 | 欧美毛片视频 | www17com嫩草影院 | 精品国产自在精品国产 | 9lporm自拍视频区论坛 | 亚洲国产精品无码久久 | 亚洲裸男自慰gv网站 | 毛片在线免费观看网站 | 国产成人av一区二区三区在线观看 | 久操久操| 91九色精品 | 蜜桃av噜噜一区二区三区小说 | 五月天堂网 | 日韩aa视频 | 99久久婷婷国产综精品喷水 | 国产精品无码不卡一区二区三区 | 性一交一黄一片 | 被灌满精子的波多野结衣 | 国产精自产拍久久久久久蜜小说 | 国产精品久久久久久影视 | 日本乱偷互换人妻中文字幕 | 国产a视频精品免费观看 | 精品国产一区二区三区久久久狼 | 亚洲欧洲精品成人 | 日韩毛片一区二区三区 | 日本饥渴人妻欲求不满 | 女人洗澡一级特黄毛片 | 99自拍偷拍 | 91久久精品人人做人人爽综合 | 精品国产91亚洲一区二区三区www | 免费国产a级片 | 国产黄色一级片 | xxxxx国产| www.精品视频 | 无遮挡呻吟娇喘视频免费播放 | 国产人妻人伦精品1国产盗摄 | 成人夜色视频网站在线观看 | 欧美亚洲在线播放 | 女的被弄到高潮娇喘喷水视频 | 秋霞网一区| 国产极品美女高潮无套嗷嗷叫酒店 | 午夜精品久久久久久久99热 | 丰满熟妇乱又伦在线无码视频 | 波多野结衣有码 | 69久久精品无码一区二区 | 亚洲综合av一区二区三区 | av综合在线观看 | 二区三区视频 | 在线免费看黄色片 | 日韩熟女精品一区二区三区 | www欧美亚洲| 国产精品久久久久亚洲影视 | 大陆一级黄色片 | 午夜大片网 | 在线看一区二区 | 伊人久久国产 | 一本一道精品欧美中文字幕 | 少妇做爰xxxⅹ性视频 | 四虎网站 | 韩日一区二区三区 | 国产高清在线精品一区二区三区 | 中国大陆高清aⅴ毛片 | 老司机午夜精品视频资源 | 国产精品久久久久久久第一福利 | 丰满老熟女毛片 | 91九色porn| 操操操操操操 | 国产精品美女久久久久av福利 | 亚洲成av人片香蕉片 | 新狼窝色av性久久久久久 | 久久精品蜜桃 | 少妇愉情理伦片bd | 国精产品一区一区三区视频 | 亚洲第一视频在线播放 | 西西毛片| 91久久国产综合久久91精品网站 | 久久一热 | 91亚洲国产成人精品一区二区三 | 日本一区二区不卡视频 | 午夜av一区 | 国产一级片免费视频 | 日韩亚洲国产中文字幕欧美 | 国产亚洲精品久久久网站好莱 | 88国产精品视频一区二区三区 | 日韩精品一区二区三区四区 | 亚洲国产最新 | 免费av在线 | 九九操 | 成人精品国产一区二区4080 | 蜜桃av在线免费观看 | 亚洲国产精品久久一线不卡 | 亚洲性啪啪无码av天堂 | 国产午夜精品一区二区 | 日韩精品一线二线三线 | 国产91色在线亚洲 | 午夜dj在线观看高清在线视频完整版 | 鲁鲁在线 | 国产又粗又猛又爽又黄无遮挡 | 无码专区一va亚洲v专区在线 | 欧美性xxxx在线播放 | 丰满岳妇乱一区二区三区 | 安野由美中文一区二区 | 国产无套粉嫩白浆内精在线网站 | 91黄视频在线观看 | 亚洲黄色一区二区三区 | 在线视频精品免费 | 久久久久国产一区二区 | 日本人xxxxxx免费泡妞 | 精品国产一区二区三区香蕉 | 偷拍精偷拍精品欧洲亚洲网站 | 粗大的内捧猛烈进出 | 欧美日韩在线看 | 国产小视频在线看 | 亚洲精品久久久乳夜夜欧美 | 免费国产视频 | 炕上如狼似虎的呻吟声 | 91久久国语露脸精品国产高跟 | 在线观看a视频 | 91亚瑟视频| 久久午夜网站 | 性色av一区二区三区咪爱四虎 | 大尺度做爰呻吟舌吻情头 | 尤物精品视频在线观看 | 华人av在线 | 青青免费视频在线观看 | 少妇人妻一级a毛片 | 98国产精品综合一区二区三区 | 少妇裸交aa大片 | 久久中文字幕视频 | 少妇人妻偷人精品无码视频新浪 | 天天摸天天草 | 少妇浴室愉情韩国理论 | 东方av在线播放 | 国产真实乱免费高清视频 | 国产成人av大片大片在线播放 | 丝袜 亚洲 另类 欧美 重口 | 老子影院午夜精品无码 | 大度亲吻原声视频在线观看 | 一区二区在线视频 | 综合色在线 | 插入综合网 | 国产香蕉在线观看 | 国产9色在线 | 日韩 | www亚洲天堂com | 国产91精 | 免费观看污视频 | 国产亚洲精品久久久久蜜臀 | 99re6在线视频精品免费下载 | 特黄特色大片免费播放器下 | 97国产精品理伦影院 | 色哥网| 国产精品一区二区在线观看 | 少妇被躁爽到高潮无码人狍大战 | 亚洲一区二区视频 | 一级黄色片大全 | 制服丝袜美腿一区二区 | 国产精品成人一区二区 | 国产精品99久久久久久人免费 | 黄a在线 | 国产不卡毛片 | 国产乱来乱子视频 | 肉性天堂 | 久久久经典 | 乌克兰少妇videos高潮 | 国产亚洲精品久久777777 | 96看片| 久久久久亚洲精品 | 91最新地址 | 福利综合网 | 国色天香网www在线观看 | 一级全黄少妇性色生活片毛片 | 亚洲精品一线二线三线 | 国产人妻精品久久久久野外 | 国产精品免费无遮挡无码永久视频 | 国产精品av久久久久久网址 | 狠狠做深爱婷婷久久综合一区 | 国产成人综合在线 | 日本理伦片973影视 日本理论片在线 | 国产精品久久久久9999鸭 | 亚洲色图激情 | 免费国偷自产拍精品视频 | 麻豆乱淫一区二区三区 | 久久伊人在| 免费特级黄毛片 | 狠狠躁夜夜躁人人爽视频 | 久久人人玩人妻潮喷内射人人 | 杂技xxx裸体xxxx欧美 | 日韩精品一区二区三区国语自制 | 国产精品久久久久久久久久98 | 大度亲吻原声视频在线观看 | 免费成人小视频 | 中文字幕乱码人妻综合二区三区 | 强开小嫩苞一区二区三区图片 | 人妻中文字幕无码专区 | 亚洲国产制服丝袜先锋 | 日韩欧美亚洲成人 | 熟妇人妻无乱码中文字幕 | 久久国产成人午夜av浪潮 | 亚洲熟女乱色一区二区三区 | 亚洲精品天堂网 | 一品毛片 | 国产对白老熟女正在播放 | 欧美大片一区二区 | 欧美大片免费观看在线观看网站推荐 | 国产在线拍偷自揄拍精品 | 成人av一区二区亚洲精 | 日日摸日日碰夜夜爽av | 免费高潮视频95在线观看网站 | 日本亚洲欧洲无免费码在线 | 我要看免费毛片 | 日韩夜夜 | 国产精品区一区二 | 寡妇亲子伦一区二区三区四区 | 日本精品毛片一区视频播 | 在线观看的网站 | 乱色熟女综合一区二区三区 | 亚洲综合一区无码精品 | 羞羞视频导航 | 久久久亚洲裙底偷窥综合 | 国产伦精品一区二区三区视频免费 | 亚洲 欧美日韩 国产 中文 | 永久免费的啪啪网站免费观看浪潮 | 欧美日韩视频免费观看 | 91嫩草入口 | 国产日韩欧美在线 | 国产一区二区三区成人欧美日韩在线观看 | 五十路熟女丰满大屁股 | 成人深夜在线观看 | av福利在线播放 | yy8090新视觉午夜毛片 | 欧美成人一级片 | 日日操夜夜爱 | 国产一区二区三区影院 | 999亚洲国产精 | 久久精品一区 | 欧美一区二区三区在线视频观看 | 在线亚洲天堂 | 丝袜av在线播放 | 99国产超薄肉色丝袜交足的后果 | 天天色播 | 日韩一区二区三区在线观看视频 | 97性视频 | 热热av| 七月婷婷综合 | 成人在线国产视频 | 国产精品96久久久久久久 | 久久婷婷视频 | 欧洲大片免费 | 成人免费影片在线观看 | 国产精品人人做人人爽 | 性一交一黄一片 | 91免费观看视频在线 | 亚洲乱码一区二区三区在线观看 | 日韩极品在线 | 日日碰狠狠躁久久躁蜜桃 | 欧美黄色免费网站 | 黄色毛片a级 | 老子影院午夜精品无码 | 亚洲一区在线观看视频 | 久久蜜臀精品av | 精品无码久久久久久久久久 | 亚洲欧美日韩精品色xxx | 国产高清精品在线 | 亚洲色精品aⅴ一区区三区 国产黄大片在线观看 | 日韩成人福利 | 国产老头和老太xxxxx视频 | 中文字幕av在线播放 | 成人激情在线观看 | 超碰在线 | 国自产拍偷拍精品 | 中出人妻中文字幕无码 | 久久综合av色老头免费观看 | 国产精品99久久久久久一二区 | 中文字幕一区在线播放 | 国产黄色网址在线观看 | 免费99 | 肉色丝袜足j视频国产 | 亚洲成人午夜av | 亚洲成人福利在线 | 在线看成人av | 天天操天天谢 | 性欧美老妇另类xxxx | 麻豆高清免费国产一区 | 91视频这里只有精品 | 一区一区三区四区产品动漫 | 成年人午夜影院 | 偷偷操网站| 婷婷丁香五月天综合东京热 | 精品毛片一区二区三区 | 欧美又粗又长又爽做受 | 欧美不卡二区 | 黄色大片免费看 | 两男一前一后cao一女 | 亚洲91久久| 国产亚洲综合一区二区 | 先锋影音一区二区 | 少妇全黄性生交片 | 国产视频www | 亚洲国产一区二区天堂 | 日日噜噜夜夜狠狠 | 国产精品免费大片 | 色视频网站在线观看一=区 色视频网址 | 在线无码中文字幕一区 | 久久久久久91香蕉国产 | 国产午夜片 | 久久999视频 | 久久国产免费观看 | 最新国产网址 | 欧美日韩制服在线 | 波多野结衣在线观看一区二区 | 四虎精品永久在线 | 亚洲伊人成综合网 | 69久久夜色精品国产69乱青草 | 都市激情综合 | 农村乱视频一区二区三区 | 一区二区午夜 | 欧美一区二区 | 丰满肥臀噗嗤啊x99av | 日韩精品一区二区三区在线播放 | 色婷婷久久久久swag精品 | 美女黄视频大全 | 国产精品有限公司 | 国产乡下妇女做爰视频 | 欧美我不卡 | 久久免费在线 | 激情欧美一区二区免费视频 | 韩国三级hd中文字幕三义 | 少妇高潮av久久久久久 | 国产毛片毛片毛片毛片毛片毛片 | 99久久国产综合精品1 | 欧美日日摸夜夜添夜夜添 | 国产一区网 | 苍井空浴缸大战猛男120分钟 | 久久99精品久久久久久噜噜 | 国产乱子经典视频在线观看 | 天天舔夜夜操 | 自拍偷拍欧美日韩 | 国产日产精品一区二区三区四区的观看方式 | 香蕉视频网站入口 | 国产日批视频在线观看 | 杨幂一区二区三区免费看视频 | 午夜极品视频 | 把jiji进美女的屁屁里视频 | 黄色毛片视频 | 浓精灌孕h校园5v1 | 艳妇乳肉豪妇荡乳av | 理论片中文字幕在线观看 | 综合久久国产九一剧情麻豆 | 欧美高清免费 | 91麻豆国产精品 | 亚洲日韩小电影在线观看 | 国产专区精品 | 久久水蜜桃 | 天天看夜夜爽 | 先锋影音男人av资源 | 亚洲激情视频小说 | 日韩av无码久久一区二区 | 国产91小视频| 日本在线视频二区 | 亚洲视频在线免费看 | 看特级黄色片 | 国产尤物在线 | 激情av综合 | 波多野结衣调教 | 无码一区二区三区在线观看 | 成人免费在线视频 | 国产美女精品 | 久久精品国产最新地址 | 日本500人裸体仓房视频 | 夜夜艹逼| 欧美性做爰毛片 | 无码欧精品亚洲日韩一区 | 国产第一福利影院 | 美女视频黄8视频大全 | 成人h动漫精品一区二区原神 | 黄色一级片在线播放 | 91国内| 国产一区二区三区乱码在线观看 | 三级福利 | 亚洲日韩一页精品发布 | 欧美在线视频一区二区三区 | 亚洲综合无码一区二区三区不卡 | 91精品无人区卡一卡二卡三 | 精品久久久无码中字 | 成人h片在线观看 | 一色屋精品视频在线观看 | 日韩人妻无码精品久久 | 日韩精品一区二区三区中文无码 | 欧美资源| 国产熟女高潮视频 | 亚洲精品成人福利网站 | 国产精品久久久久9999爆乳 | 韩国毛片网站 | 亚洲国产精品视频一区 | 久草在| 日日噜噜夜夜狠狠视频 | 呦一呦二在线精品视频 | 国产综合久久久久 | 久久99国产精品免费网站 | 最新午夜综合福利视频 | 国内av网站 | 成人精品黄段子 | 粉嫩av一区二区在线播放免费 | 国产精品对白刺激在线观看 | 黄视频网站在线 | 国产精品视频一区二区免费不卡 | 性猛交富婆╳xxx乱大交视频 | 中国凸偷窥xxxx自由视频妇科 | 国产黄色在线播放 | 亚洲国产午夜精品理论片在线播放 | 黑人巨茎大战欧美白妇 | 另类 专区 欧美 制服 | 国产 国语对白 露脸 | 麻豆蜜桃91天美入口 | 91超碰人人 | 4hu亚洲人成人无码网www电影首页 | 成人免费av在线播放 | 免费日韩中文字幕 | 成人性生交大免费看 | 亚洲国产精品精华液999 | 极品销魂美女少妇尤物优美 | 美国美女群体交乱 | 国产黄色影视 | 五月婷婷久 | 国产91对白在线观看九色 | 午夜视频在线观看入口 | 一级在线看 | 国产黄a三级三级三级老年人 | 免费成人看视频 | 国产女人精品视频国产灰线 | 折磨小男生性器羞耻的故事 | 91亚洲国产成人精品一区 | 亚洲成人教育av | 日本精品不卡 | 大桥未久亚洲精品久久久强制中出 | 66av欧美 | 日韩成人无码中文字幕 | 日本免费一区二区三区四区五六区 | 国产一区在线免费观看 | 午夜秋霞影院 | 日韩欧美自拍 | 99精品国产99久久久久久97 | 污夜影院| 干欧美少妇 | 日韩亚洲欧美中文在线 | 国产在线观看码高清视频 | 欧美成人伊人 | 麻豆三级视频 | 青青久操 | 无码欧精品亚洲日韩一区 | 日韩一级理论片 | 亚洲欧美日本一区二区三区 | 真实的国产乱ⅹxxx66小说 | 黑人邻居太猛中文字幕hd | 超碰色人阁| 男女羞羞视频网站 | 欧美成人专区 | 亚洲欧美婷婷六月色综合 | 涩涩网站在线观看 | 羞羞视频网站 | 亚洲精品视频在线观看免费 | 欧美日韩久 | 爱情岛av亚洲论坛自拍品质 | 精品国产乱码久久久 | 一本大道久久a久久精二百 一本大道久久a久久精品综合1 | 丰满岳乱妇一区二区 | 日本伊人久久 | 久久96国产精品久久99软件 | 亚洲女同恋hd | 国产乱弄免费视频 | 国产美女免费 | 狠狠躁夜夜躁人人爽天天bl | 中文国产一区 | 隔壁老王国产在线精品 | 在线人成免费视频69国产 | 亚欧色一区w666天堂 | 灌满闺乖女h高h调教尿h | 久久色资源网 | 久久久影视文化传媒有限公司 | 女高中生第一次破苞av | 国产中文区4幕区2021 | 中文字幕va一区二区三区 | 国产精品丝袜黑色高跟鞋 | 欧美顶级少妇做爰hd | 亚洲天堂免费看 | 亚洲精品av一二三区无码 | 一级少妇淫片免费观看 | 精品人妻va出轨中文字幕 | 一区二区午夜 | 日本一区二区三区视频免费看 | 国产特级毛片aaaaaa高潮流水 | 国产成人精品a视频 | 91porn国产成人 | www白浆| 亚洲国产精品成人综合久久久久久久 | gav成人网免费免播放器播放 | 亚洲精品国产精品乱码视色 | 1区2区3区高清视频 日本肥老妇色xxxxx日本老妇 | 玖玖资源站无码专区 | 99精品大学生啪啪自拍 | 精品无人区无码乱码毛片国产 | 毛片毛片毛片毛片 | 亚洲天堂av网 | 午夜视频1000 | ww成人 | 国产伦理五月av一区二区 | 午夜剧场免费在线观看 | 国产3p又大又爽又粗又硬免费 | 欧美午夜性春猛交xxxx按摩师 | 69精品在线 | 综合亚洲欧美 | 性爱视频日本 | 超乳hitomi在线播放痴汉 | 国产精品久久久一区麻豆最新章节 | 亚洲色婷婷久久精品av蜜桃久久 |