日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenStack 云平台流量监控插件tap-as-a-service(Taas)代码解析(二):

發布時間:2023/12/29 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenStack 云平台流量监控插件tap-as-a-service(Taas)代码解析(二): 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在上一篇文章中,以create_tap_service為例,講解了OpenStack中云端流量捕獲插件Tap-as-a-service的Plugin的代碼流程

(https://blog.csdn.net/m0_37313888/article/details/82693789)

先回顧一下Taas的結構,這篇文章我將繼續講解Taas Agent與Taas Driver的工作流程

neutron對應的OpenStack版本:Queuens,關于如何在生產環境中的openstack上安裝tap-as-a-service插件請看我的另一篇文章https://blog.csdn.net/m0_37313888/article/details/83450245)

1.Taas插件加載與初始化

眾所周知,OpenStack中Plugin只負責數據庫以及消息隊列的維護,工作具體是在agent節點上執行的。taas作為在這里是作為OpenvSwitch的一個extension集成到neutron-openvswitch-agent中,并且在neutron-openvswitch-agent啟動時進行加載與初始化。

首先看一看taas 在agent上的初始化過程

在neutron-openvswitch-agent加載時,順便把taas插件加載的過程:

1)插件加載與實例化

在neutron-openvswitch-agent初始化代碼中(代碼位置:neutron/plugins/ml2/driver/openvswitch/agent/ovs_neutron_agent.py)

,第2290行附近,有這么一段代碼,這段代碼將實例從配置文件中讀出并且添加到ext_mgr作為ext_mgr的一個成員對象。

2288 ext_manager.register_opts(cfg.CONF) 2289 2290 ext_mgr = ext_manager.L2AgentExtensionsManager(cfg.CONF)

對應到neutron/agent/l2/l2_agent_extensions_manager.py中的下面這段代碼

21 L2_AGENT_EXT_MANAGER_NAMESPACE = 'neutron.agent.l2.extensions' 22 23 24 def register_opts(conf): 25 agent_ext_mgr_config.register_agent_ext_manager_opts(conf)

neutron/conf/agent/agent_extensions_manager.py

17 AGENT_EXT_MANAGER_OPTS = [ 18 cfg.ListOpt('extensions', 19 default=[], 20 help=_('Extensions list to use')), 21 ] 22 23 24 def register_agent_ext_manager_opts(cfg=cfg.CONF): 25 cfg.register_opts(AGENT_EXT_MANAGER_OPTS, 'agent')

代碼是直接讀了配置文件中agent部分的extensions選項。具體的配置過程請閱讀https://blog.csdn.net/m0_37313888/article/details/83450245

加載插件的具體位置如下,加載下面這個插件就是創建了下面這個類的一個實例。

[neutron.agent.l2.extensions] taas = neutron_taas.services.taas.agents.extensions.taas:TaasAgentExtension

2)插件的初始化

插件的加載只是在內存中生成了一個實例。但是這個插件實例還沒有具體發揮它的作用,這個插件實例在OVSNeutronAgent的運行過程中才真正發揮它的作用。在neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py中插件管理器作為了OVSNeutronAgent的成員參與到了OVSNeutronAgent的工作中.(下圖中的ext_mgr就是包含了taas的插件管理器)

neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py

2297 try: 2298 agent = OVSNeutronAgent(bridge_classes, ext_mgr, cfg.CONF) 2299 capabilities.notify_init_event(n_const.AGENT_TYPE_OVS, agent) 2300 except (RuntimeError, ValueError) as e: 2301 LOG.error("%s Agent terminated!", e) 2302 sys.exit(1) 2303 agent.daemon_loop()

插件管理器被傳遞到OVSNeutronAgent的成員變量中(下圖)

140 self.ext_manager = ext_manager

之后,還是在這個代碼中,進行下面的操作:1.綁定agent_api操作2.初始化所有的插件

219 agent_api = ovs_ext_api.OVSAgentExtensionAPI(self.int_br, self.tun_br) 220 self.ext_manager.initialize( 221 self.connection, constants.EXTENSION_DRIVER_TYPE, agent_api)

查看具體的 代碼實現如下:

class AgentExtensionsManager(stevedore.named.NamedExtensionManager):"""Manage agent extensions."""def __init__(self, conf, namespace):super(AgentExtensionsManager, self).__init__(namespace, conf.agent.extensions,invoke_on_load=True, name_order=True)LOG.info("Loaded agent extensions: %s", self.names())def initialize(self, connection, driver_type, agent_api=None):# Initialize each agent extension in the list.for extension in self:LOG.info("Initializing agent extension '%s'", extension.name)# If the agent has provided an agent_api object, this object will# be passed to all interested extensions. This object must be# consumed by each such extension before the extension's# initialize() method is called, as the initialization step# relies on the agent_api already being available.extension.obj.consume_api(agent_api)extension.obj.initialize(connection, driver_type)

taas-agent-extension在這段代碼中被加載,我們來看看taas-agent-extension做了啥

class TaasAgentExtension(l2_extension.L2AgentExtension):def initialize(self, connection, driver_type):"""Initialize agent extension."""self.taas_agent = taas_ovs_agent.TaasOvsAgentRpcCallback(cfg.CONF, driver_type)self.taas_agent.consume_api(self.agent_api)self.taas_agent.initialize()def consume_api(self, agent_api):"""Receive neutron agent API objectAllows an extension to gain access to resources internal to theneutron agent and otherwise unavailable to the extension."""self.agent_api = agent_apidef handle_port(self, context, port):passdef delete_port(self, context, port):pass

三件事:

1. 加載本地rpc回調函數類: TaasOvsAgentRpcCallback

2. 加載agent_api: ovs_ext_api.OVSAgentExtensionAPI(self.int_br, self.tun_br)?

3.?初始化本地rpc回調函數類?

本地的rpc回調函數類如下:

