SlideShare a Scribd company logo
Paul Durrant
Principal Software Engineer, Citrix
Citrix Certified Administrator Certification
Agenda
• Background
• The XenServer 6.0.2 (a.k.a. legacy) drivers
• The XenServer 6.1 (a.k.a. standard) drivers
• Open Source
• ‘Upstream’ Drivers
• XenServer PV Device
• Interfaces
• Building and Installing
“A history of the Windows PV drivers and a brief tour of the ‘upstream’
drivers and their interfaces”
Why use PV Drivers?
• Emulated storage and network are slow
• IDE
• Realtek 8139
• Dom0 takes a lot of load
• Can easily take 50% CPU per VM
• Migration can be problematic
• Testing shown up many crashes and hangs
Windows Drivers
PDO
FDO
FDO
PACKAGE (INF FILE)
PACKAGE
local/domain/device/vif
This is a Function Device Object, created
when a driver binds to a Physical Device
Object. The INF file states the ‘names’ it will
bind to.
This is a Physical Device Object, created
by a bus driver. The ‘name’ of this device is
used by Windows to select a driver.
This is a xenstore key that is used
by a PV bus driver to create a
PDO.
This is an FDO created by a child
PV driver that binds to the PDO
representing the xenstore key.
FiltDO
This is a Filter Device Object.
They can be used to interpose on
Plug’n’Play, Power or IO
messages flowing between PDOs
and FDOs.
XenServer 6.0.2 PV Drivers
ROOTXENEVTCHN PCIVEN_5853&DEV_0001
XENVBDXENEVTCHN
DISK
XENVIF
XENNET
XENUTIL
XENVBDXEVTCHN
XENVIF
XENNET
local/domain/device/vif
local/domain/device/vif/0
XENNET
XENNET
local/domain/device/vif/1 local/domain/device/vbd/768
DISK
local/domain/device/vbd/832
SCSIFILT SCSIFILT
……
Created by installer Emulated by QEMU
Standard in-box
driver
Linkage dependency
• XENIFACE omitted for simplicity
XenServer 6.0.2 PV Drivers
• Need SCSIFILT because we use old SCSIPORT storage driver
model, which is really slow
• Creates all sorts of problems with compatibility
• Use of ROOT node requires installer
• Cross-package linkage dependency means drivers have to be
installed and upgraded as a unit
• Prevents deployment via Windows Update
“But Windows Update would be very useful for large installations or
upgrades so that’s a pain. What can we do?”
Enter Windows 8
Enter Windows 8
• With the new WDK Microsoft decided:
• You can only use Visual Studio 2012 to build…
…so throw away your existing build scripts
• They only support building for OS back to Vista…
…so you’re going to have to have two binaries if you want to
support XP and Server 2003 like it or not
“So, we’re going to have to do something.”
XenServer 6.1 PV Drivers
• Goals:
• No installer necessary for drivers
• Can be installed via device manager
• No cross-package linkage dependency
• Versioned interfaces discovered at run-time
• Suitable for Windows Update
• Cannot bind to existing platform PCI device
• Implementation choice:
• Use faster STORPORT storage driver model
• Possible now we’re only targeting Vista onwards
• Removes need for SCSIFILT
XenServer 6.1 PV Drivers
PCIVEN_5853&DEV_0002
XENVBD
DISK
XENVIF
XENNET
XENVBDXENVIF
XENNET
local/domain/device/vif
local/domain/device/vif/0
XENNET
XENNET
local/domain/device/vif/1 local/domain/device/vbd/768
DISK
local/domain/device/vbd/832
…
…
local/domain/device/vbd
XENBUS
XENBUS
XENFILT
XEN
Interface
discovery
• XENIFACE omitted again for simplicity
NOTE: New Device ID
Handles unplug
Open Source
• XenServer made completely open source
• Windows driver code hosted on GitHub
• BSD 2-Clause license
• upstream branch may have been merged into master
“But the drivers will only work on XenServer, and you can only build
them if you work for Citrix. That’s not very open!”
http://www.testwarrior.com/1Y0-A17-practice-exam.html
http://www.testwarrior.com/1Y0-A19-practice-exam.html
http://www.testwarrior.com/1Y0-A20-practice-exam.html
‘Upstream’ PV Drivers
• Basically the same as 6.1 (and 6.2) drivers
• Removed dependency on XenServer QEMU patches
• Emulated device unplug
• Platform device ID
• Added new binding for XenServer PV device
• Available in upstream QEMU 1.6 onwards
• Should work on any reasonable Xen and dom0
• Tested on Xen 3.4, 4.1 and 4.4
• netback fix may be needed if not using udev
• Code initially in ‘upstream’ branches on GitHub
• Will be merged into ‘master’ once basic testing completed
XENBUS binding
PCIVEN_5853&DEV_0001
PCIVEN_5853&DEV_0002
PCIVEN_5853&DEV_C000
You should have one of
these
You may have one of
these
• XENBUS binds to all three of these
• Use co-installer to select ‘active’ device
• Will only select if there’s no current selection
• Only active device has children
• Children’s name carries device ID
• Use only C000 for Windows Update
Interface Discovery
• IRP_MN_QUERY_INTERFACE message
• Identifies interface by GUID
• Gets back jump table and context
DRIVER3
DRIVER3
DRIVER3
• Message is forwarded to parent if interface
not implemented
• Client doesn’t care where the
interface is implemented
• Allows interfaces to be exported by
XENFILT
Interfaces
• See XXX_interface.h in include directory
• GUID and VERSION
• General sequence
• Query for interface
• Code in win-xenvif.git:/src/xenvif/fdo.c good example
• Get back completed INTERFACE structure
• FOO(Acquire, &Interface);
• Status = FOO(Bar, &Interface, …);
• FOO(Release, &Interface);
Interfaces
• XENFILT
• EMULATED
• UNPLUG
• XENBUS
• EVTCHN
• GNNTAB
• STORE
• DEBUG
• XENVIF
• VIF
Building a driver
• README.md should tell you want you need to know
• Pre-requistes
• Visual Studio 2012 (NOT Express)
• Windows 8 WDK
(See http://msdn.microsoft.com/en-us/windows/hardware/hh852365)
• Python 3.x
• Set environment
• VS
• KIT
• SYMBOL_SERVER
• build.py free|checked
Usually C:Program FilesMicrosoft Visual Studio 11.0 (!)
Usually C:Program FilesWindows Kits8.0
I use C:Symbols
Installing a driver
• INSTALL.md should tell you want you need to know
• Driver build results in directory and tarball
• Copy to target (and unpack if necessary)
• Navigate to x86 or x64
• Either run dpinst.exe or use Device Manager
• Builds are test signed
• Install .pfx file (see proj sub-directory) to avoid scary warning
• Make sure testsigning is enabled on 64-bit systems
bcdedit /set testsigning on
Contributing
• See MAINTAINERS files in existing repositories
• Discuss on xs-devel@lists.xenserver.org
• More drivers
• PV HID
• PV USB (?)
Q&A
www.testwarrior.com

More Related Content

What's hot

Xen Project CI for OpenStack Overview
Xen Project CI for OpenStack OverviewXen Project CI for OpenStack Overview
Xen Project CI for OpenStack Overview
The Linux Foundation
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
The Linux Foundation
 
XPDS16: Xen Development Update
XPDS16: Xen Development UpdateXPDS16: Xen Development Update
XPDS16: Xen Development Update
The Linux Foundation
 
VMware ESXi 6.0 Installation Process
VMware ESXi 6.0 Installation ProcessVMware ESXi 6.0 Installation Process
VMware ESXi 6.0 Installation Process
NetProtocol Xpert
 
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMHypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
vwchu
 
Citrix XenServer 5.5 Troubleshooting
Citrix XenServer 5.5 TroubleshootingCitrix XenServer 5.5 Troubleshooting
Citrix XenServer 5.5 Troubleshooting
Thomas Krampe
 
vCenter and ESXi network port communications
vCenter and ESXi network port communicationsvCenter and ESXi network port communications
vCenter and ESXi network port communicationsAnimesh Dixit
 
Xen architecture q1 2008
Xen architecture q1 2008Xen architecture q1 2008
Xen architecture q1 2008
colegio letonia
 
Backup virtual machines with XenServer 5.x
Backup virtual machines with XenServer 5.xBackup virtual machines with XenServer 5.x
Backup virtual machines with XenServer 5.x
Thomas Krampe
 
Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migration
Yan Vugenfirer
 
Fun with nested ESXi
Fun with nested ESXiFun with nested ESXi
Fun with nested ESXi
Kenzo Nagahisa
 
Xen, XenServer, and XAPI: What’s the Difference?-XPUS13 Bulpin,Pavlicek
Xen, XenServer, and XAPI: What’s the Difference?-XPUS13 Bulpin,PavlicekXen, XenServer, and XAPI: What’s the Difference?-XPUS13 Bulpin,Pavlicek
Xen, XenServer, and XAPI: What’s the Difference?-XPUS13 Bulpin,Pavlicek
The Linux Foundation
 
VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4
Vepsun Technologies
 
12 christian ferber xen_server_advanced
12 christian ferber xen_server_advanced12 christian ferber xen_server_advanced
12 christian ferber xen_server_advancedDigicomp Academy AG
 
Erlang on Xen: Redefining the cloud software stack
Erlang on Xen:  Redefining the cloud software stackErlang on Xen:  Redefining the cloud software stack
Erlang on Xen: Redefining the cloud software stack
Viktor Sovietov
 
Uponor Exadata e-Business Suite Migration Case Study
Uponor Exadata e-Business Suite Migration Case StudyUponor Exadata e-Business Suite Migration Case Study
Uponor Exadata e-Business Suite Migration Case Study
Simo Vilmunen
 
Oracle VM 3.4.1 Installation
Oracle VM 3.4.1 InstallationOracle VM 3.4.1 Installation
Oracle VM 3.4.1 Installation
Simo Vilmunen
 

What's hot (20)

Xen Project CI for OpenStack Overview
Xen Project CI for OpenStack OverviewXen Project CI for OpenStack Overview
Xen Project CI for OpenStack Overview
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
 
XPDS16: Xen Development Update
XPDS16: Xen Development UpdateXPDS16: Xen Development Update
XPDS16: Xen Development Update
 
VMware ESXi 6.0 Installation Process
VMware ESXi 6.0 Installation ProcessVMware ESXi 6.0 Installation Process
VMware ESXi 6.0 Installation Process
 
Why xen slides
Why xen slidesWhy xen slides
Why xen slides
 
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMHypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
 
Citrix XenServer 5.5 Troubleshooting
Citrix XenServer 5.5 TroubleshootingCitrix XenServer 5.5 Troubleshooting
Citrix XenServer 5.5 Troubleshooting
 
vCenter and ESXi network port communications
vCenter and ESXi network port communicationsvCenter and ESXi network port communications
vCenter and ESXi network port communications
 
Xen architecture q1 2008
Xen architecture q1 2008Xen architecture q1 2008
Xen architecture q1 2008
 
Xen & virtualization
Xen & virtualizationXen & virtualization
Xen & virtualization
 
Backup virtual machines with XenServer 5.x
Backup virtual machines with XenServer 5.xBackup virtual machines with XenServer 5.x
Backup virtual machines with XenServer 5.x
 
Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migration
 
Fun with nested ESXi
Fun with nested ESXiFun with nested ESXi
Fun with nested ESXi
 
Xen, XenServer, and XAPI: What’s the Difference?-XPUS13 Bulpin,Pavlicek
Xen, XenServer, and XAPI: What’s the Difference?-XPUS13 Bulpin,PavlicekXen, XenServer, and XAPI: What’s the Difference?-XPUS13 Bulpin,Pavlicek
Xen, XenServer, and XAPI: What’s the Difference?-XPUS13 Bulpin,Pavlicek
 
VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4
 
Top ESXi command line v2.0
Top ESXi command line v2.0Top ESXi command line v2.0
Top ESXi command line v2.0
 
12 christian ferber xen_server_advanced
12 christian ferber xen_server_advanced12 christian ferber xen_server_advanced
12 christian ferber xen_server_advanced
 
Erlang on Xen: Redefining the cloud software stack
Erlang on Xen:  Redefining the cloud software stackErlang on Xen:  Redefining the cloud software stack
Erlang on Xen: Redefining the cloud software stack
 
Uponor Exadata e-Business Suite Migration Case Study
Uponor Exadata e-Business Suite Migration Case StudyUponor Exadata e-Business Suite Migration Case Study
Uponor Exadata e-Business Suite Migration Case Study
 
Oracle VM 3.4.1 Installation
Oracle VM 3.4.1 InstallationOracle VM 3.4.1 Installation
Oracle VM 3.4.1 Installation
 

Viewers also liked

Art shoppe lofts condos the ultimate guide
Art shoppe lofts   condos   the ultimate guideArt shoppe lofts   condos   the ultimate guide
Art shoppe lofts condos the ultimate guidetheredpinpr
 
IV Evento GeneXus Italia - Generatore GeneXus Microsoft Phone
IV Evento GeneXus Italia -  Generatore GeneXus Microsoft PhoneIV Evento GeneXus Italia -  Generatore GeneXus Microsoft Phone
IV Evento GeneXus Italia - Generatore GeneXus Microsoft Phone
Rad Solutions
 
[Infographic] one big change the redpin is eliminating the seller’s commission
[Infographic] one big change the redpin is eliminating the seller’s commission[Infographic] one big change the redpin is eliminating the seller’s commission
[Infographic] one big change the redpin is eliminating the seller’s commission
theredpinpr
 
Quand l'expérience client améliore le référencement
Quand l'expérience client améliore le référencement Quand l'expérience client améliore le référencement
Quand l'expérience client améliore le référencement
Brioude Internet
 
"Дом пряничный"
"Дом пряничный""Дом пряничный"
[Infographic] the secret strengths of first time homebuyers
[Infographic] the secret strengths of first time homebuyers[Infographic] the secret strengths of first time homebuyers
[Infographic] the secret strengths of first time homebuyers
theredpinpr
 
IV Evento GeneXus Italia - GenexusX Evolution3 overview
IV Evento GeneXus Italia - GenexusX Evolution3 overviewIV Evento GeneXus Italia - GenexusX Evolution3 overview
IV Evento GeneXus Italia - GenexusX Evolution3 overview
Rad Solutions
 
Presentazione GeneXus - III Evento GeneXus Italia e Svizzera
Presentazione GeneXus - III Evento GeneXus Italia e SvizzeraPresentazione GeneXus - III Evento GeneXus Italia e Svizzera
Presentazione GeneXus - III Evento GeneXus Italia e Svizzera
Rad Solutions
 
Пряники пряники! что за чудо-пряники!.Pptxхх
Пряники пряники! что за чудо-пряники!.PptxххПряники пряники! что за чудо-пряники!.Pptxхх
Пряники пряники! что за чудо-пряники!.Pptxхх
гимназия им. Н.М.Пржевальского г. Смоленск
 
Filosofia en f
Filosofia en fFilosofia en f
Filosofia en f
rosmery espinal
 
Accountable Care Organization – Improving Care & Reducing Cost
Accountable Care Organization – Improving Care & Reducing CostAccountable Care Organization – Improving Care & Reducing Cost
Accountable Care Organization – Improving Care & Reducing CostHEALTHEC LLC
 
IV Evento GeneXus Italia - Il Cloud IBM: motore di crescita per il business
IV Evento GeneXus Italia - Il Cloud IBM: motore di crescita per il businessIV Evento GeneXus Italia - Il Cloud IBM: motore di crescita per il business
IV Evento GeneXus Italia - Il Cloud IBM: motore di crescita per il business
Rad Solutions
 
IV Evento GeneXus Italia -GeneXus Cloud
IV Evento GeneXus Italia -GeneXus CloudIV Evento GeneXus Italia -GeneXus Cloud
IV Evento GeneXus Italia -GeneXus Cloud
Rad Solutions
 
เทคนิคพิชิตการบ้าน
เทคนิคพิชิตการบ้านเทคนิคพิชิตการบ้าน
เทคนิคพิชิตการบ้านis_saraporn
 
Genexus Suite - III Evento GeneXus Italia e Svizzera
Genexus Suite - III Evento GeneXus Italia e SvizzeraGenexus Suite - III Evento GeneXus Italia e Svizzera
Genexus Suite - III Evento GeneXus Italia e Svizzera
Rad Solutions
 

Viewers also liked (20)

Art shoppe lofts condos the ultimate guide
Art shoppe lofts   condos   the ultimate guideArt shoppe lofts   condos   the ultimate guide
Art shoppe lofts condos the ultimate guide
 
IV Evento GeneXus Italia - Generatore GeneXus Microsoft Phone
IV Evento GeneXus Italia -  Generatore GeneXus Microsoft PhoneIV Evento GeneXus Italia -  Generatore GeneXus Microsoft Phone
IV Evento GeneXus Italia - Generatore GeneXus Microsoft Phone
 
[Infographic] one big change the redpin is eliminating the seller’s commission
[Infographic] one big change the redpin is eliminating the seller’s commission[Infographic] one big change the redpin is eliminating the seller’s commission
[Infographic] one big change the redpin is eliminating the seller’s commission
 
Brand u julia iv
Brand u julia ivBrand u julia iv
Brand u julia iv
 
Quand l'expérience client améliore le référencement
Quand l'expérience client améliore le référencement Quand l'expérience client améliore le référencement
Quand l'expérience client améliore le référencement
 
EV - May 2015
EV - May 2015EV - May 2015
EV - May 2015
 
"Дом пряничный"
"Дом пряничный""Дом пряничный"
"Дом пряничный"
 
[Infographic] the secret strengths of first time homebuyers
[Infographic] the secret strengths of first time homebuyers[Infographic] the secret strengths of first time homebuyers
[Infographic] the secret strengths of first time homebuyers
 
IV Evento GeneXus Italia - GenexusX Evolution3 overview
IV Evento GeneXus Italia - GenexusX Evolution3 overviewIV Evento GeneXus Italia - GenexusX Evolution3 overview
IV Evento GeneXus Italia - GenexusX Evolution3 overview
 
Presentazione GeneXus - III Evento GeneXus Italia e Svizzera
Presentazione GeneXus - III Evento GeneXus Italia e SvizzeraPresentazione GeneXus - III Evento GeneXus Italia e Svizzera
Presentazione GeneXus - III Evento GeneXus Italia e Svizzera
 
Wisła
WisłaWisła
Wisła
 
Пряники пряники! что за чудо-пряники!.Pptxхх
Пряники пряники! что за чудо-пряники!.PptxххПряники пряники! что за чудо-пряники!.Pptxхх
Пряники пряники! что за чудо-пряники!.Pptxхх
 
Filosofia en f
Filosofia en fFilosofia en f
Filosofia en f
 
final updated resume
final updated resumefinal updated resume
final updated resume
 
Accountable Care Organization – Improving Care & Reducing Cost
Accountable Care Organization – Improving Care & Reducing CostAccountable Care Organization – Improving Care & Reducing Cost
Accountable Care Organization – Improving Care & Reducing Cost
 
IV Evento GeneXus Italia - Il Cloud IBM: motore di crescita per il business
IV Evento GeneXus Italia - Il Cloud IBM: motore di crescita per il businessIV Evento GeneXus Italia - Il Cloud IBM: motore di crescita per il business
IV Evento GeneXus Italia - Il Cloud IBM: motore di crescita per il business
 
Blog
BlogBlog
Blog
 
IV Evento GeneXus Italia -GeneXus Cloud
IV Evento GeneXus Italia -GeneXus CloudIV Evento GeneXus Italia -GeneXus Cloud
IV Evento GeneXus Italia -GeneXus Cloud
 
เทคนิคพิชิตการบ้าน
เทคนิคพิชิตการบ้านเทคนิคพิชิตการบ้าน
เทคนิคพิชิตการบ้าน
 
Genexus Suite - III Evento GeneXus Italia e Svizzera
Genexus Suite - III Evento GeneXus Italia e SvizzeraGenexus Suite - III Evento GeneXus Italia e Svizzera
Genexus Suite - III Evento GeneXus Italia e Svizzera
 

Similar to Citrix certified administrator certification

Stateless Hypervisors at Scale
Stateless Hypervisors at ScaleStateless Hypervisors at Scale
Stateless Hypervisors at Scale
Antony Messerl
 
Automating Yourself Out of Trouble
Automating Yourself Out of TroubleAutomating Yourself Out of Trouble
Automating Yourself Out of Trouble
Jose De La Rosa
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAkshaya Mahapatra
 
E2E PVS Technical Overview Stephane Thirion
E2E PVS Technical Overview Stephane ThirionE2E PVS Technical Overview Stephane Thirion
E2E PVS Technical Overview Stephane Thirionsthirion
 
RHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdfRHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdf
Paul Yang
 
Benchmark emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
Benchmark   emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mwareBenchmark   emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
Benchmark emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
solarisyougood
 
Release notes 3_d_v61
Release notes 3_d_v61Release notes 3_d_v61
Release notes 3_d_v61
sundar sivam
 
VMware vSphere 5.1 - Upgrade Tips & Top New Features
VMware vSphere 5.1 - Upgrade Tips & Top New FeaturesVMware vSphere 5.1 - Upgrade Tips & Top New Features
VMware vSphere 5.1 - Upgrade Tips & Top New Features
stcroixsolutions
 
Principles of Virtualization - Introduction to Virtualization Software
Principles of Virtualization - Introduction to Virtualization Software Principles of Virtualization - Introduction to Virtualization Software
Principles of Virtualization - Introduction to Virtualization Software
Rubal Sagwal
 
No BS, Vendor Neutral Comparison of Application Layering Solutions
No BS, Vendor Neutral Comparison of Application Layering SolutionsNo BS, Vendor Neutral Comparison of Application Layering Solutions
No BS, Vendor Neutral Comparison of Application Layering Solutions
Unidesk Corporation
 
Planning and Completing an IBM Connections Upgrade
Planning and Completing an IBM Connections UpgradePlanning and Completing an IBM Connections Upgrade
Planning and Completing an IBM Connections Upgrade
Gabriella Davis
 
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
John Heaton
 
Practical Implementation of Virtual Machine
Practical Implementation of Virtual MachinePractical Implementation of Virtual Machine
Practical Implementation of Virtual Machine
Rubal Sagwal
 
SF Bay Area OpenStack Meetup Stacki Presentation
SF Bay Area OpenStack Meetup Stacki Presentation SF Bay Area OpenStack Meetup Stacki Presentation
SF Bay Area OpenStack Meetup Stacki Presentation
StackIQ
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
Chris Tankersley
 
The Unofficial VCAP / VCP VMware Study Guide
The Unofficial VCAP / VCP VMware Study GuideThe Unofficial VCAP / VCP VMware Study Guide
The Unofficial VCAP / VCP VMware Study Guide
Veeam Software
 
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
The Linux Foundation
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
nklmish
 

Similar to Citrix certified administrator certification (20)

Stateless Hypervisors at Scale
Stateless Hypervisors at ScaleStateless Hypervisors at Scale
Stateless Hypervisors at Scale
 
Automating Yourself Out of Trouble
Automating Yourself Out of TroubleAutomating Yourself Out of Trouble
Automating Yourself Out of Trouble
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
 
E2E PVS Technical Overview Stephane Thirion
E2E PVS Technical Overview Stephane ThirionE2E PVS Technical Overview Stephane Thirion
E2E PVS Technical Overview Stephane Thirion
 
RHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdfRHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdf
 
Benchmark emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
Benchmark   emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mwareBenchmark   emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
Benchmark emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
 
Release notes 3_d_v61
Release notes 3_d_v61Release notes 3_d_v61
Release notes 3_d_v61
 
VMware vSphere 5.1 - Upgrade Tips & Top New Features
VMware vSphere 5.1 - Upgrade Tips & Top New FeaturesVMware vSphere 5.1 - Upgrade Tips & Top New Features
VMware vSphere 5.1 - Upgrade Tips & Top New Features
 
Principles of Virtualization - Introduction to Virtualization Software
Principles of Virtualization - Introduction to Virtualization Software Principles of Virtualization - Introduction to Virtualization Software
Principles of Virtualization - Introduction to Virtualization Software
 
No BS, Vendor Neutral Comparison of Application Layering Solutions
No BS, Vendor Neutral Comparison of Application Layering SolutionsNo BS, Vendor Neutral Comparison of Application Layering Solutions
No BS, Vendor Neutral Comparison of Application Layering Solutions
 
Planning and Completing an IBM Connections Upgrade
Planning and Completing an IBM Connections UpgradePlanning and Completing an IBM Connections Upgrade
Planning and Completing an IBM Connections Upgrade
 
Rac on NFS
Rac on NFSRac on NFS
Rac on NFS
 
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
 
Practical Implementation of Virtual Machine
Practical Implementation of Virtual MachinePractical Implementation of Virtual Machine
Practical Implementation of Virtual Machine
 
SF Bay Area OpenStack Meetup Stacki Presentation
SF Bay Area OpenStack Meetup Stacki Presentation SF Bay Area OpenStack Meetup Stacki Presentation
SF Bay Area OpenStack Meetup Stacki Presentation
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
The Unofficial VCAP / VCP VMware Study Guide
The Unofficial VCAP / VCP VMware Study GuideThe Unofficial VCAP / VCP VMware Study Guide
The Unofficial VCAP / VCP VMware Study Guide
 
Vmware inter
Vmware interVmware inter
Vmware inter
 
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 

Recently uploaded

Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
Marketing internship report file for MBA
Marketing internship report file for MBAMarketing internship report file for MBA
Marketing internship report file for MBA
gb193092
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
Krisztián Száraz
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 

Recently uploaded (20)

Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
Marketing internship report file for MBA
Marketing internship report file for MBAMarketing internship report file for MBA
Marketing internship report file for MBA
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 

Citrix certified administrator certification

  • 1. Paul Durrant Principal Software Engineer, Citrix Citrix Certified Administrator Certification
  • 2. Agenda • Background • The XenServer 6.0.2 (a.k.a. legacy) drivers • The XenServer 6.1 (a.k.a. standard) drivers • Open Source • ‘Upstream’ Drivers • XenServer PV Device • Interfaces • Building and Installing “A history of the Windows PV drivers and a brief tour of the ‘upstream’ drivers and their interfaces”
  • 3. Why use PV Drivers? • Emulated storage and network are slow • IDE • Realtek 8139 • Dom0 takes a lot of load • Can easily take 50% CPU per VM • Migration can be problematic • Testing shown up many crashes and hangs
  • 4. Windows Drivers PDO FDO FDO PACKAGE (INF FILE) PACKAGE local/domain/device/vif This is a Function Device Object, created when a driver binds to a Physical Device Object. The INF file states the ‘names’ it will bind to. This is a Physical Device Object, created by a bus driver. The ‘name’ of this device is used by Windows to select a driver. This is a xenstore key that is used by a PV bus driver to create a PDO. This is an FDO created by a child PV driver that binds to the PDO representing the xenstore key. FiltDO This is a Filter Device Object. They can be used to interpose on Plug’n’Play, Power or IO messages flowing between PDOs and FDOs.
  • 5. XenServer 6.0.2 PV Drivers ROOTXENEVTCHN PCIVEN_5853&DEV_0001 XENVBDXENEVTCHN DISK XENVIF XENNET XENUTIL XENVBDXEVTCHN XENVIF XENNET local/domain/device/vif local/domain/device/vif/0 XENNET XENNET local/domain/device/vif/1 local/domain/device/vbd/768 DISK local/domain/device/vbd/832 SCSIFILT SCSIFILT …… Created by installer Emulated by QEMU Standard in-box driver Linkage dependency • XENIFACE omitted for simplicity
  • 6. XenServer 6.0.2 PV Drivers • Need SCSIFILT because we use old SCSIPORT storage driver model, which is really slow • Creates all sorts of problems with compatibility • Use of ROOT node requires installer • Cross-package linkage dependency means drivers have to be installed and upgraded as a unit • Prevents deployment via Windows Update “But Windows Update would be very useful for large installations or upgrades so that’s a pain. What can we do?”
  • 8. Enter Windows 8 • With the new WDK Microsoft decided: • You can only use Visual Studio 2012 to build… …so throw away your existing build scripts • They only support building for OS back to Vista… …so you’re going to have to have two binaries if you want to support XP and Server 2003 like it or not “So, we’re going to have to do something.”
  • 9. XenServer 6.1 PV Drivers • Goals: • No installer necessary for drivers • Can be installed via device manager • No cross-package linkage dependency • Versioned interfaces discovered at run-time • Suitable for Windows Update • Cannot bind to existing platform PCI device • Implementation choice: • Use faster STORPORT storage driver model • Possible now we’re only targeting Vista onwards • Removes need for SCSIFILT
  • 10. XenServer 6.1 PV Drivers PCIVEN_5853&DEV_0002 XENVBD DISK XENVIF XENNET XENVBDXENVIF XENNET local/domain/device/vif local/domain/device/vif/0 XENNET XENNET local/domain/device/vif/1 local/domain/device/vbd/768 DISK local/domain/device/vbd/832 … … local/domain/device/vbd XENBUS XENBUS XENFILT XEN Interface discovery • XENIFACE omitted again for simplicity NOTE: New Device ID Handles unplug
  • 11. Open Source • XenServer made completely open source • Windows driver code hosted on GitHub • BSD 2-Clause license • upstream branch may have been merged into master “But the drivers will only work on XenServer, and you can only build them if you work for Citrix. That’s not very open!” http://www.testwarrior.com/1Y0-A17-practice-exam.html http://www.testwarrior.com/1Y0-A19-practice-exam.html http://www.testwarrior.com/1Y0-A20-practice-exam.html
  • 12. ‘Upstream’ PV Drivers • Basically the same as 6.1 (and 6.2) drivers • Removed dependency on XenServer QEMU patches • Emulated device unplug • Platform device ID • Added new binding for XenServer PV device • Available in upstream QEMU 1.6 onwards • Should work on any reasonable Xen and dom0 • Tested on Xen 3.4, 4.1 and 4.4 • netback fix may be needed if not using udev • Code initially in ‘upstream’ branches on GitHub • Will be merged into ‘master’ once basic testing completed
  • 13. XENBUS binding PCIVEN_5853&DEV_0001 PCIVEN_5853&DEV_0002 PCIVEN_5853&DEV_C000 You should have one of these You may have one of these • XENBUS binds to all three of these • Use co-installer to select ‘active’ device • Will only select if there’s no current selection • Only active device has children • Children’s name carries device ID • Use only C000 for Windows Update
  • 14. Interface Discovery • IRP_MN_QUERY_INTERFACE message • Identifies interface by GUID • Gets back jump table and context DRIVER3 DRIVER3 DRIVER3 • Message is forwarded to parent if interface not implemented • Client doesn’t care where the interface is implemented • Allows interfaces to be exported by XENFILT
  • 15. Interfaces • See XXX_interface.h in include directory • GUID and VERSION • General sequence • Query for interface • Code in win-xenvif.git:/src/xenvif/fdo.c good example • Get back completed INTERFACE structure • FOO(Acquire, &Interface); • Status = FOO(Bar, &Interface, …); • FOO(Release, &Interface);
  • 16. Interfaces • XENFILT • EMULATED • UNPLUG • XENBUS • EVTCHN • GNNTAB • STORE • DEBUG • XENVIF • VIF
  • 17. Building a driver • README.md should tell you want you need to know • Pre-requistes • Visual Studio 2012 (NOT Express) • Windows 8 WDK (See http://msdn.microsoft.com/en-us/windows/hardware/hh852365) • Python 3.x • Set environment • VS • KIT • SYMBOL_SERVER • build.py free|checked Usually C:Program FilesMicrosoft Visual Studio 11.0 (!) Usually C:Program FilesWindows Kits8.0 I use C:Symbols
  • 18. Installing a driver • INSTALL.md should tell you want you need to know • Driver build results in directory and tarball • Copy to target (and unpack if necessary) • Navigate to x86 or x64 • Either run dpinst.exe or use Device Manager • Builds are test signed • Install .pfx file (see proj sub-directory) to avoid scary warning • Make sure testsigning is enabled on 64-bit systems bcdedit /set testsigning on
  • 19. Contributing • See MAINTAINERS files in existing repositories • Discuss on xs-devel@lists.xenserver.org • More drivers • PV HID • PV USB (?)