SlideShare a Scribd company logo
PCI Pass-through
- FreeBSD VM on Hyper-V
Dexuan Cui (dexuan@freebsd.org)
Yanmin Qiao (sephe@freebsd.org )
Kylie Liang (kyliel@Microsoft.com)
Microsoft Enterprise Open Source Group
Agenda
• FreeBSD VM on Hyper-V Architecture
• PCI Pass-through
• Demo with FreeBSD VM on Hyper-V
• Next Step
• PCI Pass-through in Azure
Running a Guest OS on Hyper-V
Have
Integration
Services?
Yes Yes
No No
Emulated Devices
• No Hyper-V integration
• Limited manageability
• Limited functionality
• OK CPU, weak disk/net
Integration Services for FreeBSD - High Level Architecture
Windows Server
Virtual Machine
Management
Services
VMMS)(
Virtual Infrastructure Driver
VID)(
Virtualization Service
Provider (VSP)
VMBusDrivers
Hyper-v
Hardware
Windows Kernel
VMBus
FreeBSD Kernel
ifnetCAM
StorVSC NetVSC
FreeBSD VM
Virtual Machine
Worker Process
(VMWP)
Utilities
Daemon User
mode
Kernel
mode
Changes to FreeBSD
• Driver source code under sys/dev/hyperv/
• include/hyperv.h
• netvsc
• storvsc
• utilities
• vmbus
• Daemon
• http://svnweb.freebsd.org/base/head/contrib/hyperv/tools/
Discrete Device Assignment
• Discrete Device Assignment (also known as PCI Passthrough)
available as part of the Hyper-V role in Microsoft Windows Server
2016.
• Performance enhancement that allows a specific physical PCIe
device to be directly controlled by a guest VM running on the Hyper-
V instance.
• GPU
• Network adapter
• NVMe device
System Requirements - Host
• Processor
• Intel's Extended Page Table (EPT)
• or AMD's Nested Page Table (NPT).
• Chipset:
• Interrupt remapping - Intel's VT-d with the Interrupt Remapping capability (VT-d2) or
any version of AMD I/O Memory Management Unit (I/O MMU).
• DMA remapping - Intel's VT-d with Queued Invalidations or any AMD I/O MMU.
• Access control services (ACS) on PCI Express root ports.
• The firmware tables must expose the I/O MMU to Hyper-V.
• Note: This feature might be turned off in the UEFI or BIOS. For instructions, see the
hardware documentation or contact your hardware manufacturer.
System Requirements - Device
• Some devices in your computer don’t mark, or tag, their traffic in way
that individually identifies the device, making it impossible for the I/O
MMU to redirect this traffic to the memory owned by a specific VM.
These devices, mostly older PCI-style logic, can’t be assigned to a
guest VM.
• A survey script available to find potential DDA devices on your hosts
• Check machine/firmware (iommu: for intel it’s VT-d), host os (WS 2016),
devices (PCIe + no Port IO BAR + MSI/MSI-X + ACS), etc
• https://github.com/Microsoft/Virtualization-
Documentation/tree/master/hyperv-samples/benarm-powershell/DDA
Guest on Hyper-V vs. XEN & KVM
• Xen (HVM)/KVM
• Full emulation of PCI/PCIe bus
• XEN(PV guest)/Hyper-V
• Partial emulation of PCI/PCIe bus + PV hotplug message
Generation 1 vs. 2 VM on Hyper-V
Generation 1 Device Generation 2 Replacement Generation 2 Enhancements
IDE controller Virtual SCSI controller
Boot from .vhdx (64 TB maximum size, and online resize
capability)
IDE CD-ROM Virtual SCSI CD-ROM Support for up to 64 SCSI DVD devices per SCSI controller.
Legacy BIOS UEFI firmware Secure Boot
Legacy network adapter Synthetic network adapter Network boot with IPv4 and IPv6
Floppy controller and DMA controller No floppy controller support
Universal asynchronous
receiver/transmitter (UART) for COM
ports
Optional UART for debugging Faster and more reliable
i8042 keyboard controller Software-based input
Uses fewer resources because there is no emulation. Also
reduces the attack surface from the guest operating system.
PS/2 keyboard Software-based keyboard
Uses fewer resources because there is no emulation. Also
reduces the attack surface from the guest operating system.
PS/2 mouse Software-based mouse
Uses fewer resources because there is no emulation. Also
reduces the attack surface from the guest operating system.
S3 video Software-based video
Uses fewer resources because there is no emulation. Also
reduces the attack surface from the guest operating system.
PCI bus No longer required
Programmable interrupt controller (PIC) No longer required
Programmable interval timer (PIT) No longer required
Super I/O device No longer required
Guest and FreeBSD
sys/dev/hyperv/pcib/pcib.c - In code review phase
The patch implements a PCI bridge driver to support PCI pass-through.
• Talks to the host to discover device(s) and presents the device(s) to
FreeBSD's pci driver via PCI configuration space
• Allocates resources for the device(s) and initialize the related BARs,
when the device driver's attach method is invoked.
• Talks to the host to create MSI/MSI-X interrupt remapping between
the guest and the host.
• Supports device hot add/remove.
Demo
Dismount the device from the host
Hot Add
Configure and test the performance
Hot Remove
Mount the device to the host
Next Step
• Debug: hypervisor’s scheduling can affect the performance greatly
• SR-IOV
• Allocates a portion of a NIC to the virtual machine for improved latency and
throughput.
• VF driver in FreeBSD
• Integrate it to Virtual Appliances with ISV vendors
Hybrid
Hyper-scale
Open &
flexible
Applications
Clients
Infrastructure
Management
Databases &
Middleware
App Frameworks
& Tools
DevOps
PaaS &
DevOps
Enterprise
proven
AzureOpen &
flexible
>80%of Fortune 500 use the Microsoft Cloud
PCI Pass-through in Azure – GPU Access
• Used on N-Series Azure VMs to give the guests access to GPUs.
• VM Size: N-Series instances are enabled with NVIDIA’s cutting-edge GPUs so you can run
GPU-accelerated workloads and visualize them.
• Windows and Linux VMs
• Start from South Central US region
• In public preview now.
• Want to learn more – http://gpu.azure.com/ .
PCI Pass-through in Azure – Accelerated
Networking
• Accelerated Networking enables Single Root I/O Virtualization (SR-IOV)
to a virtual machine (VM), greatly improving its networking
performance.
• VM Size: Standard_D15_v2 and Standard_DS15_v2
• Windows Server 2012 R2 and Windows Server 2016 Technical Preview 5. Linux
and Windows Server 2012 support will be added soon.
• West Central US, West Europe Azure regions
• Start from South Central US region
• In preview now.
BSD Based Virtual Appliance in Azure
Marketplace
FreeBSD 10.3 is available in Azure Marketplace
June: Global Azure
Sep: Azure China
BSD Meetup in China – First Time
Meet other local geeks and discuss the BSD including
FreeBSD, NetBSD, OpenBSD, MacOS X, DragonFlyBSD and any
other BSD derived systems. If you want to know about BSD
running in the cloud or how BSD is used as networking and
security product, you definitely should join us!
BSD的开发者,爱好者们,无论您是在做FreeBSD,NetBSD,OpenBSD
,MacOS X, DragonFlyBSD或任何BSD衍生产品的开发,或者您听过并
想了解BSD和UNIX,让我们聚集一堂吧!又或者您关心云计算,网络
和安全,这样的聚会也必定让您受益匪!
http://www.huodongxing.com/go/bsd_sh 11/21 @ Shanghai
http://www.huodongxing.com/go/bsd_bj 12/5 @ Beijing
Thank You

More Related Content

PPT
FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBS...
PPT
BayLISA - FreeNAS 10 by Jordan Hubbard
PPTX
The True Story of FreeNAS
PDF
FreeBSD: The Next 10 Years (MeetBSD 2014)
PDF
600M+ Unsuspecting FreeBSD Users (MeetBSD California 2014)
PDF
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
PDF
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
PDF
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBS...
BayLISA - FreeNAS 10 by Jordan Hubbard
The True Story of FreeNAS
FreeBSD: The Next 10 Years (MeetBSD 2014)
600M+ Unsuspecting FreeBSD Users (MeetBSD California 2014)
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...

What's hot (20)

PDF
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
PDF
QEMU Disk IO Which performs Better: Native or threads?
PDF
Virtualization with KVM (Kernel-based Virtual Machine)
ODP
PPTX
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
PDF
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
PDF
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
PDF
Using cobbler in a not so small environment 1.77
PDF
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
PDF
Cobbler, Func and Puppet: Tools for Large Scale Environments
PDF
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
PDF
RunningFreeBSDonLinuxKVM
PDF
Lavigne aug11 bsdmag
PDF
The end of embedded Linux (as we know it)
PDF
vbsd2013
ODP
Kvm and libvirt
PDF
TechDay - Cambridge 2016 - OpenNebula Corona
PDF
PPTX
Optimizing VM images for OpenStack with KVM/QEMU
PPT
linux minimal os tutorial - by shatrix
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
QEMU Disk IO Which performs Better: Native or threads?
Virtualization with KVM (Kernel-based Virtual Machine)
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
Using cobbler in a not so small environment 1.77
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
Cobbler, Func and Puppet: Tools for Large Scale Environments
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
RunningFreeBSDonLinuxKVM
Lavigne aug11 bsdmag
The end of embedded Linux (as we know it)
vbsd2013
Kvm and libvirt
TechDay - Cambridge 2016 - OpenNebula Corona
Optimizing VM images for OpenStack with KVM/QEMU
linux minimal os tutorial - by shatrix
Ad

Viewers also liked (17)

PPT
NeXTBSD aka FreeBSD X
PDF
History of ZFS (MeetBSD California 2016)
PDF
Case study Scavolini
PDF
Case Study Solvay
DOCX
Sherut diva
PPSX
TexTerpreting for Kitelab
PPTX
Presentation materi kelas 9 bab 2
PPTX
Evaluation Question 2
PPTX
Problemes tecnològics
PPTX
Tugas dds 2 kel v (sejarah perkembangan ilmu)
PPTX
End of Production Audience Survey
PPTX
INDICE DE MASA CORPORAL
ODP
Media studies Presentation
PDF
Case study Latteria Vipiteno
PPTX
Redes sociales
PPTX
Introduction à la recherche d'information
PPTX
Technology and Protest
NeXTBSD aka FreeBSD X
History of ZFS (MeetBSD California 2016)
Case study Scavolini
Case Study Solvay
Sherut diva
TexTerpreting for Kitelab
Presentation materi kelas 9 bab 2
Evaluation Question 2
Problemes tecnològics
Tugas dds 2 kel v (sejarah perkembangan ilmu)
End of Production Audience Survey
INDICE DE MASA CORPORAL
Media studies Presentation
Case study Latteria Vipiteno
Redes sociales
Introduction à la recherche d'information
Technology and Protest
Ad

Similar to PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016) (20)