class TaasOvsAgentRpcCallback(api.TaasAgentRpcCallbackMixin):def __init__(self, conf, driver_type):LOG.debug("TaaS OVS Agent initialize called")self.conf = confself.driver_type = driver_typesuper(TaasOvsAgentRpcCallback, self).__init__()def initialize(self):self.taas_driver = manager.NeutronManager.load_class_for_provider('neutron_taas.taas.agent_drivers', self.driver_type)()self.taas_driver.consume_api(self.agent_api)self.taas_driver.initialize()self._taas_rpc_setup()TaasOvsAgentService(self).start()def consume_api(self, agent_api):self.agent_api = agent_apidef _invoke_driver_for_plugin_api(self, context, args, func_name):........try:self.taas_driver.__getattribute__(func_name)(args)except Exception:LOG.debug("Failed to invoke the driver")returndef create_tap_service(self, context, tap_service, host):........def create_tap_flow(self, context, tap_flow_msg, host):........def delete_tap_service(self, context, tap_service, host):........def delete_tap_flow(self, context, tap_flow_msg, host):........def _taas_rpc_setup(self):# setup RPC to msg taas pluginself.taas_plugin_rpc = TaasOvsPluginApi(topics.TAAS_PLUGIN, self.conf.host)endpoints = [self]conn = n_rpc.Connection()conn.create_consumer(topics.TAAS_AGENT, endpoints, fanout=False)conn.consume_in_threads()def periodic_tasks(self):........

我們來重點看一看上面函數中的initialize()部分的代碼,這個是agent上的taas-extension的rpc代碼的初始化的核心代碼

1.?

self.taas_driver = manager.NeutronManager.load_class_for_provider('neutron_taas.taas.agent_drivers', self.driver_type)()

看一看NeutronManager.load_class_for_provider

@staticmethoddef load_class_for_provider(namespace, plugin_provider):"""Loads plugin using alias or class name:param namespace: namespace where alias is defined:param plugin_provider: plugin alias or class name:returns: plugin that is loaded:raises ImportError: if fails to load plugin"""try:return runtime.load_class_by_alias_or_classname(namespace,plugin_provider)except ImportError:with excutils.save_and_reraise_exception():LOG.error("Plugin '%s' not found.", plugin_provider)

runtime.load_class_by_alias_or_classname(namespace,? plugin_provider)如下:

def load_class_by_alias_or_classname(namespace, name):if not name:LOG.error("Alias or class name is not set")raise ImportError(_("Class not found."))try:mgr = driver.DriverManager(namespace, name, warn_on_missing_entrypoint=False)class_to_load = mgr.driverexcept RuntimeError:e1_info = sys.exc_info()# Fallback to class nametry:class_to_load = importutils.import_class(name)except (ImportError, ValueError):LOG.error("Error loading class by alias",exc_info=e1_info)LOG.error("Error loading class by class name",exc_info=True)raise ImportError(_("Class not found."))return class_to_load

通過stevedore.driver.DriverManager類動態加載模塊。這是一個與動態加載類有關的模塊。關于這個模塊的使用,可以看看這篇文章:http://www.360doc.com/content/14/0429/19/9482_373285413.shtml

然后self.taas_driver通過給出的namespace:

neutron_taas.taas.agent_drivers

與 driver_type:

ovs? 被加載。具體被加載的類寫在了setup.cfg的entry_points里面

[entry_points] neutron.agent.l2.extensions =taas = neutron_taas.services.taas.agents.extensions.taas:TaasAgentExtension neutron_taas.taas.agent_drivers =ovs = neutron_taas.services.taas.drivers.linux.ovs_taas:OvsTaasDriver neutron.service_plugins =taas = neutron_taas.services.taas.taas_plugin:TaasPlugin neutron.db.alembic_migrations =tap-as-a-service = neutron_taas.db.migration:alembic_migration tempest.test_plugins =tap-as-a-service = neutron_taas.tests.tempest_plugin.plugin:NeutronTaaSPlugin neutronclient.extension =tap_service = neutron_taas.taas_client.tapservicetap_flow = neutron_taas.taas_client.tapflow

即,self.taas_driver?=?

neutron_taas.services.taas.drivers.linux.ovs_taas:OvsTaasDriver

2.

self.taas_driver.consume_api(self.agent_api)

在self.taas_driver, 即neutron_taas.services.taas.drivers.linux.ovs_taas:OvsTaasDriver中,consume_api()方法如下:

def consume_api(self, agent_api):self.agent_api = agent_api

簡單的增加了一個self.agent_api成員

3.

self.taas_driver.initialize()

還是看一下self.taas_driver,

def initialize(self):self.int_br = self.agent_api.request_int_br()self.tun_br = self.agent_api.request_tun_br()self.tap_br = OVSBridge_tap_extension('br-tap', self.root_helper)# Prepare OVS bridges for TaaSself.setup_ovs_bridges()# Setup key-value manager for ingress BCMC flowsself.bcmc_kvm = taas_ovs_utils.key_value_mgr(4096)

這個時候agent_api就派上用場了!這個對象,顧名思義,就是一個agent所映射產生的一個api對象,提供許多訪問本地資源的接口,在ovs中,是本地所建立的網橋與相關網絡設備。我們看到,先是獲取了int-br網橋與tun_br 網橋,來看一看獲取網橋的基本操作,這里agent_api是ovs_ext_api.OVSAgentExtensionAPI(self.int_br, self.tun_br)?

如下

class OVSAgentExtensionAPI(object):'''Implements the Agent API for Open vSwitch agent.Extensions can gain access to this API by overriding the consume_apimethod which has been added to the AgentExtension class.'''def __init__(self, int_br, tun_br):super(OVSAgentExtensionAPI, self).__init__()self.br_int = int_brself.br_tun = tun_brdef request_int_br(self):"""Allows extensions to request an integration bridge to use forextension specific flows."""return OVSCookieBridge(self.br_int)def request_tun_br(self):"""Allows extensions to request a tunnel bridge to use forextension specific flows.If tunneling is not enabled, this method will return None."""if not self.br_tun:return Nonereturn OVSCookieBridge(self.br_tun)

這里OVSCookieBridge讓我們想到了web開發中的cookie,但是這個其實就是把本地的網橋信息淺拷貝一份然后返回給程序進一步使用

class OVSCookieBridge(object):def __new__(cls, bridge):cookie_bridge = bridge.clone()cookie_bridge.set_agent_uuid_stamp(bridge.request_cookie())return cookie_bridgedef __init__(self, bridge):pass def clone(self):'''Used by OVSCookieBridge, can be overridden by subclasses if abehavior different from copy.copy is needed.'''return copy.copy(self)

