 All right, well, we're back. It's good to have you all. And you may look at this topic and say, well, I'm no beginner. I can take a snooze. But the thing about Brian is Brian can make sure that we know things that we didn't know we know and make a smile about it. So this should be a very interesting talk. And Brian, take us away. All right, guys. This talk is Zen for Beginners. First, I want to know how many of you guys are already using Zen? Who hasn't used Zen? Oh, see, we do have some beginners in there. OK, so are you guys using any virtualization? We've started using Zen in a lab situation. But we have a project coming up. We're from Oklahoma State University. We support counties. And so our infrastructure is going to change from discrete servers that are running Linux to probably Zen servers running Microsoft, unfortunately. Well, you can do it. You can. We can do it. And I can show you a little bit on how to get that going here. So let me get my clicker going here. OK, so instead of calling it Zen for Dummies, Zen for Beginners, I'm going to call it Zen for Puppies. Kind of make it a little fun. Because we all need to take a step back sometime because there's been a lot of advancements in this whole Zen architecture in regards to things we're going to talk about here shortly. So what is Zen? That's the first question. And so when you think about a hypervisor or a virtual machine manager, what Zen does is sits on top of the hardware and it manages all of the guest OSs, which are generally called domains. And there are two different types of virtualization as Zen supports. It supports para-virtualization and fully virtualized guests. Let me get this going here. And so generally in Zen architecture, the host is referred to as dome0, as you heard him speak about dome0. And domeU is the unprivileged domain. So the easy way to figure this out, if you can't get that going in your head, dome0, domeU. Really simple. That's the simplest way to remember it. Just remember that dome0 is the host and domeU are the unprivileged guests that are managed by dome0. So as I was talking about the two types of virtualization, I actually like Zen because of para-virtualization. And the reason why is because you have a lot of people who may have not just because it makes, like some of you guys know about the hybrid para-virtualization HVM scenario, but some people have commodity hardware that doesn't support virtualization in the chip, on the processor. And so with para-virtualization in Zen, you can get awesome performance on old systems. But the only difference with para-virtualization is you can't run Windows. You just can't run Windows. The guest OS needs to know. It is fully aware at the driver level, the kernel level, that it is being virtualized. So it needs to be modified. And you can't modify Windows, as we know. It's just no way to do that. But the Linux kernel can be modified, and the drivers can be modified. Thus you can run para-virtualized guests with great speed in Zen. This is what I was saying right there. No hardware support needed. So any system that you can really think of, he's starting up a VM on that thing, I'm telling you. If he could run Linux on that system, he could run Zen and spawn a few VMs. That is the true beauty KVM. Oh yeah, it's good, it's great. But KVM, if you don't have beefy current hardware, a lot of people still have commodity hardware. A lot of people in data centers, especially. And especially in startup data centers. And para-virtualization is a great way to spend your own cloud. Now, when you go to fully virtualized guests, that's when you get somewhat newer hardware. Even this laptop right here that I have, it supports. It's got the Intel virtualization extensions. And naturally the core and hyperthreading gets supported. So I can run Windows, which I'll show you. I can virtualize Windows. And my guest OSs will be utilizing the acceleration from the hardware virtualization. But it's a funny trick with the hardware virtualization. Being that it sits, I'll show the architecture in a second. But the way that Zen does it is that it uses a thing called Keymoo. And it emulates the hardware. So being that it's running an emulator, it's actually slower, believe it or not. But if you run para-virtualized on top of what they call HVM para-virtualized, then you'll be able to get a speed increase and be cooking with grease like you want to. So here is that good old architecture thing if you guys can really get into that. Sometimes I generally like to show block designs. But it's a good one. And it is kind of perplexing. Anybody kind of perplexed? No, it's better if you sit down and read it. Because then you get a better understanding of it. So you got your physical hardware right there. And this is the only thing that I would call a legend. You got your physical hardware. Your hypervisor's right above it. And so that's the PV driver right there that is right here in the green. And you see for storage and everything. And this whole bus right here, the part of the architecture sitting right on top of the dome-o. And then that should be the para-virtualized. And no, so that was a pair of, this is full. And so that's where you've got the key move that I was telling that actually this emulates hardware because the guest doesn't know, it's just, it's unmodified. So you've got to actually run a emulator to kind of be the sort of one to use. It kind of intercedes between Zen and the guest of West. But once again, very simple. Forget the block diagram. Just remember, dome-zero, dome-u. Anytime anybody says anything to you about dome-zero and dome-u, you're going to hear that a lot. You're going to hear that quite a bit. So now the fastest ways for you guys to deploy Zen. Now I come from, I've been using Zen for a while. And so, and I actually still like to use Zendee and I like to use X, I like to do about a command line, I write scripts. And it'll throw it out there. But I have to respect a lot of the advancements in the GUI that have been made, especially with Zappy and XCP, which XCP is kind of on its way out. But ZenCloud Platform is basically a, it's Zen in a box. So with a ZenCloud Platform, you can go online and you can download an ISO that you can just install on a system. It'll wipe the complete system, but it will give you the ZenCloud Platform, which includes Zappy. And let me give you a good screenshot here. And so it'll allow you to use a panel to log into this. And it will manage all of the virtual machines. And what's really cool about this is that you can see this resource pool thing on right here. Well, the resource pool, if you have, let's say, four servers, and then you put XCP on all four of the servers, you can put all four of those servers in a pool. And that pool will be managed as one unit. And so you can launch a VM on, let's say you've got a, one of the systems has four gigs of RAM and it goes down. Well, you can migrate that seamlessly to another system because it's in that pool. And so all of the pool, they share storage. They share networking. I'll talk a little bit about that. I'm kind of getting ahead of myself here, but so XCP is great as a distro. And I mean, this is the fastest way to get Zen going. Period. If you don't know anything about Zen, you download XCP. And it's simple. You just, you know, it asks you like, oh, what time zone are you in? And you know, and just really simple questions. And boom, you have this up and running. And then you'll, hmm, that's kind of out of order. But, OK, bop, bop, bop, bop, bop. We're going to talk about that. Zappy is another very, very, very easy way to get Zen up and going. So as I said, I was just so used to doing it on the command line, well, Zappy gives you the greatness that was, that is XCP, but in its own packaging that allow you to install it on Debian Ubuntu. There's a project called the Chronos Project. And so the Chronos Project was an initiative to basically create the packages and make them available in the repositories of Ubuntu and Debian. So if anybody got an Ubuntu box, you can do Appcast Search, XCP, DAF, Zappy, and it's in there. And so with Zappy, you have the toolkit to basically make your own XCP distro, so to speak. And so it's an XML RPC API. So you've got a lot of ways that you can jump into it if you guys are into this type of stuff. And I'll order these in order of important. C, Java, Python, .NET, PowerShell, you know. But so as I said, this is what you do right here to get Hey, how you doing there, buddy? To get Zappy up and going, just app get install it, and it's in there. Now, there's a little bit of configuration. But if you guys are looking at going to Debian Ubuntu route, which is there's a lot of really strong Zen support in there, then you need to check out Project Chronos. And I'll actually show you a few other commands that you got to run to get it up and going. But it's really minimal. So very simple. That's Zappy. That's Zen. Really simple. It's really simple. So when you think about the way that Zappy interacts with Zen, I mean, it's beautiful. It's really beautiful. And any of you guys using like Zen server? Anybody use Zen server? So you know, so are you using it on the window side? Oh, so what are you doing, like the free trial with it or something? Or are you paying for it? No, no, no, I mean, actually, you know, Zen server is actually, I mean, Zen server, the panel. I'll show you, right? I'll show you in one second. I'm sorry, I said Zen server. Yeah, Zen Center, yes, I'm sorry. I'm sorry about that. OK, so what happened there? Did I get lost? OK, so the GUI management tools. And so Open Zen Manager is like almost dead on wringer to Zen Center. It is the open source, fully open source equivalent to Zen Center. I wouldn't say it's the equivalent, I mean, because you know, Citrix does some good stuff with that Zen Center thing. But Open Zen Manager is very nice. And I'm going to show you that Zen Web Manager, you know, any of you guys ever seen this? I'm going to show you Zen Web Manager too. Zen Orchestrator. Nice Web GUI. I'm going to show you that too. So now this guy right here, it's really nice as far as VNC goes. Whenever you bring up your VMs in Zappi, you have VNC access as well as console access from Open Zen Manager. But if you're remote, you know, you just want to VNC in. And this guy, XVP, I always say it wrong. It manages a lot of those VNC connections for you. But I focus more on these top three because, well, the first one is very mature. Open Zen Manager is very, very mature. And lastly, Zen Percent. I don't know any of you guys running Sentos. And so you guys have kind of left out in the cold for a while, right? You know, they made a bad move. And you know, they kind of, we all know the story, and if you don't know the story, so that's shame on Sentos. So because of the upstream provider, which isn't supposed to be named Red Hat, they kind of, they wanted to support KVM and their own virtualization framework, so to speak. And so, you know, they kind of shun Zen, but it's coming back strong. And I think it's coming back officially in 7, isn't it? Zen, is it coming back officially? Is it in Sentos? Well, it doesn't matter because you got Zen Percent right now. And any word on when Zappy will be so soon. And so Zen Percent, this is in the Sentos repository. It's in there. And so if you guys have run a Sentos, one command that you run to make sure that you get this coming in, and then you can install Zen right in Sentos. And so that was the Zen Percent project, which Lars is all over the place. And so Lars was talking a good bit about that. And these are the three commands that you need to do to get Zen running natively without having to build Zen. So I was actually, I had some PBX systems that were running on Sentos, and I went to upgrade it. And when they dropped support, I was like, so now I got to build Zen from source? You know, I mean, it's ridiculous. So we were really, really looking for Zen Percent. So you guys in the back, the top command will actually bring it. It's in the Sentos repo. It's there. And then you just yum install Zen. And so this is, I mean, you don't need to write the link down because the slides will be available. But that is the link, just in case you kind of want to. Some of you guys are good note takers. So right there, that is Zen Center, right there. That's what Zen Center looks like. That is what Open Zen Manager looks like. And so if you take a look, I mean, yeah, there's some pretty nice icons going there, but it's not much difference when you look at the functionality, especially up here, ad server, new pool, new storage, new VM, blah, blah, blah. New VM, new storage, you know, all of the good stuff. And I'll show you a little more here in a second. This is in orchestra. And it was completely redone. This is actually an old project. And it's pretty nice, actually. It may be a few problems, but it's a web GUI that it runs no JS. And so literally, you can have this up and running two minutes and manage Zappi, manage XEP. However you want to do it, resource pools. So the resource pool is what I was telling you guys about in regards to you being able to put all of those virtual machines, I'm sorry, the server. You put the server in a pool with another server. And then you can manage. You can do what they call ZenMotion is where you can migrate a virtual machine from one system to another using shared storage, which is something simple like NFS. Or if you've got some Oscuzzi going. Something really simple, but NFS is the easiest way to do it. And so there's no downtime. If you're in a data center and you got servers and two racks and you say, hey, we want to move the racks due east or whatever, you can just migrate it right over. And I think there's some milliseconds downtime where it has to sync one last time, but it's virtually no downtime whatsoever. And so whenever you add a Zen server host to the pool, it inherits a lot of the information in regards to network information, storage information, information about the storage resource as well. And so just in case one of the systems go down, let's say you have four systems in a pool. You've got one is acting as a master and the other is they act as slaves. And so if the master goes down, any one of those slaves can be promoted to master. So the minute you add it in a pool, they all become aware of each other and they all become aware of assets and metadata and everything so that you can pretty much just have no downtime. Now, it doesn't happen automatically for you with, let's say, Open Zen Manager, Zappy, but if you Zen Center, it doesn't automatically, right? Like, you've got to, I think you pay a little fee, but it'll, you know, something goes down, it comes right back up. So it automatically pays. Well, so, but I think I was reading something that said that the, there was some license or something that it won't, that it won't, it won't automatically bring it up for you without, so, so, so if the master goes down, it won't automatically promote itself. Yes. Man, that's good stuff. See right there. Correct me. Correct me with some good news. So there's information about the resource pools. We already kind of talked about that. But it's, it's, that is very powerful. So two servers in the pool and those servers are talking back and forth to each other. So you have your high availability situation fail over, boom, you know, like, you're mission critical at that point, just from a web manager. That's very serious. That is very serious. You install Zappy and then you run a web GUI and you've got, you know, mission critical cloud environment. So nothing to sneeze at right there. So storage repositories. When you guys get into, like, open ZendManager, the way that, the way that it manages storage or the way that it classifies storage, it classifies it as a repository. So if you have, you can have a local repository, you can have an interface repository. And so that repository is just a, is just a, like, block device that will store VM images. And so when you instantiate a storage repository, it's almost as if you're creating a file system and making that available to either the host or to Zappy in order to make more virtual disk. So for instance, if you're doing LVM, which if you're running Zend, you really should be running LVM. You guys, you, LVM. So with LVM, you can have a volume and you can say, okay, I'm going to make this volume, a storage repository available to, you know, this Zend server. And so then you are able to create disk on that storage repository. And also if you have a interface share that's full of ISOs, you make that available and you can install from any one of those ISOs throughout your whole network. So, you know, and so that is the big power of using storage repositories in that manner, especially in a network file system, because, you know, on one system, it's available to all. If you put it, so once you push it up on one system, it's available to all. Let's see here. So there are the different types of storage repositories that you can go with. Now, NFS and OSCSI are shared. Fiber channel is not shared and local disks aren't shared because local disks, it's fast, NFS is fast too, but when you use a local disk, it's local to the machine versus you can have your NFS server anywhere. I mean, you know, who, NFS is super simple to install. You install NFS and that gives you the capability to move things around. Like it gives you the most flexibility and the most expandability. So now this is the quick and dirty installation in regards to installing Xen and Zappy and the few things. So right here, this is just NFS naturally install Xen. You install open Xen manager, XCP Zappy, that's the, and that's in the repo. Like anybody running a new boot to a debut and you can say run app cache, search XCP dash Zappy or just Zappy, it'll come right up. Install NFS server and you install the bridge utils or there's also open V switch, which if you're just starting, you might just want to use the bridge utils because it's easy to get it up and it's easy to get up your workbench environment, but open V switch is really a much more sophisticated solution for networking. Okay, so yeah, like right here, this is just a, you put this in the Etsy exports, you can export, mount. You can mount, I don't know, whatever storage you can have a say to this right there and that's, well, that's just basic parts that you need to have NFS storage exported. Well, after that too, you run export FS dash A, but this is real simple stuff right here. I think I repeated some stuff and then added that in there, that was a mistake, but this should be in there too, but all of this is on the Ubuntu wiki and if you just search, maybe I'll put the link at the end, but if you just search Ubuntu and Zappy, it'll be the first link that pops up and it'll walk you right through it, real simple and you'll have it up and running. Bridging that work and hold on. So I was actually, I'm actually gonna break out here and then show you this guy real quick. I was meaning to do that before. So right here, this is Open Zen Manager and so I've got a, I mean, this is a old laptop, it's got like four gigs of RAM, dual core, but it's a piece of junk. So the Windows is slow, but the Phoenix VM is really fast, so I'm gonna show you real quick Let's log out real quick. It's slow, so just be patient. Do, do, do, do, do. If I don't want to close, I want it to, okay, we'll close it. So you start up Open Zen Manager and you can password protect it. So let's just say I had like, I don't know, 30 VMs and you just don't want somebody just walking up and running or double clicking on the icon and being able to delete VMs. So you can actually password protect, you can password protect the panel itself and have it memorize passwords for your host. So, and now it's like populating everything and there are also views in here. So to show you all of these, they did not show it to me. So all of these are templates that come with it. These come with Zappi. So if you see all of those, Windows, Ubuntu, Sousa, Red Hat, Oracle, Enterprise Linux, Debian, Stintos, all of those come in there. So let's say I want to do a new VM and I can say, let's just say Debian and go Weezy. You go next and you can name it TestDev, zero or whatever. And so this install URL, when you first come to it, you may be like, hmm, what does it install URL? And so that would be just like your basic FTP.debian.org or debian.us.org or whatnot. Debian and you just go next. And so that's showing me how much RAM is available in this system here. And so then I'll say, okay, well, I can, it's got two CPUs available. I can bump that up to two and then go all the way up to 2.8 gigs of RAM, but I'll just leave it at 256. And this is where you create the storage on the device. And so that is a NFS ISO library, right there. So that would be a shared storage. And I can leave it at eight. So the template automatically has these settings in it for me, but I can go in and I can edit it and say, okay, bump me down one gig or whatever. And it'll create the storage and then it'll, I mean, I'm not connecting to the net right now, but it will go out to the net and then pull in the packages and install Debian. It behoove you to run an app cache so that it's local. And you're not running out to the net every time and it's installing very fast or to use another NFS. You got a question? Okay, well, you can interrupt me. So now, so, okay, so let's try to do this right here. So if you go to storage and you say, wait, wait, wait, wait. New storage repository. And it's got, you sell these options in here. And so, I mean, you add it in there. If the OS sees it, it's gonna see it. Yeah, so there is a, there's a, no, there is a command that I would run. It was XESR, is it SRListScan, is that, is it? So, yeah. I think for fiber channel stuff where they'll just appear automatically is block devices. The, I'm not sure if it's, if either ZenCenter or OpenZenManager knows about it, I'm just looking down the list. It doesn't automatically. The, that would show up as a rule-run type of storage repository. These are mostly consolidated storage repositories. So where, for example, I SCSI here would have LVM on top of it. And then probably the VHD format within the LVM volumes. The lump of EDI model is less well exposed throughout the stack. I think in the I SCSI case that may not actually work out the box right now. It's something that in Zen server we're looking to get into the next release. I think it can be probably hacked up a bit right now. But the problem is convincing Open I SCSI to go and log in and get all those lungs attached. Normally the tool stack takes care of it, but if we haven't got native knowledge of those lungs then it tends not to happen. So let's chat offline later on. But can't he actually on a command line add the storage versus it, you know? It all depends on what type of storage to talk about. So these things are all talking to individual storage repository drivers. So you've got to have a storage repository driver that understands the way you're using that storage with respect to the virtual disks. So for example, if you've got a lung that's got a bunch of virtual disks on it through LVM that's the one you've highlighted there, the I SCSI one. You could do an SR introduce it's probably the command you're thinking of which will create a storage repository that you can then put BDIs on top of. But if you talk about individual lungs there is a what's called the raw lung SR I think that's in Zen server and XEP. But I believe that that doesn't work in the I SCSI case at this stage. It will for the fiber channel just because of the integration with Open I SCSI. All right, well that's the word right there. So what was I gonna do? Oh yeah, so I was I showed you kind of how that how that Debian VM would have been installed. And so when you do this just remember, so let's see if I can get to the console. So I'm running Phoenix because it's fast and you know it's there. So, boom, you know right there to console. And so the storage that I made available to it well actually is it not available? It's not available. But so if I was to add storage to it it would be available and then you just run F disk and format it and you know we'll put a partition table on there and then put your file system on it and boom, you're up and ready. What else was I going to show right here? I can run the Windows VM. It's slow. But I don't know why it's a big deal to run Windows. Like everybody does it like oh yeah I'm running Windows and you know but it's just the fact that you can do it. So for you guys if you run or run like a server R2 or something like that which you're probably gonna run then you know for a fact that you can run it and there are drivers that you wanna run on top of it though in order to get a boost in performance. And I guess he ran out and we were just talking about that. But what else might I wanna show you? Oh that's Zappy. It comes, those are the custom templates. Well those are the templates that come with Zappy and you can customize them, you can make your own templates but those already come with it. So the minute that you install Zappy and you run Open Zen Manager or let's see, let's jump over to, let's see here. Any of the other management panels, it's in there. It's in there, so it's in Web Manager. It's probably just worth noting what a template actually is in Zappy. It's a set of defaults for the various bits of metadata that Zappy carries for a VM. The sort of things that go in there would be the flags that we passed down when we created a main. So you know whether or not we're enabling NX support or the Viridian enlightenment, those sort of things. So for example some of the Windows templates would have the Viridian enlightenment enabled whereas some of the older ones wouldn't. HVM Linux, I think we screwed it up recently but in theory that should have the Viridian stuff disabled. And then there's sort of recommendations for maximum sizes to help the UI to make better recommendations. So for example not being able to give 128 gigs to a 32 bit VM, that sort of thing. So this is in Web Manager. They pretty much all look similar but well actually I gotta log in to this guy right here. So you log in to that and boom, they pop up right there. All of the templates show up there again. And this. So do you have, I mean there's no direct link to where ISOs can be found or a database of. Yes, so that's where you would make an NFS ISO repository. So you have your NFS share that is full of ISOs and then you'll come in here and you'll say, so let's do it, let me do it over here and open Zen Manager. So I'll just do it with the Phoenix one because there's an other. And okay, and so like right here you've got. Like so I've got this Debbie and ISO in here and XDP and a couple other things and so I can just go next. And so wait, let me show you this here first. So you get a better understanding of that. So that was just an NFS ISO repository and that's just an NFS export. That's all it is. It's just a directory that's been exported over NFS that has files in it, period. So if you've got a three, if you got a terabyte of storage that's mounted at a slash MNT and you export it over NFS, then that is you've got a terabyte of space for your virtual disk, period, or for your ISOs or what have you. So? And so all the templates that are Linux style operating systems are all those templates set up as PV still? Yeah, so that's still true. I mean, this is based on the current, it's a sort of a commercial support envelope in effect. So the, what Citrix tests and warrants at the moment for Linux is entirely PV. That will almost certainly be changing fairly soon. But of course, users are free to do whatever they want of the other template being a good example of that. And I know you said that the Windows server is gonna run degraded. Is that just because your laptop or is that, are we talking about, I mean for production servers or we need to have, I mean. We have to have Windows support. So are we saying that like these, and we currently run KVM, so we know what kind of performance we're gonna get. So are we saying that we're gonna get less performance from Zen or are we saying that we can get the equal performance? So as far as what I've seen, they may say something different, KVM with Windows from what I've seen is it does have an edge. It does have an edge on performance from what I've seen. They may say something completely different. Right now, I think I need to follow that one up. So with running HVM guests, so fully virtualized guests on Zen systems, including Zen server XCP and so on, actually work really, really well. The base level virtualization is good. There are no performance bottlenecks there. In fact, what Zen and KVM do is not actually very different in many respects. What both systems need in order to really get the full performance is something to make IO better. If you emulate IO with QMU, which both KVM and Zen can do, it will be slower. So both Zen and KVM have the concept of what we would call in the Zen world para-virtualized drivers, and we saw that in the early part of the presentation. So these, although the VM is running in a fully virtualized environment, so it's booting with an emulated BIOS, and if it's got an emulated IDE controller, the drivers themselves, a disk driver, primarily a storage driver and a network driver, know they're running on Zen. They can use a shared memory ring to communicate with the backends the same way that a fully, sorry, the same way that a para-virtualized Linux guest would and get pretty good IO through there. And KVM have got, it's a different mechanism, but a similar principle with their virtual IO drivers. So I'd say actually in both KVM and Zen with the right drivers, actually run very well in virtual environments. I suspect in this case, you're probably talking about using emulated drivers rather than PV drivers is your degradation, right? Yes, and with the PV drivers, I don't know. Yeah, I mean, you may be running better hardware to me, but from what I've seen, but regardless of that, there's a lot more flexibility with Zen personally that I think then with KVM, period, period. So for me, I'm running Zen, period. That's it, I'm running Zen. So regardless of fractional, like there's some strengths of KVM, some strengths of Zen, but I think Zen has more strengths than KVM has personally. But I think, I'll just go back to the presentation if I have anything more. So, oops, I spelled bridge wrong. Let's fix this real quick. Okay, so you need bridge networking in order for your virtual machines to be able to communicate with the host. So for the guests to be able to communicate with the host, they have to share a interface, a bridge interface from your physical interface. So let's say you've got E0 or WLAN0 that's connected to the net. A virtual interface will be put on a virtual, a bridge will be put on top of that, and then let's say you spawn one virtual machine and then a virtual interface will be put on top of that bridge to communicate. So you can make it to where the VMs are isolated or all the VMs can communicate with each other and or the VMs can communicate with back to the host. So if you've got like, so what I do with one of my deployments, so I've got, let's say I've got like a slash 24, and I've got all these public IPs. And so each machine gets a public IP so you can have a host that will have 30-something virtual interfaces on it because you've got 30 VMs and it's routing all of that traffic through the host from the guest. You guys get that? And so this is a very simple way. This also is on the Ubuntu wiki. I'm actually, I took this right from Ubuntu wiki. But so right in here, this would be like, instead of that being this Class C subnet, that would be like your good juicy A or whatnot. So you'd have your IP address in there, everything else, gateway. This is the only part right here that really makes it. And also, I'm sorry, adding the bridge. But you've got to install a bridge utils and it'll automatically do that for you if you put it in this file. Instead of you having to go on the command line and then add the bridge yourself, which isn't hard. But just having it here makes it all simple for you. And there you have a bridge and all your guests can actually get to the internet and or get, if you do DHCP, I don't know how many servers you guys got, but you know. So you've gone from Zen puppy to Zen master, just an extra amount of time. Resources. If any of you guys use IRC, there's a very active IRC channel on IRC.frino.net. Now I put IRC on the top of the list because that's real time communication. You know, you can go to a mailing list, you can look on forms, you can look at the wiki, but the wiki won't talk back to you. A lot of times on IRC, guys are in there and they will help you. Now somebody may, so I may, I actually, I should have put the wiki first probably because they'll tell you to read the manual when you go to IRC. So. So. But. So the, and it's wiki, woo. This is a bad Mema Gemma. This is a nice, really good wiki. Very good wiki. You'll find everything you need to know on the wiki. This is the main site right there. Also a list of mailing lists. And you know, everybody's talks about Lars. Cause he's a good guy. He's a really good guy. And I don't know if I should have put his email address in there like that. But it's in there. And so, but if you. Yeah, I'm sorry. I know, I'm, wait, well let's do that. Let's do that real quick. I started to. So. Oops. Well, it's, it's, it's all linked in there, man. Let's see. I don't remember how to do that. Okay. And so I'm Brian Stein on IRC.freenote.net. And so if you wanted to chat with me in real time, you can, or you can email me bronsmithatasticlabs.com. I think that is all of my time. Thank you very much guys. Thank you. Thank you.