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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Container Networking Interface Specification

發布時間:2025/7/14 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Container Networking Interface Specification 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:https://github.com/containernetworking/cni/blob/master/SPEC.md

Version

This is CNI?spec?version?0.3.1-dev. This spec contains?unreleased?changes.

Note that this is?independent from the version of the CNI library and plugins?in this repository (e.g. the versions of?releases).

Released versions

Released versions of the spec are available as Git tags.

tagspec permalinkmajor changes
spec-v0.3.1spec at v0.3.1none (typo fix only)
spec-v0.3.0spec at v0.3.0rich result type, plugin chaining
spec-v0.2.0spec at v0.2.0VERSION command
spec-v0.1.0spec at v0.1.0initial version

Do not rely on these tags being stable. In the future, we may change our mind about which particular commit is the right marker for a given historical spec version.

Overview

This document proposes a generic plugin-based networking solution for application containers on Linux, the?Container Networking Interface, or?CNI. It is derived from the?rkt Networking Proposal, which aimed to satisfy many of the?design considerations?for networking in?rkt.

For the purposes of this proposal, we define two terms very specifically:

  • container?can be considered synonymous with a?Linux?network namespace. What unit this corresponds to depends on a particular container runtime implementation: for example, in implementations of the?App Container Spec?like rkt, each?pod?runs in a unique network namespace. In?Docker, on the other hand, network namespaces generally exist for each separate Docker container.

  • network?refers to a group of entities that are uniquely addressable that can communicate amongst each other. This could be either an individual container (as specified above), a machine, or some other network device (e.g. a router). Containers can be conceptually?added to?or?removed from?one or more networks.

This document aims to specify the interface between "runtimes" and "plugins". Whilst there are certain well known fields, runtimes may wish to pass additional information to plugins. These extentions are not part of this specification but are documented as?conventions. The key words "must", "must not", "required", "shall", "shall not", "should", "should not", "recommended", "may" and "optional" are used as specified in?RFC 2119.

General considerations

  • The container runtime must create a new network namespace for the container before invoking any plugins.

  • The runtime must then determine which networks this container should belong to, and for each network, which plugins must be executed.

  • The network configuration is in JSON format and can easily be stored in a file. The network configuration includes mandatory fields such as "name" and "type" as well as plugin (type) specific ones. The network configuration allows for fields to change values between invocations. For this purpose there is an optional field "args" which must contain the varying information.

  • The container runtime must add the container to each network by executing the corresponding plugins for each network sequentially.

  • Upon completion of the container lifecycle, the runtime must execute the plugins in reverse order (relative to the order in which they were executed to add the container) to disconnect the container from the networks.

  • The container runtime must not invoke parallel operations for the same container, but is allowed to invoke parallel operations for different containers.

  • The container runtime must order ADD and DEL operations for a container, such that ADD is always followed by a corresponding DEL. DEL may be followed by additional DELs, however, and plugins should handle multiple DELs permissively (i.e. plugin DEL should be idempotent).

  • A container must be uniquely identified by a ContainerID. Plugins that store state should do so using a primary key of?(network name, container id).

  • A runtime must not call ADD twice (without a corresponding DEL) for the same?(network name, container id). In other words, a given container ID must be added to a specific network exactly once.

CNI Plugin

Overview

Each CNI plugin must be implemented as an executable that is invoked by the container management system (e.g. rkt or Kubernetes).

A CNI plugin is responsible for inserting a network interface into the container network namespace (e.g. one end of a veth pair) and making any necessary changes on the host (e.g. attaching the other end of the veth into a bridge). It should then assign the IP to the interface and setup the routes consistent with the IP Address Management section by invoking appropriate IPAM plugin.

Parameters