接著,然后建立了一個tap網橋。這一步是在agent上實現流量拷貝、遷移、以及重定向的重頭戲。

self.setup_ovs_bridges()

具體代碼在neutron_taas/services/taas/drivers/linux/ovs_taas.py

這里為了直觀的展示這個流程,把流程分為4個部分

1.創建一個tap網橋

剛開始我看這一段的時候也很是迷惑,因為ovs有專門的流量鏡像功能啊,為何不直接管理ovs做一個流量鏡像呢?原來,tap-as--a-service的主要設計理念是為不同節點上的虛擬機提供統一的流量捕獲服務,這樣的話方案中流量必須能夠方便的進行跨主機遷移。如果采用vxlan隧道的話就很容易建立新的流量隧道實現流量的跨節點遷移。換句話說,流量既能夠定向到相同宿主機上的另一臺虛擬機,也能重定向到另一臺宿主機上的另一臺虛擬機!

self.tap_br.create()# Connect br-tap to br-int and br-tunself.int_br.add_patch_port('patch-int-tap', 'patch-tap-int')self.tap_br.add_patch_port('patch-tap-int', 'patch-int-tap')self.tun_br.add_patch_port('patch-tun-tap', 'patch-tap-tun')self.tap_br.add_patch_port('patch-tap-tun', 'patch-tun-tap')# Get patch port IDspatch_tap_int_id = self.tap_br.get_port_ofport('patch-tap-int')patch_tap_tun_id = self.tap_br.get_port_ofport('patch-tap-tun')patch_tun_tap_id = self.tun_br.get_port_ofport('patch-tun-tap')

2.刪除預先定義的與tap-as-a-service相關的所有規則

self.tap_br.delete_flows(table=0)self.tap_br.delete_flows(table=taas_ovs_consts.TAAS_RECV_LOC)self.tap_br.delete_flows(table=taas_ovs_consts.TAAS_RECV_REM)self.tun_br.delete_flows(table=0,in_port=patch_tun_tap_id)self.tun_br.delete_flows(table=taas_ovs_consts.TAAS_SEND_UCAST)self.tun_br.delete_flows(table=taas_ovs_consts.TAAS_SEND_FLOOD)self.tun_br.delete_flows(table=taas_ovs_consts.TAAS_CLASSIFY)self.tun_br.delete_flows(table=taas_ovs_consts.TAAS_DST_CHECK)self.tun_br.delete_flows(table=taas_ovs_consts.TAAS_SRC_CHECK)self.tun_br.delete_flows(table=taas_ovs_consts.TAAS_DST_RESPOND)self.tun_br.delete_flows(table=taas_ovs_consts.TAAS_SRC_RESPOND)

3.初始化tap網橋的OpenFlow流表

self.tap_br.add_flow(table=0,priority=1,in_port=patch_tap_int_id,actions="resubmit(,%s)" %taas_ovs_consts.TAAS_RECV_LOC)self.tap_br.add_flow(table=0,priority=1,in_port=patch_tap_tun_id,actions="resubmit(,%s)" %taas_ovs_consts.TAAS_RECV_REM)self.tap_br.add_flow(table=0,priority=0,actions="drop")self.tap_br.add_flow(table=taas_ovs_consts.TAAS_RECV_LOC,priority=0,actions="output:%s" % str(patch_tap_tun_id))self.tap_br.add_flow(table=taas_ovs_consts.TAAS_RECV_REM,priority=0,actions="drop")

這段代碼可能看起來比較吃力,我在下面做出一些解釋:

里面出現了 taas_ovs_consts.TAAS_RECV_LOC 與?taas_ovs_consts.TAAS_RECV_REM兩張表。結合后面的代碼仔細一看,TAAS_RECV_LOC負責處理從br-int過來的流量(流出vm的流量),默認為轉發到br-tun;TAAS_RECV_REM負責處理從br-tun過來的流量,默認為不讓任何來自于br-tun的流量通過。來自其他網橋的流量也默認不通過。

4.初始化br-tun網橋的OpenFlow流表

self.tun_br.add_flow(table=0,priority=1,in_port=patch_tun_tap_id,actions="resubmit(,%s)" %taas_ovs_consts.TAAS_SEND_UCAST)self.tun_br.add_flow(table=taas_ovs_consts.TAAS_SEND_UCAST,priority=0,actions="resubmit(,%s)" %taas_ovs_consts.TAAS_SEND_FLOOD)flow_action = self._create_tunnel_flood_flow_action()if flow_action != "":self.tun_br.add_flow(table=taas_ovs_consts.TAAS_SEND_FLOOD,priority=0,actions=flow_action)self.tun_br.add_flow(table=taas_ovs_consts.TAAS_CLASSIFY,priority=2,reg0=0,actions="resubmit(,%s)" %taas_ovs_consts.TAAS_DST_CHECK)self.tun_br.add_flow(table=taas_ovs_consts.TAAS_CLASSIFY,priority=1,reg0=1,actions="resubmit(,%s)" %taas_ovs_consts.TAAS_DST_CHECK)self.tun_br.add_flow(table=taas_ovs_consts.TAAS_CLASSIFY,priority=1,reg0=2,actions="resubmit(,%s)" %taas_ovs_consts.TAAS_SRC_CHECK)self.tun_br.add_flow(table=taas_ovs_consts.TAAS_DST_CHECK,priority=0,actions="drop")self.tun_br.add_flow(table=taas_ovs_consts.TAAS_SRC_CHECK,priority=0,actions="drop")self.tun_br.add_flow(table=taas_ovs_consts.TAAS_DST_RESPOND,priority=2,reg0=0,actions="output:%s" % str(patch_tun_tap_id))self.tun_br.add_flow(table=taas_ovs_consts.TAAS_DST_RESPOND,priority=1,reg0=1,actions=("output:%s,""move:NXM_OF_VLAN_TCI[0..11]->NXM_NX_TUN_ID""[0..11],mod_vlan_vid:2,output:in_port" %str(patch_tun_tap_id)))self.tun_br.add_flow(table=taas_ovs_consts.TAAS_SRC_RESPOND,priority=1,actions=("learn(table=%s,hard_timeout=60,""priority=1,NXM_OF_VLAN_TCI[0..11],""load:NXM_OF_VLAN_TCI[0..11]->NXM_NX_TUN_ID""[0..11],load:0->NXM_OF_VLAN_TCI[0..11],""output:NXM_OF_IN_PORT[])" %taas_ovs_consts.TAAS_SEND_UCAST))return