PDF
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
PDF
XPDDS17: Bring up PCI Passthrough on ARM - Julien Grall, ARM
PDF
Project ACRN Device Passthrough Introduction
PDF
Graphics virtualization
PDF
Graphics virtualization
PDF
XS Boston 2008 VT-D PCI
PDF
PPTX
Hyper V And Scvmm Best Practis
PDF
Buiding a better Userspace - The current and future state of QEMU and KVM int...
PPT
XenServer, Hyper-V, and ESXi - Architecture, API, and Coding
PDF
Dynamic Data Center for Hosters, by Stefan Simon
PDF
2virtualizationtechnologyoverview 13540659831745-phpapp02-121127193019-phpapp01
PDF
Sierraware ARM hypervisor
PDF
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
PDF
Ian Pratt Nsdi Keynote Apr2008
PDF
D1 t2 jonathan brossard - breaking virtualization by switching to virtual 8...
PDF
OpenDBCamp Virtualization
PDF
GPU Virtualization in SUSE
PDF
Nakajima hvm-be final
PDF
Highload Frank Kohler
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS17: Bring up PCI Passthrough on ARM - Julien Grall, ARM
Project ACRN Device Passthrough Introduction
Graphics virtualization
Graphics virtualization
XS Boston 2008 VT-D PCI
Hyper V And Scvmm Best Practis
Buiding a better Userspace - The current and future state of QEMU and KVM int...
XenServer, Hyper-V, and ESXi - Architecture, API, and Coding
Dynamic Data Center for Hosters, by Stefan Simon
2virtualizationtechnologyoverview 13540659831745-phpapp02-121127193019-phpapp01
Sierraware ARM hypervisor
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
Ian Pratt Nsdi Keynote Apr2008
D1 t2 jonathan brossard - breaking virtualization by switching to virtual 8...
OpenDBCamp Virtualization
GPU Virtualization in SUSE
Nakajima hvm-be final
Highload Frank Kohler

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Network Security Unit 5.pdf for BCA BBA.
The Rise and Fall of 3GPP – Time for a Sabbatical?
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
The AUB Centre for AI in Media Proposal.docx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation_ Review paper, used for researhc scholars
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Building Integrated photovoltaic BIPV_UPV.pdf
20250228 LYD VKU AI Blended-Learning.pptx
cuic standard and advanced reporting.pdf
Spectral efficient network and resource selection model in 5G networks
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Unlocking AI with Model Context Protocol (MCP)
MYSQL Presentation for SQL database connectivity
Per capita expenditure prediction using model stacking based on satellite ima...

PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)

  • 1. PCI Pass-through - FreeBSD VM on Hyper-V Dexuan Cui (dexuan@freebsd.org) Yanmin Qiao (sephe@freebsd.org ) Kylie Liang (kyliel@Microsoft.com) Microsoft Enterprise Open Source Group
  • 2. Agenda • FreeBSD VM on Hyper-V Architecture • PCI Pass-through • Demo with FreeBSD VM on Hyper-V • Next Step • PCI Pass-through in Azure
  • 3. Running a Guest OS on Hyper-V Have Integration Services? Yes Yes No No Emulated Devices • No Hyper-V integration • Limited manageability • Limited functionality • OK CPU, weak disk/net
  • 4. Integration Services for FreeBSD - High Level Architecture Windows Server Virtual Machine Management Services VMMS)( Virtual Infrastructure Driver VID)( Virtualization Service Provider (VSP) VMBusDrivers Hyper-v Hardware Windows Kernel VMBus FreeBSD Kernel ifnetCAM StorVSC NetVSC FreeBSD VM Virtual Machine Worker Process (VMWP) Utilities Daemon User mode Kernel mode
  • 5. Changes to FreeBSD • Driver source code under sys/dev/hyperv/ • include/hyperv.h • netvsc • storvsc • utilities • vmbus • Daemon • http://svnweb.freebsd.org/base/head/contrib/hyperv/tools/
  • 6. Discrete Device Assignment • Discrete Device Assignment (also known as PCI Passthrough) available as part of the Hyper-V role in Microsoft Windows Server 2016. • Performance enhancement that allows a specific physical PCIe device to be directly controlled by a guest VM running on the Hyper- V instance. • GPU • Network adapter • NVMe device
  • 7. System Requirements - Host • Processor • Intel's Extended Page Table (EPT) • or AMD's Nested Page Table (NPT). • Chipset: • Interrupt remapping - Intel's VT-d with the Interrupt Remapping capability (VT-d2) or any version of AMD I/O Memory Management Unit (I/O MMU). • DMA remapping - Intel's VT-d with Queued Invalidations or any AMD I/O MMU. • Access control services (ACS) on PCI Express root ports. • The firmware tables must expose the I/O MMU to Hyper-V. • Note: This feature might be turned off in the UEFI or BIOS. For instructions, see the hardware documentation or contact your hardware manufacturer.
  • 8. System Requirements - Device • Some devices in your computer don’t mark, or tag, their traffic in way that individually identifies the device, making it impossible for the I/O MMU to redirect this traffic to the memory owned by a specific VM. These devices, mostly older PCI-style logic, can’t be assigned to a guest VM. • A survey script available to find potential DDA devices on your hosts • Check machine/firmware (iommu: for intel it’s VT-d), host os (WS 2016), devices (PCIe + no Port IO BAR + MSI/MSI-X + ACS), etc • https://github.com/Microsoft/Virtualization- Documentation/tree/master/hyperv-samples/benarm-powershell/DDA
  • 9. Guest on Hyper-V vs. XEN & KVM • Xen (HVM)/KVM • Full emulation of PCI/PCIe bus • XEN(PV guest)/Hyper-V • Partial emulation of PCI/PCIe bus + PV hotplug message
  • 10. Generation 1 vs. 2 VM on Hyper-V Generation 1 Device Generation 2 Replacement Generation 2 Enhancements IDE controller Virtual SCSI controller Boot from .vhdx (64 TB maximum size, and online resize capability) IDE CD-ROM Virtual SCSI CD-ROM Support for up to 64 SCSI DVD devices per SCSI controller. Legacy BIOS UEFI firmware Secure Boot Legacy network adapter Synthetic network adapter Network boot with IPv4 and IPv6 Floppy controller and DMA controller No floppy controller support Universal asynchronous receiver/transmitter (UART) for COM ports Optional UART for debugging Faster and more reliable i8042 keyboard controller Software-based input Uses fewer resources because there is no emulation. Also reduces the attack surface from the guest operating system. PS/2 keyboard Software-based keyboard Uses fewer resources because there is no emulation. Also reduces the attack surface from the guest operating system. PS/2 mouse Software-based mouse Uses fewer resources because there is no emulation. Also reduces the attack surface from the guest operating system. S3 video Software-based video Uses fewer resources because there is no emulation. Also reduces the attack surface from the guest operating system. PCI bus No longer required Programmable interrupt controller (PIC) No longer required Programmable interval timer (PIT) No longer required Super I/O device No longer required
  • 11. Guest and FreeBSD sys/dev/hyperv/pcib/pcib.c - In code review phase The patch implements a PCI bridge driver to support PCI pass-through. • Talks to the host to discover device(s) and presents the device(s) to FreeBSD's pci driver via PCI configuration space • Allocates resources for the device(s) and initialize the related BARs, when the device driver's attach method is invoked. • Talks to the host to create MSI/MSI-X interrupt remapping between the guest and the host. • Supports device hot add/remove.
  • 12. Demo Dismount the device from the host Hot Add Configure and test the performance Hot Remove Mount the device to the host
  • 13. Next Step • Debug: hypervisor’s scheduling can affect the performance greatly • SR-IOV • Allocates a portion of a NIC to the virtual machine for improved latency and throughput. • VF driver in FreeBSD • Integrate it to Virtual Appliances with ISV vendors
  • 14. Hybrid Hyper-scale Open & flexible Applications Clients Infrastructure Management Databases & Middleware App Frameworks & Tools DevOps PaaS & DevOps Enterprise proven AzureOpen & flexible >80%of Fortune 500 use the Microsoft Cloud
  • 15. PCI Pass-through in Azure – GPU Access • Used on N-Series Azure VMs to give the guests access to GPUs. • VM Size: N-Series instances are enabled with NVIDIA’s cutting-edge GPUs so you can run GPU-accelerated workloads and visualize them. • Windows and Linux VMs • Start from South Central US region • In public preview now. • Want to learn more – http://gpu.azure.com/ .
  • 16. PCI Pass-through in Azure – Accelerated Networking • Accelerated Networking enables Single Root I/O Virtualization (SR-IOV) to a virtual machine (VM), greatly improving its networking performance. • VM Size: Standard_D15_v2 and Standard_DS15_v2 • Windows Server 2012 R2 and Windows Server 2016 Technical Preview 5. Linux and Windows Server 2012 support will be added soon. • West Central US, West Europe Azure regions • Start from South Central US region • In preview now.
  • 17. BSD Based Virtual Appliance in Azure Marketplace
  • 18. FreeBSD 10.3 is available in Azure Marketplace June: Global Azure Sep: Azure China
  • 19. BSD Meetup in China – First Time Meet other local geeks and discuss the BSD including FreeBSD, NetBSD, OpenBSD, MacOS X, DragonFlyBSD and any other BSD derived systems. If you want to know about BSD running in the cloud or how BSD is used as networking and security product, you definitely should join us! BSD的开发者,爱好者们,无论您是在做FreeBSD,NetBSD,OpenBSD ,MacOS X, DragonFlyBSD或任何BSD衍生产品的开发,或者您听过并 想了解BSD和UNIX,让我们聚集一堂吧!又或者您关心云计算,网络 和安全,这样的聚会也必定让您受益匪! http://www.huodongxing.com/go/bsd_sh 11/21 @ Shanghai http://www.huodongxing.com/go/bsd_bj 12/5 @ Beijing