The operations that CNI plugins must support are:

  • Add container to network

    • Interfaces list. Depending on the plugin, this can include the sandbox (eg, container or hypervisor) interface name and/or the host interface name, the hardware addresses of each interface, and details about the sandbox (if any) the interface is in.

    • IP configuration assigned to each interface. The IPv4 and/or IPv6 addresses, gateways, and routes assigned to sandbox and/or host interfaces.

    • DNS information. Dictionary that includes DNS information for nameservers, domain, search domains and options.

    • Version. The version of CNI spec that the caller is using (container management system or the invoking plugin).

    • Container ID. A unique plaintext identifier for a container, allocated by the runtime. Must not be empty.

    • Network namespace path. This represents the path to the network namespace to be added, i.e. /proc/[pid]/ns/net or a bind-mount/link to it.

    • Network configuration. This is a JSON document describing a network to which a container can be joined. The schema is described below.

    • Extra arguments. This provides an alternative mechanism to allow simple configuration of CNI plugins on a per-container basis.

    • Name of the interface inside the container. This is the name that should be assigned to the interface created inside the container (network namespace); consequently it must comply with the standard Linux restrictions on interface names.

    • Parameters:

    • Result:

  • Delete container from network

    • Version. The version of CNI spec that the caller is using (container management system or the invoking plugin).

    • Container ID, as defined above.

    • Network namespace path, as defined above.

    • Network configuration, as defined above.

    • Extra arguments, as defined above.

    • Name of the interface inside the container, as defined above.

    • Parameters:

    • All parameters should be the same as those passed to the corresponding add operation.

    • A delete operation should release all resources held by the supplied containerid in the configured network.

  • Report version

    • Parameters: NONE.

    • Result: information about the CNI spec versions supported by the plugin

      {"cniVersion":?"0.3.1",?//?the?version?of?the?CNI?spec?in?use?for?this?output"supportedVersions":?[?"0.1.0",?"0.2.0",?"0.3.0",?"0.3.1"?]?//?the?list?of?CNI?spec?versions?that?this?plugin?supports }

Runtimes must use the type of network (see?Network Configuration?below) as the name of the executable to invoke. Runtimes should then look for this executable in a list of predefined directories (the list of directories is not prescribed by this specification). Once found, it must invoke the executable using the following environment variables for argument passing:

  • CNI_COMMAND: indicates the desired operation;?ADD,?DEL?or?VERSION.

  • CNI_CONTAINERID: Container ID

  • CNI_NETNS: Path to network namespace file

  • CNI_IFNAME: Interface name to set up; if the plugin is unable to use this interface name it must return an error

  • CNI_ARGS: Extra arguments passed in by the user at invocation time. Alphanumeric key-value pairs separated by semicolons; for example, "FOO=BAR;ABC=123"

  • CNI_PATH: List of paths to search for CNI plugin executables. Paths are separated by an OS-specific list separator; for example ':' on Linux and ';' on Windows

Network configuration in JSON format must be streamed to the plugin through stdin. This means it is not tied to a particular file on disk and may contain information which changes between invocations.

Result

Note that IPAM plugins should return an abbreviated?Result?structure as described in?IP Allocation.

Plugins must indicate success with a return code of zero and the following JSON printed to stdout in the case of the ADD command. The?ips?and?dns?items should be the same output as was returned by the IPAM plugin (see?IP Allocation?for details) except that the plugin should fill in the?interface?indexes appropriately, which are missing from IPAM plugin output since IPAM plugins should be unaware of interfaces.

{"cniVersion":?"0.3.1","interfaces":?[????????????????????????????????????????????(this?key?omitted?by?IPAM?plugins){"name":?"<name>","mac":?"<MAC?address>",????????????????????????????(required?if?L2?addresses?are?meaningful)"sandbox":?"<netns?path?or?hypervisor?identifier>"?(required?for?container/hypervisor?interfaces,?empty/omitted?for?host?interfaces)}],"ips":?[{"version":?"<4-or-6>","address":?"<ip-and-prefix-in-CIDR>","gateway":?"<ip-address-of-the-gateway>",??????????(optional)"interface":?<numeric?index?into?'interfaces'?list>},...],"routes":?[????????????????????????????????????????????????(optional){"dst":?"<ip-and-prefix-in-cidr>","gw":?"<ip-of-next-hop>"???????????????????????????(optional)},...]"dns":?{"nameservers":?<list-of-nameservers>?????????????????????(optional)"domain":?<name-of-local-domain>?????????????????????????(optional)"search":?<list-of-additional-search-domains>????????????(optional)"options":?<list-of-options>?????????????????????????????(optional)} }

cniVersion?specifies a?Semantic Version 2.0?of CNI specification used by the plugin.?interfaces?describes specific network interfaces the plugin created. If the?CNI_IFNAME?variable exists the plugin must use that name for the sandbox/hypervisor interface or return an error if it cannot.

  • mac?(string): the hardware address of the interface. If L2 addresses are not meaningful for the plugin then this field is optional.

  • sandbox?(string): container/namespace-based environments should return the full filesystem path to the network namespace of that sandbox. Hypervisor/VM-based plugins should return an ID unique to the virtualized sandbox the interface was created in. This item must be provided for interfaces created or moved into a sandbox like a network namespace or a hypervisor/VM.

The?ips?field is a list of IP configuration information. See the?IP well-known structure?section for more information.

The?dns?field contains a dictionary consisting of common DNS information. See the?DNS well-known structuresection for more information.

The specification does not declare how this information must be processed by CNI consumers. Examples include generating an?/etc/resolv.conf?file to be injected into the container filesystem or running a DNS forwarder on the host.

Errors must be indicated by a non-zero return code and the following JSON being printed to stdout:

{"cniVersion":?"0.3.1","code":?<numeric-error-code>,"msg":?<short-error-message>,"details":?<long-error-message>?(optional) }

cniVersion?specifies a?Semantic Version 2.0?of CNI specification used by the plugin. Error codes 0-99 are reserved for well-known errors (see?Well-known Error Codes?section). Values of 100+ can be freely used for plugin specific errors.

In addition, stderr can be used for unstructured output such as logs.

Network Configuration

The network configuration is described in JSON form. The configuration may be stored on disk or generated from other sources by the container runtime. The following fields are well-known and have the following meaning:

  • cniVersion?(string):?Semantic Version 2.0?of CNI specification to which this configuration conforms.

  • name?(string): Network name. This should be unique across all containers on the host (or other administrative domain).

  • type?(string): Refers to the filename of the CNI plugin executable.

  • args?(dictionary): Optional additional arguments provided by the container runtime. For example a dictionary of labels could be passed to CNI plugins by adding them to a labels field under?args.

  • ipMasq?(boolean): Optional (if supported by the plugin). Set up an IP masquerade on the host for this network. This is necessary if the host will act as a gateway to subnets that are not able to route to the IP assigned to the container.

  • ipam: Dictionary with IPAM specific values:

    • type?(string): Refers to the filename of the IPAM plugin executable.

  • dns: Dictionary with DNS specific values:

    • nameservers?(list of strings): list of a priority-ordered list of DNS nameservers that this network is aware of. Each entry in the list is a string containing either an IPv4 or an IPv6 address.

    • domain?(string): the local domain used for short hostname lookups.

    • search?(list of strings): list of priority ordered search domains for short hostname lookups. Will be preferred over?domain?by most resolvers.

    • options?(list of strings): list of options that can be passed to the resolver

Plugins may define additional fields that they accept and may generate an error if called with unknown fields. The exception to this is the?args?field may be used to pass arbitrary data which should be ignored by plugins if not understood.

Example configurations

{??"cniVersion":?"0.3.1",??"name":?"dbnet",??"type":?"bridge",??//?type?(plugin)?specific"bridge":?"cni0",??"ipam":?{????"type":?"host-local",????//?ipam?specific"subnet":?"10.1.0.0/16",????"gateway":?"10.1.0.1"},??"dns":?{????"nameservers":?[?"10.1.0.1"?]} }{??"cniVersion":?"0.3.1",??"name":?"pci",??"type":?"ovs",??//?type?(plugin)?specific"bridge":?"ovs0",??"vxlanID":?42,??"ipam":?{????"type":?"dhcp",????"routes":?[?{?"dst":?"10.3.0.0/16"?},?{?"dst":?"10.4.0.0/16"?}?]}??//?args?may?be?ignored?by?plugins"args":?{????"labels"?:?{????????"appVersion"?:?"1.0"}} }{??"cniVersion":?"0.3.1",??"name":?"wan",??"type":?"macvlan",??//?ipam?specific"ipam":?{????"type":?"dhcp",????"routes":?[?{?"dst":?"10.0.0.0/8",?"gw":?"10.0.0.1"?}?]},??"dns":?{????"nameservers":?[?"10.0.0.1"?]} }

Network Configuration Lists

Network configuration lists provide a mechanism to run multiple CNI plugins for a single container in a defined order, passing the result of each plugin to the next plugin. The list is composed of well-known fields and list of one or more standard CNI network configurations (see above).

The list is described in JSON form, and can be stored on disk or generated from other sources by the container runtime. The following fields are well-known and have the following meaning:

  • cniVersion?(string):?Semantic Version 2.0?of CNI specification to which this configuration list and all the individual configurations conform.

  • name?(string): Network name. This should be unique across all containers on the host (or other administrative domain).

  • plugins?(list): A list of standard CNI network configuration dictionaries (see above).

When executing a plugin list, the runtime MUST replace the?name?and?cniVersion?fields in each individual network configuration in the list with the?name?and?cniVersion?field of the list itself. This ensures that the name and CNI version is the same for all plugin executions in the list, preventing versioning conflicts between plugins. The runtime may also pass capability-based keys as a map in the top-level?runtimeConfig?key of the plugin's config JSON if a plugin advertises it supports a specific capability via the?capabilities?key of its network configuration. The key passed in?runtimeConfig?MUST match the name of the specific capability from the?capabilities?key of the plugins network configuration. See CONVENTIONS.md for more information on capabilities and how they are sent to plugins via the?runtimeConfig?key.

For the ADD action, the runtime MUST also add a?prevResult?field to the configuration JSON of any plugin after the first one, which MUST be the Result of the previous plugin (if any) in JSON format (see below). For the ADD action, plugins SHOULD echo the contents of the?prevResult?field to their stdout to allow subsequent plugins (and the runtime) to receive the result, unless they wish to modify or suppress a previous result. Plugins are allowed to modify or suppress all or part of a?prevResult. However, plugins that support a version of the CNI specification that includes the?prevResult?field MUST handle?prevResult?by either passing it through, modifying it, or suppressing it explicitly. It is a violation of this specification to be unaware of the?prevResult?field.

The runtime MUST also execute each plugin in the list with the same environment.

For the DEL action, the runtime MUST execute the plugins in reverse-order.

Network Configuration List Error Handling

When an error occurs while executing an action on a plugin list (eg, either ADD or DEL) the runtime MUST stop execution of the list.

If an ADD action fails, when the runtime decides to handle the failure it should execute the DEL action (in reverse order from the ADD as specified above) for all plugins in the list, even if some were not called during the ADD action.

Plugins should generally complete a DEL action without error even if some resources are missing. For example, an IPAM plugin should generally release an IP allocation and return success even if the container network namespace no longer exists, unless that network namespace is critical for IPAM management. While DHCP may usually send a 'release' message on the container network interface, since DHCP leases have a lifetime this release action would not be considered critical and no error should be returned. For another example, the?bridge?plugin should delegate the DEL action to the IPAM plugin and clean up its own resources (if present) even if the container network namespace and/or container network interface no longer exist.

Example network configuration lists

{??"cniVersion":?"0.3.1",??"name":?"dbnet",??"plugins":?[{??????"type":?"bridge",??????//?type?(plugin)?specific"bridge":?"cni0",??????//?args?may?be?ignored?by?plugins"args":?{????????"labels"?:?{????????????"appVersion"?:?"1.0"}},??????"ipam":?{????????"type":?"host-local",????????//?ipam?specific"subnet":?"10.1.0.0/16",????????"gateway":?"10.1.0.1"},??????"dns":?{????????"nameservers":?[?"10.1.0.1"?]}},{??????"type":?"tuning",??????"sysctl":?{????????"net.core.somaxconn":?"500"}}] }

Network configuration list runtime examples

Given the network configuration list JSON?shown above?the container runtime would perform the following steps for the ADD action. Note that the runtime adds the?cniVersion?and?name?fields from configuration list to the configuration JSON passed to each plugin, to ensure consistent versioning and names for all plugins in the list.

  • first call the?bridge?plugin with the following JSON:

  • {??"cniVersion":?"0.3.1",??"name":?"dbnet",??"type":?"bridge",??"bridge":?"cni0",??"args":?{????"labels"?:?{????????"appVersion"?:?"1.0"}},??"ipam":?{????"type":?"host-local",????//?ipam?specific"subnet":?"10.1.0.0/16",????"gateway":?"10.1.0.1"},??"dns":?{????"nameservers":?[?"10.1.0.1"?]} }
  • next call the?tuning?plugin with the following JSON, including the?prevResult?field containing the JSON response from the?bridge?plugin:

  • {??"cniVersion":?"0.3.1",??"name":?"dbnet",??"type":?"tuning",??"sysctl":?{????"net.core.somaxconn":?"500"},??"prevResult":?{????"ips":?[{??????????"version":?"4",??????????"address":?"10.0.0.5/32",??????????"interface":?0}],????"dns":?{??????"nameservers":?[?"10.1.0.1"?]}} }

    Given the same network configuration JSON list, the container runtime would perform the following steps for the DEL action. Note that no?prevResult?field is required as the DEL action does not return any result. Also note that plugins are executed in reverse order from the ADD action.

  • first call the?tuning?plugin with the following JSON:

  • {??"cniVersion":?"0.3.1",??"name":?"dbnet",??"type":?"tuning",??"sysctl":?{????"net.core.somaxconn":?"500"} }
  • next call the?bridge?plugin with the following JSON:

  • {??"cniVersion":?"0.3.1",??"name":?"dbnet",??"type":?"bridge",??"bridge":?"cni0",??"args":?{????"labels"?:?{????????"appVersion"?:?"1.0"}},??"ipam":?{????"type":?"host-local",????//?ipam?specific"subnet":?"10.1.0.0/16",????"gateway":?"10.1.0.1"},??"dns":?{????"nameservers":?[?"10.1.0.1"?]} }

    IP Allocation

    As part of its operation, a CNI plugin is expected to assign (and maintain) an IP address to the interface and install any necessary routes relevant for that interface. This gives the CNI plugin great flexibility but also places a large burden on it. Many CNI plugins would need to have the same code to support several IP management schemes that users may desire (e.g. dhcp, host-local).

    To lessen the burden and make IP management strategy be orthogonal to the type of CNI plugin, we define a second type of plugin -- IP Address Management Plugin (IPAM plugin). It is however the responsibility of the CNI plugin to invoke the IPAM plugin at the proper moment in its execution. The IPAM plugin must determine the interface IP/subnet, Gateway and Routes and return this information to the "main" plugin to apply. The IPAM plugin may obtain the information via a protocol (e.g. dhcp), data stored on a local filesystem, the "ipam" section of the Network Configuration file or a combination of the above.

    IP Address Management (IPAM) Interface

    Like CNI plugins, the IPAM plugins are invoked by running an executable. The executable is searched for in a predefined list of paths, indicated to the CNI plugin via?CNI_PATH. The IPAM Plugin must receive all the same environment variables that were passed in to the CNI plugin. Just like the CNI plugin, IPAM plugins receive the network configuration via stdin.

    Success must be indicated by a zero return code and the following JSON being printed to stdout (in the case of the ADD command):

    {"cniVersion":?"0.3.1","ips":?[{"version":?"<4-or-6>","address":?"<ip-and-prefix-in-CIDR>","gateway":?"<ip-address-of-the-gateway>"??(optional)},...],"routes":?[???????????????????????????????????????(optional){"dst":?"<ip-and-prefix-in-cidr>","gw":?"<ip-of-next-hop>"??????????????????(optional)},...]"dns":?{"nameservers":?<list-of-nameservers>????????????(optional)"domain":?<name-of-local-domain>????????????????(optional)"search":?<list-of-search-domains>??????????????(optional)"options":?<list-of-options>????????????????????(optional)} }

    Note that unlike regular CNI plugins, IPAM plugins should return an abbreviated?Result?structure that does not include the?interfaces?key, since IPAM plugins should be unaware of interfaces configured by their parent plugin except those specifically required for IPAM (eg, like the?dhcp?IPAM plugin).

    cniVersion?specifies a?Semantic Version 2.0?of CNI specification used by the plugin.

    The?ips?field is a list of IP configuration information. See the?IP well-known structure?section for more information.

    The?dns?field contains a dictionary consisting of common DNS information. See the?DNS well-known structuresection for more information.

    Errors and logs are communicated in the same way as the CNI plugin. See?CNI Plugin Result?section for details.

    IPAM plugin examples:

    • host-local: Select an unused (by other containers on the same host) IP within the specified range.

    • dhcp: Use DHCP protocol to acquire and maintain a lease. The DHCP requests will be sent via the created container interface; therefore, the associated network must support broadcast.

    Notes

    • Routes are expected to be added with a 0 metric.

    • A default route may be specified via "0.0.0.0/0". Since another network might have already configured the default route, the CNI plugin should be prepared to skip over its default route definition.

    Well-known Structures

    IPs

    ??"ips":?[{"version":?"<4-or-6>","address":?"<ip-and-prefix-in-CIDR>","gateway":?"<ip-address-of-the-gateway>",??????(optional)"interface":?<numeric?index?into?'interfaces'?list>?(not?required?for?IPAM?plugins)},...]

    The?ips?field is a list of IP configuration information determined by the plugin. Each item is a dictionary describing of IP configuration for a network interface. IP configuration for multiple network interfaces and multiple IP configurations for a single interface may be returned as separate items in the?ips?list. All properties known to the plugin should be provided, even if not strictly required.

    • version?(string): either "4" or "6" and corresponds to the IP version of the addresses in the entry. All IP addresses and gateways provided must be valid for the given?version.

    • address?(string): an IP address in CIDR notation (eg "192.168.1.3/24").

    • gateway?(string): the default gateway for this subnet, if one exists. It does not instruct the CNI plugin to add any routes with this gateway: routes to add are specified separately via the?routes?field. An example use of this value is for the CNI?bridge?plugin to add this IP address to the Linux bridge to make it a gateway.

    • interface?(uint): the index into the?interfaces?list for a?CNI Plugin Result?indicating which interface this IP configuration should be applied to. IPAM plugins should not return this key since they have no information about network interfaces.

    Routes

    ??"routes":?[{"dst":?"<ip-and-prefix-in-cidr>","gw":?"<ip-of-next-hop>"???????????????(optional)},...]
    • Each?routes?entry is a dictionary with the following fields. All IP addresses in the?routes?entry must be the same IP version, either 4 or 6.

      • dst?(string): destination subnet specified in CIDR notation.

      • gw?(string): IP of the gateway. If omitted, a default gateway is assumed (as determined by the CNI plugin).

    DNS

    ??"dns":?{"nameservers":?<list-of-nameservers>?????????????????(optional)"domain":?<name-of-local-domain>?????????????????????(optional)"search":?<list-of-additional-search-domains>????????(optional)"options":?<list-of-options>?????????????????????????(optional)}

    The?dns?field contains a dictionary consisting of common DNS information.

    • nameservers?(list of strings): list of a priority-ordered list of DNS nameservers that this network is aware of. Each entry in the list is a string containing either an IPv4 or an IPv6 address.

    • domain?(string): the local domain used for short hostname lookups.

    • search?(list of strings): list of priority ordered search domains for short hostname lookups. Will be preferred over?domain?by most resolvers.

    • options?(list of strings): list of options that can be passed to the resolver. See?CNI Plugin Result?section for more information.

    Well-known Error Codes

    Error codes 1-99 must not be used other than as specified here.

    • 1?- Incompatible CNI version

    • 2?- Unsupported field in network configuration. The error message must contain the key and value of the unsupported field.


    轉載于:https://blog.51cto.com/tsing/1982812

    總結

    以上是生活随笔為你收集整理的Container Networking Interface Specification的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    免费av看片 | 在线观看免费版高清版 | 中文字幕日韩一区二区三区不卡 | 欧美综合在线观看 | 亚洲va欧美va人人爽春色影视 | 亚洲黄色区 | 国产在线观看一区 | 久久尤物电影视频在线观看 | 成年人黄色免费看 | av资源在线看 | 日韩在线电影一区 | 精品亚洲免a| 黄色大全视频 | 四虎影视久久久 | 色偷偷88888欧美精品久久久 | 婷婷综合久久 | 婷婷在线色| 久久99亚洲精品久久 | 亚洲欧美日韩国产一区二区 | 久久久久www| 午夜少妇一区二区三区 | 人人艹视频 | 91精品综合在线观看 | 国产精品一区二区免费视频 | 久久999精品 | 国产999免费视频 | 国产精品小视频网站 | 日韩特黄av | 日韩一二三区不卡 | 久久久久久久久久久网站 | 久久人人精 | 日日日视频 | 狠狠的操| www.久草.com| 在线看片中文字幕 | 久久国产品 | 天天色天天爱天天射综合 | 五月婷香蕉久色在线看 | 国产成人精品一区二区三区网站观看 | 日日操日日插 | av资源免费观看 | 黄色片视频在线观看 | 岛国av在线免费 | 夜夜操天天干 | 香蕉一区| 日韩网站在线 | 婷婷色视频| 欧美一级高清片 | 中国一级片在线 | 欧美成人h版在线观看 | 人人精品久久 | 色婷婷激情 | 在线观看91精品视频 | 国产精品成人久久 | 波多野结衣视频一区 | 探花视频网站 | 欧美大香线蕉线伊人久久 | 久热久草 | 久久撸在线视频 | 国产成人精品一区二区三区福利 | 国产不卡在线观看视频 | 国产女教师精品久久av | 97精品国自产拍在线观看 | 国产精品久久久亚洲 | 国产精品电影一区 | 亚洲国产一区二区精品专区 | 国内精品久久久久久久久 | 97综合视频 | www色com | 亚洲精品综合一二三区在线观看 | 婷婷在线不卡 | 免费看的毛片 | 超碰夜夜 | 日韩精品专区在线影院重磅 | 日韩激情网| 国产 日韩 在线 亚洲 字幕 中文 | 国产99久久 | av高清不卡| 成人精品国产免费网站 | 亚洲精品成人 | 国产五十路毛片 | 午夜精品久久久久99热app | 狠狠色香婷婷久久亚洲精品 | 日韩色中色 | 日韩在线免费高清视频 | 丁香六月婷婷开心婷婷网 | 中文字幕在线观看免费高清电影 | 亚洲电影毛片 | 久草综合视频 | 91在线播 | 日韩视频免费在线 | 香蕉视频18 | 日韩免费电影一区二区 | 精品国模一区二区三区 | 久久看片网| 正在播放国产一区二区 | 黄色免费电影网站 | 亚洲综合在线视频 | 午夜av免费观看 | av成人亚洲 | 四虎伊人 | 欧美高清视频不卡网 | 免费观看xxxx9999片 | 综合久久久久久久久 | 久久dvd | 亚洲欧洲中文日韩久久av乱码 | 人人草人人做 | 在线看av的网址 | 免费在线视频一区二区 | 美女性爽视频国产免费app | 国产成人免费av电影 | www免费在线观看 | 黄色日批网站 | 亚洲午夜精品一区二区三区电影院 | 国产精品九九久久99视频 | 97网在线观看 | 国产欧美综合在线观看 | 久草资源在线观看 | 青青草国产精品视频 | 亚洲一区免费在线 | 精品自拍av | av大全在线看 | 国产亚洲精品中文字幕 | 91久久影院 | 亚洲精品日韩一区二区电影 | 2024av在线播放 | 色多多污污在线观看 | 成人免费共享视频 | 一区二区三区观看 | 国产一区二区视频在线 | 国产一级淫片免费看 | 视频一区二区三区视频 | 日本特黄特色aaa大片免费 | 欧美一二三区在线观看 | 久久久久久久久久免费视频 | 黄色av免费电影 | 99久e精品热线免费 99国产精品久久久久久久久久 | www操操| 国产99久久九九精品 | 日本公妇在线观看高清 | 九九三级毛片 | 国产精品视频久久 | 精品美女视频 | 中字幕视频在线永久在线观看免费 | 午夜精品一区二区三区视频免费看 | 免费日韩 精品中文字幕视频在线 | 亚州精品视频 | 免费看的毛片 | 中文字幕色综合网 | 日本精品视频在线 | 麻豆国产精品视频 | 伊人久久一区 | 日本黄色免费在线观看 | 999久久久久久久久久久 | 国产视频一区在线免费观看 | 五月婷婷深开心 | 久久视频免费在线观看 | 亚洲成av人影院 | 伊人影院在线观看 | 99re8这里有精品热视频免费 | 久久撸在线视频 | 精品高清美女精品国产区 | 日韩av免费观看网站 | 久久99国产精品免费网站 | 国产欧美综合视频 | 国产黄大片 | 欧美精品九九99久久 | 久草在线免费看视频 | 四虎在线永久免费观看 | 午夜在线免费视频 | 日韩精品免费在线视频 | 久久精品国产精品 | 成年人在线看视频 | 在线观看的av | 亚洲伊人成综合网 | 成人91在线 | 激情五月婷婷激情 | 国产在线观看国语版免费 | 国产精品3 | 免费中文字幕在线观看 | 国产成人久久精品77777综合 | 久久久电影 | 国产一区二区在线免费播放 | 日日爱网址| 国产毛片在线 | 韩国中文三级 | 人人草在线观看 | 欧美精品久久人人躁人人爽 | 欧美夫妻生活视频 | 精品在线视频观看 | 香蕉手机在线 | 日韩色在线观看 | 国产 日韩 欧美 中文 在线播放 | 综合激情网... | 一区二区三区在线免费 | 久久国产精品99久久久久久老狼 | 国产 字幕 制服 中文 在线 | 日韩av进入| 国产韩国日本高清视频 | 日韩av视屏在线观看 | 久久一级片 | 国产精品欧美激情在线观看 | 看v片| 人人看黄色 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 国产精品成人av电影 | 日韩在线视频免费播放 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 狠狠狠狠狠狠天天爱 | 久久国产二区 | 久久99国产精品久久 | 日韩综合色 | 国产一级视频在线观看 | 欧美日韩高清在线 | 国产一级免费播放 | 久久久精品国产一区二区电影四季 | 国产美女网站视频 | 欧美日韩一级久久久久久免费看 | 9在线观看免费高清完整版在线观看明 | 在线久草视频 | 91久久国产露脸精品国产闺蜜 | 狠狠色狠狠色综合日日小说 | 亚洲国产日韩一区 | 国产精品99免费看 | 超碰精品在线 | 1024手机在线看 | av字幕在线 | 免费看精品久久片 | 天天色天 | 亚洲激情综合网 | 色播99 | 天天操天天操天天操天天操天天操天天操 | 久久综合成人网 | 婷婷综合久久 | 中文字幕免费在线看 | 精品一二三四五区 | 婷婷丁香自拍 | 人人爽人人爱 | 久久影视一区 | 国产日韩视频在线 | 成人av在线播放网站 | 日本久久精品 | 超碰97免费| 激情五月婷婷激情 | 国产成人一二三 | 中国精品一区二区 | 天天综合网国产 | 久久精品日本啪啪涩涩 | 中文字幕av在线不卡 | 九九有精品| 91麻豆精品国产91久久久使用方法 | 免费网站看av片 | 91精彩视频在线观看 | 2023国产精品自产拍在线观看 | 丁香九月激情综合 | 免费看片亚洲 | 成人av高清| 99视频久久 | 波多野结衣在线观看一区 | 免费欧美精品 | 日韩免费一级a毛片在线播放一级 | 在线免费观看视频你懂的 | 99国产精品久久久久老师 | 久久超级碰| 福利一区二区在线 | av成人亚洲 | 人人爱在线视频 | 亚洲不卡123| av网站地址 | 97超碰人人模人人人爽人人爱 | 欧美天天干| 日韩国产精品一区 | 日韩高清片 | 在线观看视频99 | 久久激情五月激情 | 国产亚洲一区二区在线观看 | 久久精品国产亚洲aⅴ | 久热免费 | 中文字幕在线不卡国产视频 | 久久男人免费视频 | 99r精品视频在线观看 | 亚洲欧美日韩一二三区 | 国产成人一区在线 | 香蕉视频在线观看免费 | 在线视频 91| 亚洲成人午夜在线 | 中文字幕国产一区 | 国产精品久久久久高潮 | 亚洲精品午夜久久久 | 国产91精品高清一区二区三区 | 日韩午夜剧场 | 公开超碰在线 | 色网站中文字幕 | 中文字幕一区二区三区四区视频 | 激情综合久久 | 亚洲不卡在线 | 国产精品视频地址 | 日日添夜夜添 | 丰满少妇高潮在线观看 | 欧美先锋影音 | 五月婷婷在线视频观看 | 免费av网站观看 | 日韩精品三区四区 | 成人蜜桃网 | 亚洲精品777| 免费视频一级片 | 国产精品嫩草55av | 99免费在线 | 国产一性一爱一乱一交 | 国产.精品.日韩.另类.中文.在线.播放 | 国产老太婆免费交性大片 | 久久精品国产免费观看 | 999久久国产 | 色婷婷综合视频在线观看 | 日韩欧美高清在线 | av五月婷婷 | 在线午夜电影神马影院 | 在线成人中文字幕 | 精品国产欧美一区二区三区不卡 | 国产污视频在线观看 | 一级片观看 | 久久精选视频 | 久草在线视频中文 | av在线播放不卡 | 久久桃花网 | a级片韩国| www.福利视频 | 国产日本在线 | a在线v| 性日韩欧美在线视频 | 在线国产精品视频 | 天天干人人| 天天干天天做天天操 | 色av婷婷| 久久草在线视频国产 | 欧美精品一区二区性色 | 99视频久久 | 国产一线二线三线性视频 | 国产福利一区二区三区视频 | 色橹橹欧美在线观看视频高清 | 午夜成人免费影院 | 日日干夜夜干 | 日韩高清观看 | 国产小视频91 | 欧美性网站 | 久久人人爽人人人人片 | 草久视频在线 | 正在播放久久 | 亚洲午夜久久久久久久久久久 | 午夜av免费在线观看 | 国产黄在线免费观看 | 992tv在线 | 久久久久国产精品午夜一区 | 天天久久综合 | 亚洲资源一区 | 狠狠狠色丁香婷婷综合久久88 | 一区二区三区在线免费观看 | 97在线观看 | 亚洲综合欧美激情 | 久久久久久久久久久久久9999 | 国产精品手机视频 | 日韩高清国产精品 | 久久久久久毛片精品免费不卡 | 精品亚洲成a人在线观看 | 欧美日韩1区 | 一区二区毛片 | 国产在线欧美在线 | 国内久久看 | 久久婷婷影视 | 91视频这里只有精品 | 欧美激情奇米色 | 亚洲电影影音先锋 | 国产精品永久免费视频 | 国产中文在线播放 | 天天曰视频| 一二区电影 | 久久久久激情 | 波多野结衣视频在线 | 免费在线视频一区二区 | 日本韩国精品一区二区在线观看 | 日韩av视屏在线观看 | 欧美性色xo影院 | 国产精品18久久久久久久网站 | 国产精品免费成人 | 国产在线97 | 精品国产一区二区三区av性色 | 天天天操操操 | 午夜电影中文字幕 | 亚洲性xxxx | 久久国产露脸精品国产 | 国产精品一区二区麻豆 | 国产视频欧美视频 | 不卡的av中文字幕 | 国产视频91在线 | 九九久久精品 | 狠狠干狠狠久久 | 五月花婷婷 | 久久久国产精华液 | 国产免费二区 | 精品国产免费av | 国产精品va视频 | 日韩精品不卡在线观看 | 国产裸体bbb视频 | 骄小bbw搡bbbb揉bbbb | 久久精品国产一区二区电影 | 色婷婷久久一区二区 | 夜夜视频 | 99视频精品免费观看, | 久久久影院官网 | 国产精品美女999 | 国产剧情一区 | 日韩精品一区二区三区视频播放 | 四虎成人精品永久免费av | 亚洲电影黄色 | 国产视频精品网 | 国产一二三在线视频 | 国产成人a亚洲精品v | 97免费中文视频在线观看 | 国产在线国偷精品产拍免费yy | www.久草视频| 国产午夜小视频 | 男女视频久久久 | 91麻豆精品国产91久久久更新时间 | zzijzzij亚洲成熟少妇 | 久久www免费视频 | av成人在线电影 | 日韩电影久久久 | 婷婷激情五月综合 | 97超碰影视 | 久久草在线精品 | 久久久久亚洲精品 | 激情婷婷综合网 | 国产精品一区二区免费在线观看 | 国产亚洲精品中文字幕 | 99久精品 | 日韩av中文字幕在线 | 天天操夜夜操夜夜操 | 狠狠操夜夜 | 91高清一区 | 亚洲色图色 | 国产一区二区三区免费在线观看 | 夜夜操网| 日本少妇高清做爰视频 | 国产精品美 | 不卡视频在线 | 久草干| 在线观看激情av | 午夜在线观看影院 | 91精品国自产拍天天拍 | 国产精品99精品久久免费 | 欧美成人精品欧美一级乱 | 又黄又刺激视频 | 国产成人福利在线 | 中文字幕黄色网 | 国产视频久久久久 | 黄色成年片 | 婷婷在线免费视频 | 久久久 精品 | 四虎免费在线观看视频 | 国产免费中文字幕 | 成年人电影毛片 | 狠狠狠色丁香综合久久天下网 | 日韩资源在线 | 99色免费视频| 国产婷婷精品av在线 | 色播五月激情综合网 | 久久久.com | 欧美激情一区不卡 | 婷婷丁香六月 | 久久五月情影视 | 日韩免费大片 | 黄色成品视频 | 国产成人精品av在线观 | 青青看片 | 免费av观看网站 | 欧美成人中文字幕 | 日韩最新中文字幕 | 国产亚洲精品久久久久久无几年桃 | 丰满少妇对白在线偷拍 | 最新av电影网站 | 人人玩人人添人人 | 狠狠操操操 | 激情婷婷色 | 久久精品国产第一区二区三区 | 91精品啪在线观看国产线免费 | 激情深爱.com | 日韩免费在线视频观看 | 麻豆传媒在线免费看 | 中文字幕av在线 | 精品久久久久久亚洲综合网站 | 99久久婷婷国产精品综合 | 国产成人精品一区二区三区 | 国产a国产 | 91精品黄色 | 久久久精品久久日韩一区综合 | 国产精品情侣视频 | 日韩一二区在线观看 | 色播六月天 | 精品999| 欧美成人精品欧美一级乱 | 欧美天天综合 | 很污的网站 | 久久99精品久久久久久秒播蜜臀 | 久香蕉 | 亚洲一区在线看 | 中文字幕一区av | 91在线视频 | 亚洲区另类春色综合小说校园片 | 亚洲日本欧美在线 | 成人a视频在线观看 | 9999在线| 国产精品免费视频一区二区 | 亚洲国产一二三 | 91传媒免费观看 | 亚洲精品久久视频 | 久久三级视频 | 人人搞人人爽 | 美女网站久久 | 亚洲日本欧美 | 亚洲欧洲精品一区二区精品久久久 | 亚洲精品黄色在线观看 | 免费成人黄色片 | 福利视频导航网址 | 黄色网在线免费观看 | 国产手机精品视频 | 国产精品久久久久久久久岛 | 五月天中文在线 | 中文在线8新资源库 | 成人动漫一区二区 | 精品高清美女精品国产区 | 国产成人在线一区 | 91电影福利 | 免费人成在线观看网站 | 欧美日韩午夜在线 | 国产中文字幕在线视频 | 蜜臀av一区二区 | 综合av在线 | 午夜电影一区 | 日日干天天爽 | 在线观看免费 | 国产视频一区二区在线 | 久久五月婷婷丁香社区 | 天天拍夜夜拍 | 1024手机在线看 | 亚洲精品久久久蜜桃直播 | 日日日视频| 99热这里精品 | 亚洲精品大全 | 亚洲精品在线观看的 | 国产成人精品一区二区三区在线 | 久草在线91 | 精品女同一区二区三区在线观看 | 国产在线欧美在线 | 最近av在线| 免费黄色a网站 | 久久人人97超碰精品888 | 国产精品99久久久精品免费观看 | 精品久久久免费视频 | 国产剧在线观看片 | 亚洲电影网站 | 中日韩免费视频 | 国产91丝袜在线播放动漫 | 天天天综合网 | 国产免费一区二区三区网站免费 | 国产高清视频免费 | 国产91探花 | 国产久草在线 | 9999激情 | 精品一区二区在线看 | 日韩在线高清免费视频 | 成av在线 | 天天·日日日干 | 国产剧情一区在线 | 日韩电影中文,亚洲精品乱码 | 93久久精品日日躁夜夜躁欧美 | 久久久久黄色 | 日韩精品观看 | 久久永久免费视频 | 国产精品美乳一区二区免费 | 亚洲电影自拍 | 女人高潮特级毛片 | 9色在线视频 | 人人看人人做人人澡 | 一级一片免费看 | 97天天综合网 | 国产精品免费在线观看视频 | 亚洲精品动漫成人3d无尽在线 | 久久久久久久久毛片精品 | 9992tv成人免费看片 | 激情综合一区 | 亚洲综合激情五月 | 2022久久国产露脸精品国产 | 色婷婷国产精品 | 久久精品79国产精品 | 91网免费观看 | 欧美9999| 精品国产1区2区3区 国产欧美精品在线观看 | 天天干天天怕 | 亚洲精品视频在线观看网站 | 亚洲精品视频二区 | 国产成人精品一区二三区 | 国产91免费在线观看 | 国产中文在线视频 | 国产一线天在线观看 | 在线导航福利 | 免费看日韩 | av观看在线观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | av网在线观看 | 69国产精品成人在线播放 | 国产区免费在线 | 成人av亚洲 | 99久久久久久久 | 国产精品一区二区久久精品爱微奶 | 在线国产能看的 | 91成人网在线观看 | 在线中文字幕一区二区 | 亚洲精品在线观看中文字幕 | 日本丶国产丶欧美色综合 | 91看片在线 | 手机看片国产日韩 | 国产污视频在线观看 | 婷婷中文字幕综合 | 国产一区在线观看视频 | 在线观看亚洲精品视频 | 国产污视频在线观看 | 99久久精品久久久久久动态片 | 91精品国自产在线观看欧美 | 日本公妇色中文字幕 | 欧美午夜理伦三级在线观看 | 成人a在线观看高清电影 | 久久久蜜桃一区二区 | 亚洲成人av影片 | 91超级碰 | 国产在线视频资源 | 免费看片亚洲 | 欧美日本高清视频 | 99在线观看 | 亚洲爱视频| 香蕉影院在线 | 国产精品五月天 | 欧美日韩国产区 | 欧美一级欧美一级 | 国产爽视频 | 国产一级黄色片免费看 | 在线观看av国产 | 亚洲国产美女精品久久久久∴ | 日本少妇久久久 | 在线观看成人福利 | 欧美日韩精品二区第二页 | 在线免费看片 | 免费网址在线播放 | 国产美女网站在线观看 | 最近中文国产在线视频 | 国产资源免费 | 国产中年夫妇高潮精品视频 | 丁香视频全集免费观看 | 成人免费在线网 | 久热久草在线 | 综合色综合 | 日韩中文字幕在线观看 | 欧美日韩国产亚洲乱码字幕 | 97超碰在线播放 | 久操伊人| 国产视频中文字幕在线观看 | 在线天堂视频 | 一区二区视频电影在线观看 | 人人澡人人爱 | 狠狠色丁香婷婷综合 | 精品国内自产拍在线观看视频 | 日韩电影在线观看一区二区三区 | 超碰97在线资源 | 天天干人人插 | 国产精品美女久久久久久免费 | 久久视奸| 蜜臀久久99精品久久久酒店新书 | 久久久久国产免费免费 | 成人av一区二区在线观看 | 香蕉久草 | 成人av高清在线观看 | 在线 视频 一区二区 | 国产高清视频免费 | 日韩一区二区三区高清免费看看 | 精品久久亚洲 | 国产美女网站在线观看 | 午夜精品一区二区三区在线播放 | 欧美久久久久久久久久 | 国产精品麻| 99re在线视频观看 | 国产高清精品在线 | 一本一本久久a久久精品牛牛影视 | 亚洲精品乱码久久久久久高潮 | 又色又爽又黄高潮的免费视频 | 日本精品视频在线 | 国产精品免费久久久久久久久久中文 | 日日夜夜天天人人 | 国产中文视频 | 亚洲成人高清在线 | 亚洲日本成人网 | 91丨精品丨蝌蚪丨白丝jk | 2021国产精品视频 | 99国产成+人+综合+亚洲 欧美 | 在线看黄色的网站 | 亚洲最大成人网4388xx | 91视频大全| 国产很黄很色的视频 | 亚洲影院色 | 波多野结衣最新 | 日韩久久精品一区 | 免费高清在线一区 | 最新日韩精品 | 国产精品粉嫩 | 热久久国产 | 久久国色夜色精品国产 | a√天堂资源 | 91九色丨porny丨丰满6 | 久草在线观看资源 | 啪啪小视频网站 | 国产在线黄色 | 久久精品99国产精品酒店日本 | 亚洲成av人片在线观看无 | 午夜精品福利一区二区 | 国产极品尤物在线 | 国产999精品久久久久久麻豆 | 日韩美在线观看 | 91精品视频一区二区三区 | 97超碰在线久草超碰在线观看 | 中文字幕在线观看的网站 | 国产精品福利av | 亚洲狠狠丁香婷婷综合久久久 | 久亚洲 | 亚洲黄色在线 | 免费看国产一级片 | 日韩在线观看一区 | 色综合久久五月 | 久久久久久久网站 | 不卡的av电影在线观看 | www.亚洲黄 | 在线视频久久 | 国产美女视频免费观看的网站 | 日韩videos高潮hd | 欧洲精品码一区二区三区免费看 | 天天干 夜夜操 | 91大神电影 | 精品国产诱惑 | av福利网址导航大全 | 天天躁日日 | av一本久道久久波多野结衣 | 久久精品视频在线 | 久久96国产精品久久99软件 | 激情av一区二区 | 韩国av电影网| 一区二区视频在线播放 | 天天干夜夜夜操天 | 91精品视频免费看 | 夜夜干天天操 | 国产特级毛片 | 在线免费高清一区二区三区 | 久久久国产精品电影 | 亚洲精品久久久久久久蜜桃 | 国产一级视频免费看 | 免费看av在线| 国产精品久久久久久久久软件 | 97人人模人人爽人人喊中文字 | 国产激情久久久 | 国产小视频你懂的在线 | 伊人久久av | 97精品国产91久久久久久久 | 日韩在线观看你懂得 | 成人黄色大片在线观看 | 波多野结衣在线视频免费观看 | 日韩天天干 | 国产做爰视频 | 黄色国产大片 | 亚洲国产资源 | 日韩有码欧美 | 久久婷亚洲五月一区天天躁 | 草久久久久久 | 中文字幕999 | 高清精品视频 | 久久成人视屏 | 国产日韩亚洲 | 国产黄色片一级三级 | 国产黄av| 久久免费精品国产 | 婷婷香蕉 | 青草草在线 | 国产精品免费观看网站 | 97超视频 | 99久久精品国产毛片 | 日韩在线免费不卡 | 欧美精品九九99久久 | 亚洲激情视频在线 | 久久香蕉国产精品麻豆粉嫩av | 视频福利在线 | 五月天婷婷在线播放 | 国产精品黄网站在线观看 | 国产在线精品区 | 久久久久久久久久久黄色 | 日韩av网页 | 国产免费视频一区二区裸体 | 人人插人人玩 | 亚洲在线看 | 午夜视频黄 | avv天堂| 久久在线免费视频 | 久久在视频 | 99热在线免费观看 | 中文字幕在线一区观看 | 在线免费观看视频一区 | 麻豆传媒电影在线观看 | 97电影在线观看 | 国产精品第十页 | 97超碰精品 | av网站播放 | 欧洲精品亚洲精品 | 日本久久综合网 | 国产伦理一区二区三区 | 国产精品国产三级国产aⅴ无密码 | 国产区 在线 | 综合天天网 | 激情视频一区二区 | 黄色av一区二区三区 | 婷婷成人综合 | 国产精品一区二区美女视频免费看 | 懂色av一区二区在线播放 | 91看片在线播放 | 日本成人免费在线观看 | 久久首页 | 日韩一区二区免费视频 | 国产精品伦一区二区三区视频 | 欧美成人性网 | 91毛片在线观看 | 久久精品综合一区 | 天堂av影院 | 国产精品1区2区在线观看 | 黄色a在线| 探花在线观看 | 在线观看av网 | 精品久久久久久综合 | 久草免费在线观看视频 | 国产色妞影院wwwxxx | 欧美性护士 | 国产日韩欧美视频 | 91亚洲精品视频 | 99精品久久久久久久 | 亚洲码国产日韩欧美高潮在线播放 | 在线观看a视频 | 五月天av在线 | av在线免费播放 | 特级毛片爽www免费版 | 日日婷婷夜日日天干 | 免费在线中文字幕 | 日本福利视频在线 | 波多野结衣日韩 | 99视频+国产日韩欧美 | www.夜色321.com| 欧美日韩网址 | 亚洲精品高清一区二区三区四区 | 午夜久久精品 | 狠狠色噜噜狠狠 | 亚洲日本激情 | 99视频精品 | 在线观看网站你懂的 | 在线视频一二三 | 精选久久 | 国产精品video爽爽爽爽 | 成人羞羞视频在线观看免费 | 国产精品嫩草影院123 | 国产精品免费久久久久影院仙踪林 | 日本黄色大片儿 | 久久永久免费 | 天天插日日射 | 欧美疯狂性受xxxxx另类 | 免费久久视频 | 成人av观看 | 久久系列| 香蕉视频在线免费 | 久久久久一区二区三区 | 日韩欧美高清 | 在线亚洲欧美视频 | 久久综合狠狠综合久久综合88 | 91高清免费看 | 手机av片| 91av视频免费在线观看 | 天天操天天射天天操 | 中文在线a天堂 | 国产一区二区三区免费在线 | 欧美日韩中文字幕视频 | 国产日韩欧美在线一区 | 黄色小说视频网站 | 天天干,夜夜爽 | 一级黄色在线视频 | 一区二区不卡 | 91夫妻视频 | 国产午夜一区二区 | 亚洲精品资源在线观看 | 久久久久麻豆v国产 | 久久久免费看片 | 欧美激情片在线观看 | 国产成人av网 | www好男人| 国产不卡av在线播放 | 福利视频第一页 | 一级一级一片免费 | 国产成人精品免费在线观看 | 丁香5月婷婷久久 | 国内外激情视频 | 日本黄区免费视频观看 | 久久99亚洲网美利坚合众国 | 欧美日韩一级久久久久久免费看 | 丁香综合网 | 在线视频 精品 | 午夜精品视频一区二区三区在线看 | 麻豆久久一区二区 | 中文字幕av免费 | 欧美日韩亚洲在线 | 日韩一三区 | 国产一级一片免费播放放 | 99在线看 | 亚洲精品久久久蜜臀下载官网 | 国产美女精品久久久 | 超碰97国产| 在线成人性视频 | 8x8x在线观看视频 | 国产精品一区免费看8c0m | 国产高清在线不卡 | 国产精品久久久久久久毛片 | 国产午夜在线观看 | 成人蜜桃网 | 欧日韩在线视频 | 久久久91精品国产一区二区精品 | 91中文字幕在线 | 欧美va天堂在线电影 | 免费三级大片 | 久久国产免费 | 98超碰在线 | avlulu久久精品 | 自拍超碰在线 | 亚洲精品www久久久久久 | 啪一啪在线 | 91成人小视频 | 操操碰| 国产精品久久久久久久久久了 | 日韩免费看的电影 | 91麻豆精品一区二区三区 | 欧美福利片在线观看 | 色婷婷视频在线观看 | 国产精品v欧美精品v日韩 | 手机看片福利 | 2021国产在线 | 99久热在线精品视频观看 | 四虎www| 97视频人人 | 欧美色图视频一区 | 亚洲狠狠干 | 亚洲激情电影在线 | 日本乱码在线 | 毛片基地黄久久久久久天堂 | 日韩在线观看你懂的 | 激情av资源网 | 色网站黄 | 国产精品一区二区av影院萌芽 | 精品xxx| 在线观看视频在线观看 | 久久国产精彩视频 | 日韩av免费观看网站 | 亚洲免费精品视频 | 日韩欧美黄色网址 | 91精品视屏| 91成人网在线观看 | 亚洲精品视频大全 | 中文字幕有码在线 | 日韩91在线| 亚洲va韩国va欧美va精四季 | 婷婷四房综合激情五月 | 国产精品永久免费视频 | 国偷自产中文字幕亚洲手机在线 | 在线黄色免费av | 中文字幕免费国产精品 | 99 久久久久 | 成人在线观看你懂的 | 色偷偷网站视频 | 天天在线免费视频 | 国产91成人在在线播放 | 国产日本在线播放 | 六月丁香激情网 | 中文字幕888 | 在线看国产 | 国产一区国产二区在线观看 | 色综合天天色综合 | 免费在线国产视频 | 亚洲经典精品 | 一区在线免费观看 | 免费看黄色小说的网站 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 久久96国产精品久久99漫画 | 狠色狠色综合久久 |