以上就是給計算節點開機后,taas插件的初始化過程。關于在實際使用時流表的配置,以及為什么要這么配置,我后期會專門寫一篇文章來講解。

總結

以上是生活随笔為你收集整理的OpenStack 云平台流量监控插件tap-as-a-service(Taas)代码解析(二):的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

在线观看成人毛片 | 欧美日韩视频网站 | 中文字幕免费看 | 国产精品2区| 国产又粗又猛又色又黄网站 | av成人资源 | 午夜精品久久久久久久久久久久久久 | 五月婷婷,六月丁香 | 成人18视频| 日韩欧美国产免费播放 | 日韩久久久久久久久久久久 | av在线专区 | 久久综合九色综合97_ 久久久 | 又紧又大又爽精品一区二区 | 久久精品电影 | 国产精品一区二区三区在线播放 | 天天天干| 又黄又爽的视频在线观看网站 | 伊人影院在线观看 | 免费在线观看黄色网 | 色婷婷激情综合 | 深爱婷婷久久综合 | 精品亚洲午夜久久久久91 | 激情欧美丁香 | 国产精品国产三级国产aⅴ9色 | 一二三久久久 | 日韩精品亚洲专区在线观看 | 国产无遮挡猛进猛出免费软件 | 久久一区二区三区国产精品 | 成人在线黄色 | 欧美老人xxxx18 | 国产精品久久99综合免费观看尤物 | 欧美国产日韩激情 | 欧美福利视频一区 | 久久美女高清视频 | 午夜av在线播放 | 中文国产成人精品久久一 | 久久久麻豆视频 | 福利在线看片 | 五月天久久综合网 | 免费在线一区二区 | 久久激情视频 久久 | 99九九热只有国产精品 | 久久综合九色九九 | 日韩精品免费在线播放 | 日韩精品免费一线在线观看 | 成人a大片 | 亚洲年轻女教师毛茸茸 | 五月天综合网站 | 成人资源在线观看 | 久久婷婷开心 | www.夜夜操| 婷婷伊人五月 | 久久人人爽人人爽人人片av软件 | www.伊人色.com| 视频国产在线观看18 | 国产五月 | 亚洲一区二区三区四区精品 | 成人福利av | 亚洲精品小视频在线观看 | 日韩国产在线观看 | 亚洲综合五月 | 国产视频一区二区三区在线 | 亚洲视频免费视频 | 欧美日韩一区二区免费在线观看 | 91精品在线免费 | 国产一区在线播放 | 91人人爽久久涩噜噜噜 | 天堂在线视频免费观看 | 九色视频网站 | 欧美日韩99 | 日本久久电影网 | 福利久久| av成人在线网站 | 免费a视频在线观看 | 日韩欧美在线免费观看 | 婷婷婷国产在线视频 | 在线视频 成人 | 日韩影视大全 | 国产99免费视频 | 久久久精品欧美 | 久久综合九色 | 色干干 | 精品成人在线 | 国产精品自拍av | 九九热视频在线 | 中文字幕激情 | 久久美女精品 | 久久99亚洲精品久久 | 国产精品一区二区白浆 | 天天操天天射天天添 | 久久综合久久综合这里只有精品 | 99久久婷婷国产 | 在线97| 日韩免费不卡视频 | 亚洲精品在线观看av | 成人黄色电影在线观看 | 91资源在线观看 | 精品国产一区二区三区四 | 色婷婷激婷婷情综天天 | 91大神免费在线观看 | 久久免费视频这里只有精品 | 久色婷婷 | 在线观看免费高清视频大全追剧 | 精品国产乱码久久久久 | 国产91九色视频 | 91精品国产91久久久久 | 91丨九色丨国产在线 | 久久久精品成人 | 一级做a视频 | se视频网址 | 免费午夜网站 | 999久久久久久久久6666 | av在线一二三区 | 色播五月激情综合网 | 中文字幕在线观看完整版 | 91免费网 | 日本公妇色中文字幕 | 中文字幕在线观 | 97精品欧美91久久久久久 | 成 人 a v天堂 | bayu135国产精品视频 | 天天躁天天躁天天躁婷 | 91在线播 | 欧美一区二区视频97 | 成人中心免费视频 | 久热精品国产 | 精品在线看| 久久在线免费观看视频 | 91看成人 | 日韩一级成人av | a视频免费在线观看 | 2022久久国产露脸精品国产 | 97人人模人人爽人人少妇 | 一二三区视频在线 | 成人免费视频网站 | 久久久久99精品成人片三人毛片 | 视频成人 | 国产精品美女 | 久久精品99国产精品日本 | 免费黄在线观看 | 亚洲欧美在线视频免费 | 国产午夜三级 | 99久久精品日本一区二区免费 | 久久精品久久精品久久精品 | 国产很黄很色的视频 | 久草在线观看资源 | 久久er99热精品一区二区三区 | 国产精品毛片久久蜜 | 444av| 人人超碰97 | 99国产精品一区 | 国际精品网 | 国产亚洲精品久久久久秋 | 成人羞羞视频在线观看免费 | 国产一级视屏 | 国产精品手机看片 | 国产午夜一区 | 激情网站五月天 | 中文字幕欧美激情 | 狠狠色丁香久久婷婷综合丁香 | 色狠狠操 | 日韩资源在线观看 | 精品一二三区 | 91在线精品秘密一区二区 | 玖玖在线视频观看 | 玖玖999| 99久热在线精品视频观看 | 精品国产aⅴ麻豆 | 美女网站一区 | 国产精品午夜久久 | 日日爱夜夜爱 | 一区二区三区视频网站 | 欧美一区在线观看视频 | 成人欧美亚洲 | 中文在线字幕观看电影 | 欧美性做爰猛烈叫床潮 | 免费看精品久久片 | 在线播放国产精品 | 一区三区视频在线观看 | 香蕉网址 | 麻豆av一区二区三区在线观看 | 亚洲精品麻豆 | 久久久久成人免费 | 日本少妇久久久 | 在线一区电影 | 少妇激情久久 | 欧美精品久久久久a | 国产精品黄色av | 亚洲高清精品在线 | 久草精品在线播放 | 久久一区国产 | 国产一区二区精 | 国产成人亚洲精品自产在线 | 精品国产乱码久久久久久浪潮 | av免费电影网站 | 久久久www免费电影网 | 亚洲一级特黄 | 国产精品午夜av | 国产精品理论在线观看 | 国产一区二区在线视频观看 | 国产丝袜在线 | 免费观看www小视频的软件 | 精品成人国产 | 日韩欧美大片免费观看 | 国产一区二区三区网站 | 夜夜操狠狠操 | 午夜精品久久久久久久久久久 | 黄色网址中文字幕 | 国产精品专区h在线观看 | 色成人亚洲 | 国产精久久久久久妇女av | 九九免费在线观看 | 国产亚洲婷婷 | 欧美精品在线观看免费 | 在线看片日韩 | 麻豆一区二区 | 国产精品欧美久久久久无广告 | 国产一区国产二区在线观看 | 在线成人小视频 | 久久精品久久99精品久久 | 日韩精品一区二区三区在线播放 | av免费观看网址 | 亚洲天堂网视频 | x99av成人免费 | 久久国产精品久久久久 | 国产精品九九视频 | 免费视频成人 | a在线视频v视频 | 99久久99久久精品免费 | 色婷婷丁香 | 久久久国产精品成人免费 | 久久国产精品一区二区 | 中文字幕黄色 | 国产黄色av影视 | 亚洲欧美日韩精品久久奇米一区 | 免费a现在观看 | 亚洲人人精品 | 超碰人人做 | 亚洲精品自拍视频在线观看 | 国产高清免费视频 | 综合久久久久久 | 久久性生活片 | 成年人在线免费看视频 | 亚洲欧美国产精品18p | 亚洲成av人片在线观看www | 亚洲日韩精品欧美一区二区 | 国产视频亚洲精品 | 国产在线永久 | 精品亚洲在线 | 日本精品久久久久久 | 国内精品久久久久久久影视简单 | www.婷婷com | 69中文字幕 | 久久福利电影 | 免费的国产精品 | 国产黄a三级三级三级三级三级 | 91av在线电影 | 91精品国自产在线偷拍蜜桃 | 久久久国产精品一区二区中文 | 色先锋资源网 | 午夜久久福利 | 国产二级视频 | av日韩av| 黄色av电影网 | 国产精品久久久久永久免费观看 | 欧美精品一区二区蜜臀亚洲 | 色wwww| 99精品视频在线 | 精品综合久久 | 国产亚洲精品久久久久久电影 | www国产亚洲精品 | 91麻豆精品国产自产 | 亚洲日本成人 | 久草在线视频资源 | 人人爱爱人人 | 久久精品男人的天堂 | 91av在线电影 | 日韩精品亚洲专区在线观看 | 香蕉91视频 | 麻花传媒mv免费观看 | 制服丝袜天堂 | 亚洲欧洲精品一区二区精品久久久 | 黄色www | 色a综合 | 中文字幕888 | 日日夜夜天天射 | 国产精品一区二区在线观看 | 国产精品久久久久久婷婷天堂 | 91精品色| 三级黄免费看 | 久久综合五月 | 天天艹天天干天天 | 成人夜晚看av | 一区三区视频 | 97免费在线观看视频 | 日日夜夜精品免费视频 | 亚洲精品中文在线观看 | 欧美性黄网官网 | 亚洲一级免费观看 | 日韩在线二区 | 国产午夜三级一区二区三桃花影视 | 天天操天天操一操 | 久久免费精品国产 | 国产精品99久久免费观看 | www.久久久.cum | 狠狠干成人综合网 | 亚洲最新av网站 | 免费观看性生交 | www.亚洲激情.com | 狠狠干网| 毛片视频网址 | 人人草在线视频 | 国产精品免费久久 | 久久99欧美 | 国产色在线观看 | 视频在线观看国产 | 99人久久精品视频最新地址 | 免费av影视 | 成年人免费av网站 | 国产小视频在线免费观看视频 | 91成人网在线 | 黄色国产大片 | 看片一区二区三区 | 色综合久久88色综合天天 | 国产成人精品亚洲日本在线观看 | 99精彩视频在线观看免费 | 成人91在线观看 | 天天爱天天射天天干天天 | 国产精品不卡在线观看 | 日韩一区二区三区观看 | 日日干激情五月 | 国产精品美女久久久久久久久久久 | 成人a级免费视频 | 在线播放精品一区二区三区 | 国产最新福利 | 国产精品久久久久久久久久久久久 | 最近中文字幕在线中文高清版 | 国产黄大片在线观看 | 亚洲国产欧洲综合997久久, | 婷婷天天色 | 精品影院一区二区久久久 | 美女视频黄的免费的 | 亚洲精品乱码久久久久久写真 | 国产vs久久 | 日韩欧美成人网 | 亚洲黄色在线播放 | 色婷婷综合久久久久中文字幕1 | 国产精品剧情 | 欧美成年性 | 亚洲成人黄色在线 | av中文字幕亚洲 | 91探花系列在线播放 | 日韩,精品电影 | 超碰97.com| 久久久久久国产精品 | 精品欧美乱码久久久久久 | 97人人射 | 亚洲另类久久 | 99精品视频一区二区 | 国产成人精品久久二区二区 | 九九免费精品视频 | 久久看免费视频 | 99婷婷 | 97成人在线视频 | 97视频在线观看视频免费视频 | 成人午夜在线电影 | 日韩精品免费在线观看视频 | 国产无遮挡又黄又爽在线观看 | 亚洲精品观看 | 国产精品一级在线 | 91九色视频在线 | 色婷婷精品大在线视频 | 国产色婷婷精品综合在线手机播放 | 精品国内自产拍在线观看视频 | 91九色porny蝌蚪主页 | 成人三级黄色 | 久久久久高清 | 国产手机视频在线 | 天天干天天干天天色 | 免费看的黄色录像 | 中午字幕在线 | 国产福利精品一区二区 | 亚洲精品国产精品国自产 | 色夜影院| 日本黄色大片免费看 | 日韩精品一区二区三区免费视频观看 | 日本特黄特色aaa大片免费 | 成年人电影免费在线观看 | 国产精品久久久久高潮 | 亚洲精品国产精品国自产在线 | 国产精品久久久久久久电影 | 国产综合片 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 亚洲国产成人精品在线 | 久久99精品国产一区二区三区 | 五月天综合网站 | 亚洲人在线 | 亚洲aⅴ免费在线观看 | 成人全视频免费观看在线看 | 五月天堂色 | 国产成人精品一区二区在线 | 99久热在线精品视频 | 日韩av伦理片| 高清久久久 | 亚洲在线高清 | 国产精品一区二区果冻传媒 | 欧美久久久久久久久 | 国产精品大片 | 91精品久久香蕉国产线看观看 | 久久综合爱 | 一区二区三区高清在线 | 久久男人中文字幕资源站 | 婷久久 | 在线视频欧美精品 | 成人一级视频在线观看 | 精品一区二区综合 | 日韩在线视频免费看 | 午夜国产在线观看 | 成人久久综合 | 欧美性另类 | 日韩美女免费线视频 | 日韩av电影国产 | 六月丁香色婷婷 | 国产精品淫片 | 伊人成人精品 | 黄色在线免费观看网址 | 精品嫩模福利一区二区蜜臀 | 在线播放 亚洲 | 亚洲精品va | 91视频 - 88av | 成人av片免费看 | 99久久99久久免费精品蜜臀 | 国产色在线 | 亚洲综合在线播放 | 九月婷婷综合网 | 亚洲精品久久久久久国 | 国产精品久久久久av福利动漫 | 欧美午夜精品久久久久 | 在线免费观看羞羞视频 | 久草在线资源观看 | 99精品视频免费观看视频 | 日韩免费视频播放 | 天天干,天天干 | 国内精品久久久久影院优 | 欧美一二三视频 | 亚洲永久精品在线观看 | 黄色资源在线观看 | 亚洲久草在线视频 | 88av网站 | 日韩精品1区2区 | 91香蕉视频在线 | 婷婷久操| 免费成人在线观看视频 | 99久久精品无码一区二区毛片 | 成年人看片 | 欧美日bb | 色婷婷亚洲综合 | 日本久久99 | 色爱区综合激月婷婷 | 亚洲免费在线看 | 亚洲精品高清视频在线观看 | 黄色最新网址 | 四虎影视国产精品免费久久 | 免费观看91视频 | 涩涩资源网 | 五月激情电影 | 国产在线精品一区二区不卡了 | 中文字幕丝袜一区二区 | 黄色小网站在线 | 亚洲经典视频在线观看 | 久草在线视频国产 | 国产精品视频地址 | 久99久中文字幕在线 | 色播五月激情综合网 | av免费在线看网站 | 最近久乱中文字幕 | 91精品1区2区 | 日韩特黄一级欧美毛片特黄 | 日韩一级电影在线 | 日韩 在线a| 一区二区丝袜 | 在线观看涩涩 | 免费看短 | av在线免费播放 | 欧美一级久久 | 精品视频在线观看 | 奇米影视在线99精品 | 日本99干网 | 成人在线播放网站 | 久久久久久久久久久影院 | 日韩欧美综合视频 | 在线观看一区 | 亚洲视频久久久久 | 国产经典三级 | 天天干天天射天天插 | 人人干网站 | 黄色软件在线观看 | 婷婷电影在线观看 | 激情av一区二区 | 日韩免费中文字幕 | 91在线精品秘密一区二区 | 久久综合国产伦精品免费 | 精品在线你懂的 | 视频一区视频二区在线观看 | 欧美日韩精品在线观看 | 久草在线免费电影 | 国产亚洲视频中文字幕视频 | 久久精品精品 | 成人a视频片观看免费 | 日韩激情久久 | 成人精品视频 | 久久免费视频1 | 日韩最新中文字幕 | 国产亚洲欧美精品久久久久久 | 精品在线二区 | 久久国语| 精品在线观看一区二区 | 国产精品大尺度 | 国产精品男女啪啪 | h动漫中文字幕 | 欧美国产不卡 | 国产精品久久亚洲 | 高清av免费看| wwwwwww黄 | 97精品国产97久久久久久春色 | 国产精品久久久久久麻豆一区 | 国产视频在线观看免费 | 欧美三级在线播放 | 在线观看一级视频 | 久久免费视频在线观看30 | 成人aⅴ视频| 成人一级视频在线观看 | 亚洲第一av在线 | 99视频国产在线 | 成人黄色小视频 | 蜜臀久久99精品久久久无需会员 | 欧美激情视频免费看 | 天天干天天操天天拍 | 免费97视频| 福利一区二区在线 | 玖玖精品在线 | 免费在线中文字幕 | 中文字幕日韩高清 | 久久综合天天 | 狠狠色狠狠色综合系列 | 久草在线一免费新视频 | 就操操久久 | 色综合久久88色综合天天6 | 在线看片91 | av资源免费看 | 美女黄网站视频免费 | 欧美91精品久久久久国产性生爱 | 69中文字幕 | 精品高清美女精品国产区 | 免费视频二区 | 在线视频a | 久久精品视频在线看 | 西西大胆啪啪 | 亚洲精品9| 在线播放日韩 | 麻豆91精品 | 顶级欧美色妇4khd | 91精品国产综合久久福利 | 一级黄色在线视频 | 中文字幕 婷婷 | 国产成人在线播放 | 国产精品一区二区精品视频免费看 | 日韩精品免费一线在线观看 | 欧美日韩精品国产 | 国产中文字幕网 | 天天干天天做天天操 | 欧美最新大片在线看 | 亚洲精品xxx | 日韩电影一区二区在线观看 | 亚洲欧洲视频 | 在线看小早川怜子av | 91精品免费| 91视频免费播放 | 亚洲少妇自拍 | 精壮的侍卫呻吟h | www中文在线 | 久久国产综合视频 | 久久精品国产99国产 | 不卡av免费在线观看 | 久草国产精品 | 亚洲精品国产麻豆 | 丁香六月久久综合狠狠色 | 日本最新中文字幕 | 狠狠干夜夜操天天爽 | 欧美精品一区二区性色 | 贫乳av女优大全 | 亚洲精品综合一二三区在线观看 | 久久经典国产 | 欧洲精品在线视频 | 午夜精品电影一区二区在线 | 黄色午夜网站 | 日韩在线资源 | 日韩视频免费在线观看 | 国产精品美女免费看 | 久久精品aaa| www.91av在线| 亚洲午夜av电影 | 色综合中文字幕 | 国产成人精品国内自产拍免费看 | 天天曰夜夜爽 | 欧美日韩免费一区二区 | 欧美怡红院视频 | 就操操久久 | 国产免费成人av | 99热九九这里只有精品10 | 国产日韩欧美自拍 | 日日日日日 | 精品国产一区二区三区四 | 又爽又黄在线观看 | 日韩av资源站 | 亚洲片在线资源 | 国产99久久久国产精品免费二区 | 亚洲伊人网在线观看 | 日韩91精品 | 五月婷婷激情 | 免费一级黄色 | 最近2019好看的中文字幕免费 | 亚洲区二区 | 日日日操 | 国产午夜精品一区二区三区在线观看 | 亚洲天天综合网 | 九九热久久免费视频 | 亚洲福利精品 | 天天综合中文 | 午夜视频免费播放 | 婷婷色 亚洲 | 久久综合免费视频影院 | 日韩av不卡在线 | 久久美女高清视频 | 依人成人综合网 | 欧美成人精品三级在线观看播放 | 久久精品一区二区三区视频 | 麻豆国产露脸在线观看 | 香蕉久草 | 国产小视频你懂的 | 欧美日韩中文在线 | 国产精品久久久久久一区二区 | 免费看片色 | 色婷婷国产 | 在线免费观看一区二区三区 | 国产精品99久久久久久宅男 | 天天干.com | 成人午夜黄色 | 五月婷丁香网 | 精品久久电影 | 国产大尺度视频 | 久久精品国产亚洲精品 | 成人资源站 | av看片网 | 欧美性大战久久久久 | 9在线观看免费 | 婷婷国产在线观看 | 五月婷婷激情综合网 | 午夜久久电影网 | 一本—道久久a久久精品蜜桃 | 日日干天天爽 | 久久精品国产免费看久久精品 | 免费视频区 | 五月激情丁香 | 99精品免费| 五月天开心 | 中文字幕有码在线观看 | 色婷婷狠| 久久久久久美女 | 最近最新mv字幕免费观看 | 国产精品破处视频 | 香蕉在线播放 | 日韩av看片 | 国产精品com | 亚洲视频电影在线 | 亚洲精品成人 | 亚洲欧美日韩国产一区二区 | 婷婷四房综合激情五月 | 天天操天天干天天操天天干 | aa一级片 | 中文字幕在线看人 | 九色激情网| 亚洲综合视频在线 | 热久在线| 欧美国产日韩一区二区三区 | 91中文字幕网 | 精品一区 在线 | 久久激情片 | 中文字幕频道 | 人人爽久久久噜噜噜电影 | 精品国产欧美 | 黄色h在线观看 | 黄色亚洲在线 | 激情六月婷婷久久 | 久久综合久久综合这里只有精品 | 91网页版在线观看 | 91c网站色版视频 | 日韩中文在线观看 | 高清av免费看 | 综合网色 | 国产无限资源在线观看 | 日韩视频三区 | 亚洲永久av | 超碰人人超 | www.色午夜 | 久久久久久久久久久黄色 | 国产一区二区三区高清播放 | 欧美少妇xxx | 免费一级特黄录像 | 一区二区三区免费网站 | 97在线视频观看 | 欧美久久成人 | 伊人开心激情 | 国产高清视频在线观看 | 国产xxxx性hd极品 | 国产成人99久久亚洲综合精品 | 国产va在线观看免费 | 免费av片在线 | 成人在线电影观看 | 中文字幕免费高清 | 久久综合婷婷综合 | 精品免费一区二区三区 | 91麻豆文化传媒在线观看 | 在线观看成年人 | 9热精品 | 丁香六月婷婷开心 | av在线播放一区二区三区 | 97在线免费观看视频 | 99久久精品免费一区 | 精品久久久久久国产 | 久久国产一区二区三区 | 高清免费在线视频 | 精品少妇一区二区三区在线 | 欧美日视频| 国产伦精品一区二区三区四区视频 | 激情av网| 99精品热视频 | 国产精品美女久久久久久网站 | 日日夜夜免费精品 | 99久久超碰中文字幕伊人 | 人人插人人看 | 免费观看性生交大片3 | 久色 网| 精品一区二区免费在线观看 | 日本在线观看一区二区三区 | 在线观看黄a| 免费一级片在线观看 | 成人在线视频你懂的 | 久久不卡日韩美女 | 婷婷国产精品 | 特级毛片在线免费观看 | 久久久九色精品国产一区二区三区 | 成人黄色大片网站 | 免费观看丰满少妇做爰 | 黄av免费 | 97视频在线观看视频免费视频 | 色哟哟国产精品 | 香蕉视频在线看 | 欧美激情在线网站 | 日韩色av色资源 | 51久久成人国产精品麻豆 | 最新日韩在线观看 | 日韩一三区 | 成年人免费av | 婷婷色中文网 | 久久精品爱爱视频 | 99av在线视频 | 日批视频国产 | 免费在线观看成人 | 在线精品视频免费播放 | 69人人 | 蜜臀aⅴ国产精品久久久国产 | 国产午夜一级毛片 | 久久99久久99精品免视看婷婷 | 五月天丁香综合 | 亚洲综合在线视频 | 激情五月在线 | 中文字幕高清有码 | 亚洲免费成人 | 97成人精品 | 日韩一级理论片 | 国产精品一区二区在线播放 | 欧洲精品视频一区二区 | 日本一区二区三区免费看 | 国产盗摄精品一区二区 | 免费看黄的 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产高清无av久久 | 成年人黄色在线观看 | 欧美色图亚洲图片 | 亚洲午夜av电影 | 99999精品视频 | 99久久99热这里只有精品 | 2023国产精品自产拍在线观看 | 99热这里有| 日本精品在线 | 日韩久久久久久久久久久久 | 大荫蒂欧美视频另类xxxx | aaa免费毛片| 性色av免费在线观看 | 亚洲成人精品在线观看 | 亚洲伊人色| 国产视频首页 | 中文不卡视频在线 | 欧美日韩国产一二三区 | 97综合在线 | 亚洲视频,欧洲视频 | 久久精品久久99 | 日韩高清在线一区二区 | 中文字幕av全部资源www中文字幕在线观看 | 青青草久草在线 | 看黄色.com| 久久成人视屏 | 99成人在线视频 | 97精品国产91久久久久久久 | 91亚洲精品久久久中文字幕 | 黄网站a| 亚洲理论在线 | 成人一级片免费看 | 亚洲最新视频在线播放 | 亚洲精品视频在线观看免费 | a'aaa级片在线观看 | 精品国产美女在线 | 日本一区二区高清不卡 | 最新在线你懂的 | 国产亚洲成av片在线观看 | 日韩精品在线播放 | 在线看片视频 | 久久久免费在线观看 | 亚洲成av人片| 日韩肉感妇bbwbbwbbw | 欧美成人精品三级在线观看播放 | 91视频网址入口 | 中文字幕成人网 | 久久夜色网 | 天天干夜夜夜 | 999精品 | 精品久久久久久国产91 | 日日干精品 | 亚洲午夜激情网 | av福利在线免费观看 | 亚洲人毛片 | 九九热在线视频免费观看 | 欧美日韩高清 | 色综合天天综合在线视频 | 色婷婷综合久久久久中文字幕1 | 精品不卡av | 亚洲精品久久久久中文字幕二区 | 亚洲一区二区视频 | 91黄站| 欧美日韩国产在线精品 | 久久久 精品| 国产色影院 | 欧美日韩高清国产 | 少妇视频在线播放 | 在线v片免费观看视频 | 色综合久久88色综合天天 | 精品一区二区影视 | www.久久免费视频 | 日韩在线大片 | 免费网站看v片在线a | 夜色成人av | 精品国产一区二区三区久久久蜜月 | 超碰精品在线 | 久草手机视频 | 久章草在线观看 | 久久国产精品99久久人人澡 | 99亚洲国产精品 | 国产精品理论片在线观看 | 日本成人免费在线观看 | 欧美日韩国产mv | 成人在线观看日韩 | 亚洲精品色 | 国精产品999国精产品视频 | 丁香激情婷婷 | 午夜精品视频免费在线观看 | 一区二区三区动漫 | 亚洲福利精品 | 国内精品久久久 | 亚洲乱码国产乱码精品天美传媒 | 国产做aⅴ在线视频播放 | 国产高清视频色在线www | 97操操操| 日韩成人不卡 | 成人h动漫在线看 | 国产精品 日韩精品 | 国产97视频在线 | 国产a级精品| 日本一区二区三区免费看 | 欧美日韩综合在线观看 | 国产精品久久久一区二区 | 黄色影院在线观看 | 欧美日韩高清在线观看 | 久久国产成人午夜av影院潦草 | 狠狠躁日日躁狂躁夜夜躁 | 在线观看aa | 在线视频18在线视频4k | 久艹视频在线观看 | 久久成人亚洲欧美电影 | 91免费观看| 国产精品毛片久久久久久久 | 在线视频18在线视频4k | 最近中文字幕免费大全 | 久久久免费精品国产一区二区 | 在线观看你懂的网址 | 久久无码av一区二区三区电影网 | 高清免费在线视频 | 亚洲欧洲国产日韩精品 | 91福利视频久久久久 | 久久精品高清视频 | 久久久免费精品国产一区二区 | 超碰av在线播放 | 丁香婷婷激情网 | 99免费| 9热精品| 视频在线观看国产 | 九九热在线视频 | 亚洲天堂首页 | 91成人在线视频观看 | 久久夜色电影 | 欧美夫妻性生活电影 | 丰满少妇久久久 | 91免费的视频在线播放 | 日日干夜夜操视频 | 欧美久久精品 | 中文av一区二区 | a级国产乱理论片在线观看 特级毛片在线观看 | 激情丁香婷婷 | 精品电影一区二区 | 国产精品视频内 | 黄av资源 | 精品电影一区 | 免费视频资源 | 婷婷丁香在线视频 | 夜夜躁日日躁狠狠躁 | 免费a v在线| 去干成人网 | 午夜久久福利 | 西西4444www大胆无视频 | 国产视频1区2区3区 久久夜视频 | av不卡中文字幕 | 超碰在线人人 | 99精品乱码国产在线观看 | 免费看国产黄色 | 欧美韩日精品 | 欧美久久久久久久久久久久 | 午夜美女网站 | av+在线播放在线播放 | 国产91精品高清一区二区三区 | 国产精品久久久一区二区 | 在线看岛国av | 久久久精品国产免费观看同学 | 免费看一级一片 | 国产精品成人在线观看 | 国产成人三级三级三级97 | 国产99久久久国产精品免费二区 | 天天射综合网站 | 91精品国产综合久久婷婷香蕉 | 欧美 日韩 成人 | 亚洲精品久久激情国产片 | 亚洲视频电影在线 | 四虎在线免费视频 | 久久av在线播放 | 综合久久精品 | 亚洲一区 影院 | 国产乱对白刺激视频在线观看女王 | 国产免费视频在线 | 欧美日韩有码 | 精品久久久久久一区二区里番 | 久久免费成人精品视频 | 婷婷六月在线 | 日韩av专区 | 亚洲成人免费观看 | 国产精品国产亚洲精品看不卡 | 视频一区亚洲 | 91中文字幕在线观看 | 日韩久久一区 | 99九九热只有国产精品 | 日本少妇视频 | av网站免费看 | 91女子私密保健养生少妇 | 国产精品1区2区3区在线观看 | 国产一级大片免费看 | 国产 日韩 中文字幕 | 综合在线亚洲 | 成人黄色毛片 | 97精品伊人 | 亚洲综合小说电影qvod | 午夜久久福利视频 | 在线观看成人网 | 99久久婷婷国产综合精品 | 国产精品一区二区62 | 在线观看免费福利 | 久久久首页 | 狠狠色伊人亚洲综合网站色 | 美女视频黄免费的久久 | 91在线产啪|