 Welcome to the network engineering video blog. I am your host Michael Crane. Okay, so in today's video We are going to be It well, if you remember if you remember previously When we added a router or a switch Oops switch We basically just got these generic router underscore zero router underscore one switch underscore two And test that was kind of generic to just test that three and these are actually Identifiers that I use to sort the nodes in in a collection of nodes okay, and They don't really mean anything to anyone and and so today in our We want to be able to change these to some meaningful names for the user But still keep these for sorting so we're going to add a new field And I think I kind of touched on it in the last video and that is well Let's just go edit it so we did create an editor previously right you go into configuration and view and And if you remember it dumped out a lot more stuff It was everything basically in this it would dump out everything basically in this class node properties Okay, so it dump out the index a category the make model host name and this label nickname now if you remember we these two Weren't really Implemented yet. All right. They were just there and And we what we want to do today is we want to make this nickname What the user gets to see right here, right? So You know, you don't want to put the Host name in there because sometimes a host name, especially if it's a fully qualified domain name or FQDN It can be quite lengthy and and most of the time people now say, you know, okay Go to the Dallas switch or the Dallas Gateway or the Dallas, you know, whatever the New York Gateway New York Gateway 1 New York Gateway 2 that sort of thing and people know right and that that's what we want to put here So that's what we're that's what we did. I'm gonna do a diff on the just like in the previous videos I'll do a diff. I'm also gonna clean up these names Right here and I don't know. I might show you that another video We'll see how long this video is but we what we definitely want to in this video a look at changing this This label right here, right from router underscore zero, which is The actual name of the router in Mogwai to you know, something more meaningful. Okay, so yeah, let's get started Okay, so I just went ahead. I'm gonna do a diff on these files I don't really know where to start So I'm just gonna start from the top first thing on the top of our diff list here is the class node properties That seemed as logical a place to start as any and you'll see a lot of red the red on the left and the green on the right Red means removed green means added. Don't let that scare you. I didn't change a lot I just rearranged a bunch of stuff and Well, I deleted this comment down here. That was left for from a previous video. We don't need it any longer Let's see. Yeah, I kind of rearrange things a little bit. So so index category and make All kind of left the same model Isn't the same spot But then on the bottom I added host name and nickname and I did this for sorting So I I knew where these things were sorted So and so I removed this left and top property and just moved it up to the top and I added a Comment saying this is the location for the XY coordinates And I left in top and this is no data down here and then down here is as a Needed for the sorting part. I don't know if we'll do the sorting in this video But anyway, I'll show it to you anyway might be here a little redundant But anyway, so this this bottom part be view and be view edit or be edit be view and be edit Are just a raise of strings and that's to tell I guess I can read to you So it's our raise of strings that are our raise of strings that set the attributes for the public property keys above See, it's either gonna set to none view only or view edit or none view only or view edit and Basically, it's like attributes if you're familiar with I guess any operating system But we're just what we're doing is as I'm saying, okay category and make We want we want the user to be able to see them, but we don't want them to edit them, right and then edit Of course, you have to be able to see it. So it's automatically The be view setting but we want them to be able to change the host name the nickname and the model, okay So when we pull up our router, we can change the model the host name and nickname But we can't change the mate Because if you remember when we add them we add them as a Cisco router or juniper router switch or those that sort of thing So we want and and there's reasons why we did that, you know for the different ways they Log in dumb and they have different properties and that sort of thing and and I don't know We might make it more generic later on but right now we're just gonna leave it the way it is So so we don't want them to change the make but they can change the model All right. So if it's a Cisco 3845 or 2845 or something like that or 2811 I mean then and they'll be able to change it, right? So that's the That's the class node properties. I Don't know what's changed in the project probably nothing that I can think of. Let's go into the mod.io here this is a module that that is global and scope and it has a bunch of global variables and and public, you know global Routines that are used by different different classes, right? So instead of copying pasting the same Subroutine I just use this module. I think I've explained that in the past and I think the only difference is oh Yeah, so I added this function this as you can see there's no red. So there's nothing to look at on that side Yeah, so I just added this function for For a get nodes properties get node properties attributes. Yeah, you just said say what key you're looking for and In the node Okay, and this is pretty straightforward. It's just saying if the property contains this key and the attribute Oh, if they So in the properties list it's looking in those those two arrays and it's it's either It finds it in the edit list and it's view edit that finds it in the view list It's view only and that's it and nothing to that Subroutine pretty simple added a public property here. So we can pass it around Oh, this is actually added it to our class key value pair. Yeah, so so now it's more than just a key value pair It's a key value pair with an attribute All right, and I'm not you know I kind of poked around on this thing and I said you know There's there's probably a more elegant solution than making this attribute But I couldn't find it I kind of poked around and googled for about I don't know 30 40 minutes or something like that I I didn't really see anything that looked You know fairly easy to implement and actually I didn't find anything that that looked really good So I just kind of put this in there Yeah, if anyone knows a better way to do these attributes on these key value pairs, you know If I want them to you know, of course the key needs to be read only the value needs to be read only or editable, right? and There's probably a better way than just adding a third property But I didn't see anything when I was googling around I couldn't think of anything so I just added this Okay, so third on the list is node edit config and Maybe I should I was thinking about this before I got started is Is maybe I should show you okay, so this is the main GUI All right, and then If we add a node, I mean this a router or switcher or Or test set is considered a node if I If I let's click on it I'm sorry right click on it and then it edit This is the the node editor or node edit Main let's see where is it node edit home? Sorry and it's also got a node editor XAML. I Forget what that one is. Oh, yeah, this is nothing. Yes. So node edit home is the main one, right? That's that's this window right here, and I'm just kind of running through this so you know What where we're what we're talking about there's a lot of node edits in this video. Okay, so this node edit home And then you click on configuration and view Now this is the node config so node edit config and this is what we're looking at right here, right? Okay, the clear is mud All right, so So we're at node edit config. Let's see here. I In the class node properties, there we go Diff node edit config. Okay, here we go. Okay, so this is node edit config dot xAML. This is the xAML portion of it There are a few changes in this guy. So the first change is what we changed that label It's hard for me to diff this and run the program at the same time. So let me make a screen cap. I'll be right back Okay, I'm back Okay, so we changed this this data template the value and I didn't we didn't change the The name and if you're wondering what that is. So this is the name side right here. I know that the cursor kind of went away. I maybe I can do this and Then here's the the value side. Okay, and And so the What we're doing right here is we're changing the the label Changing from label to a text box. We're keeping the same bindings But I'm making it read only to kind of behave like a A label right because we don't want them to click on it and be able to edit it in there And the reason why is I want to use I wanted the user to be able to right click and And pull up this context menu that we added and this this context menu does a couple things One when you right click on it it sends an event to the node edit config visual basic code behind And and it and it checks the the read write Or I'm sorry the view edit Attribute to see if if we can edit it And we can look at that here in a sec and it'll either pop up this edit or it will pop or I think it'll pop it up Either way this I guess might as well run it and look right so edit Fig So when you right click on it. Yeah pulls up edit and I think it pulls it up Yeah on any of them, right? So it doesn't do that check at this point the code behind doesn't check the uh view edit property or attribute at this point, but I So like if on the make if we click edit. Whoops edit Okay, that's uh Isn't that interesting what happened to my uh my pop up? Oh Well, oh You know, this is this is kind of goofy. So Let me see if I can click let me show you this is and I don't know how to fix this so check this out So okay, I click on edit right and config right And so nothing I haven't highlighted anything so I come up here with my cursor And I right click and now you can kind of see You know it it knows I'm right clicking on this value and I hit edit But it does nothing and it's because Well, I don't know see down here. It says no config name equals Yeah, so it doesn't work. So if I left click on On any of these right if I left click on this and it highlights the whole Name value pair then when I right click on it and it edit It pops it up. Anyway, I digress. I'm not sure why it does that it's kind of goofy and And I it's we'll probably have to fix it in the next video So, uh, yeah, so it's not doing the check the view edit check or attribute check until uh, you click on edit And we might change that in the future. It just it was just get us going with the edit, right? Okay, so Put that away and anyway, so now you've seen the menu. It just says edit It's not very interesting and we'll probably add more stuff to it later Okay, so that's that piece and if we scroll down here Oh, okay, so the rest of the stuff I think are just I'm just changing the labels To text box text boxes. Let me see is that is that truly? Oh, no, this is different down here and okay, so Let me come back up here. Yeah, so I went through here and changed all the labels that That use the name Let's see. Where is it? Well, anyway, so if you remember from Way back when The label gosh, I don't know what to call this um control Is label actually a control like I don't know Uh, let's see. What do they call it? Yeah, that's a control. Anyway, so label control will not display an underscore Go figure So all my uh, my router underscore zero was the underscore is being remote So I had to go in here and change all my labels out To text boxes and then I had to add is read only and then I set the background to transparent and then turned off the border thickness blah blah blah blah You know to basically make the text box look like a Uh label right so so this this name right here this this guy right here Uh used to be a label this router underscore zero, but it kept taking out the underscore So I had to uh change it to a text box Uh, that's just one of one of the weird little things I ran into with wpf And I kind of googled around and some people said I just used text boxes and And no one really said any kind of fix for the underscore if someone knows they feel free to let me know in the comments I'd be curious. I don't know if I'll go back and change them But uh, you know, I'd make it look a lot better than having to add all this junk up here the the different I guess attributes for the text box, right? Okay, so Let's see. What else did we change? Uh, we changed the Uh, let's see data grid auto generate columns Oh, I just made them read only equals true And that was for the Oh, yeah, that's that's to um There's a little simply so when you click in here, right? If you left click in here and if it's not set for read only It will let you Edit the this basically you can change this go to bob if you wanted to And uh, and we didn't want that. I wanted I don't want to edit right here I want to be able to right click on it because it's got to go do a bunch of checks And it might have been cleaner to do a bunch of checks every time he clicked on it, but I don't know it You know, it's it's really gilding the lily and I don't mind Right clicking on it other than the bug. I just showed you Uh, I don't know if it's a bug or or feature. Who knows So, uh, yeah, we turned on the read only there and what did we do here? Oh, this turned on read only on this on the cell template So you can't change any of the um I don't know do we need it on both probably not this one right here is probably not needed Uh, oh, oh, oh, I remember what this is Yeah, this one is this is This one was was irritating. This this took me a little while to figure out what was going on Yeah, let me show you that real quick. This this was annoying That's what this was Uh, let's turn this get out of this real quick. We'll go to uh home And uh, oh That's home What are you? Oh, no, we want solutions explorer And node edit gun fig xaml let's scroll down here to Yeah, let's take this out for a sec and start this And here it comes Okay, so add router edit Get it to get fig. Okay, so so if you notice now it is added this Extra box down here and I went through my my loop and I'm like am I adding You know, what is this thing? You know, I thought maybe I I wasn't jumping out of the loop Enough and I was adding a blank line somewhere. Well This is this is microsoft's Way of adding a new this is so you can edit this list the user can edit this list Basically they can come in here and go blah. Oh, well, it's something read only but the cell is But the list is editable and this is its new line Right. The problem with that is I was like, what is this thing? I so I click on it and I right click and I click on edit and crash And I'm I'm looking at this this crash and I'm going I'm going it's unable a cast object of ms internal name all that blah blah blah blah And I'm kind of googling around. I'm going what what what is this thing and and you can read this if you want to It's actually fairly meaningless. It has nothing to do with what the well I'm sure it has something that this is what the compiler is complaining about um, or not the compiler but the uh Debuggers come, you know saying yeah, this is this is this is bad You know, I it's basically trying to cast some some object, right? Into something that it doesn't like anyway. It's trying to class cast in this class kvp and it can't do it You know, I was like, you know, I googled around and a couple other people asked about it and And I didn't really see any decent answers and I'm going I'm going You know, why is it adding that so I finally I think did I leave it in here? Let's see where did I add it somewhere around here and we'll look at this here in a minute. Anyway, what I did is I added a A print statement to just print out What it was adding See where did it crash up? Yeah, right here. So I I guess I deleted it Anyway, somewhere around here. I guess right here. I just put a debug print statement and just printed Printed out what this is. I was trying to see what it was You know what it was and it said it was a A new line element and as soon as I saw new line I said, you know what? I bet you a dollar to a donut hole that if I turn on read only where it's not editable it will fix that and And sure enough it fixed it so so And that that kind of that was kind of lucky I I turned I printed out You know what that object was, you know, I was to do it. I I could show you but I don't want to waste the time Anyway, just do a debug print You know That object two string if you just put two string again After it it will dot two string It you can print out and kind of get an idea what the hell that thing is It's and why I can't cast it right? I couldn't get anything from the debug statement So that was a little rant on that little guy that that that sent me down a rabbit hole for about an hour. I bet Anyway, uh, let's see and then we had another read only down here and and this is for the cells This is just saying the name Is read only? I'm not sure Let's see. Let's go back up to our templates You know, I guess I could have probably put it up here this label Meh, I don't know. I don't know why I split it up like that, but I could probably add it to both of them. I don't think it really matters But uh, I did maybe we'll come back and clean this up later All right, so let's go look at the code bind here And uh, yeah, as you can see there's quite a few changes in this one Okay, let's see What do we add? Uh, okay a couple comments Oh, here we go Sorry, my my brain isn't wasn't engaged here. Okay. Yeah, so um This is for our List box and when we're going and this is just a loop going through This is this is what builds that list, right? That's and this is where this For each i and pi which is each basically line and in our property info Yeah, so this is the the for loop that i'm that i'm looping through to build This list right here of the property info That we're getting from the no properties file, right? And I added this we had to add the attribute property If you will And that it also has it's just calling this new function get properties attribute, which we looked at in this the module mod io, right? And and it's just Returning the name and or it's it's using the the name and sending passing the node and Just pulling out the attribute value is nothing really exciting And that this is just a little check i'm doing so it's saying okay if it's if it's Microsoft and visual basic ease if not if not kbkvp.attribute like none Which is I don't know how many how many negatives is that like none? So not like none And uh, yeah, I'll let you work on that one And and what this does really right here this this if statement is Uh, let's see. What is our class node properties here? So like the index value is means nothing to the User it's only for our use You know in the in the code So as you can see it doesn't have a view or edit attribute So we don't show it at all. They don't they don't need to see that And they also don't need to see the left and top coordinates of it, right? So yeah, that's that's all that That thing is doing. Let's see. Where are we? I think we lost our oops Okay, so that's that's what that's doing right there It's saying if it's not if it's not like not It's not like none Then then go ahead and edit right and uh And then here's the here's our new edit value Subroutine that we added For the menu item edit Okay, that we looked at just a second ago And of course it's using routed events to call it and pass the information to and let's see here Okay. Oh, yeah, this is where it was crashing We just talked about that didn't we? Yeah, so this is where it was crashing There's a little debug statement. So and I tried actually using this. So I said if select tvp You know before this cast. I think I I did it off this I said if this selected item is nothing, right? This is nothing statement and it still wouldn't crash because it's not nothing It's something it's just an object that it can't cast Anyway, I digress. I don't want to hurt put that thing anymore Yeah, so we're just checking right here to make sure this thing's not empty If it does return and then we go check the the attribute If it's a view edit Then basically we just care about the edit portion of it Then we go ahead and call our new edit property page Okay, and that's that's these two pages down here that we'll look at here in just a second Sorry, it's a one page down here the xaml and the vb is two files All right, and the navigation servers is how we switch pages, right? And otherwise if it's just a view only then it just pops up this view only message box Okay All right, excellent Oh, okay. So next on the list is this node edit home xaml and yeah, I don't think there's much in this guy This is this is the screen before this one. This is where we we select configure, right for the node And I think all I did Yeah, see I just changed these labels to text boxes and I think And oh looks like I added a space a play client Yeah, I'm not sure what that that's just kind of weird right there. Why does it highlight that? Is there anything there? No anyway So that's it and that was to uh, I guess I'll go ahead and show you what that is That was for this Oops, that's for this right here Okay Before I would just say router zero and it would delete out the underscore And so I change it to a text box with all those other attributes I showed you earlier And now it's happy it shows the underscore. Okay, and let's see is there anything in the code behind? Oh Yes, there is Let's see. What is all this stuff Uh view button Oh, yeah, I remember what this is This is uh, oh shoot. I already closed it. Let's go ahead and look at this real quick This is something I added Um, this was just this just a little house cleaning stuff So before I used to be able to click on configuration or status or testing or reports I pretty much got the same thing you got this This node config, right? But now so now if you click on status you have view It just says Status selected right and what in let's go back or if you had testing view and reports So what I'm doing is I'm adding some logic to this thing. So when you hit configuration view You get the configuration and not and before any of these would do it And it's just going Let's just kill this guy and uh, you can see that in the code right here. I think oops We don't want to The break point do we? So before yeah, I just it just if you clicked on the view button It didn't matter what you selected. It just went straight to the node config and I added some Logic in there to just a bunch of fl statements And or else if statements sorry and um I said, okay, if it's click on configuration then go here And and this other stuff is is for later when we add In our reports or testing and It's some other stuff and and we will add this stuff later to status as good Testing will be probably huge In reports. I don't know, you know, you know the management types. They got it. They got to have their pound of paper, right? so So anyway, we got we got to have some kind of reporting and then of course this is uh in ballot selection And uh, okay, so that's about it with that. Let's go look at our new properties files Okay, we'll look at the the node edit property xml xaml And um, just to show you where that is on the GUI that is edit Yeah, so that's when you when you click on something like the host name and edit That's this page right here. Okay And as you can see it just has edit property for The name router underscore zero property host name And this is where you actually edit the property. So you can just say you know Bobs your Okay It's safe and there you go back in now your host name is bobs your uncle. Yeah, so let's go look at the What's going on there? Okay? Let's see Whoops, that's not it. Oh, that's right. It's a new file. There's no diff in a new file So, um, okay the xaml. Like I said, it's a page file Uh, class name is node edit property and basically To to make this so I don't bore you to tears with all this this is just a copying and paste of I think it was a config page Or or maybe the node editor page Yeah, no, I'm not the node editor of the page It was a copy and basically I just copy and pasted The pages and then I just came in here and And hacked it up and as you can see it's it's very similar to like the config page If we did a dip on the two I'm not going to do that and I'll let you do that if you want to But it's basically the exact same thing. We're just basically Building a column in row of one One text box Let's see. Yeah, so this is the label. We don't care about that text box is read only. Okay. Here's the the name Okay And let me let me get a screen cap of this so we can look at it while we're talking about it Yeah, so here's the name Right here. It's just a read only and this all this stuff is read only a name and the property that's That's uh, these two boxes right here and then We have a text box Right here that is this guy right here And it's actually a real text box that you can edit stuff That you just saw then we have a button And the button where's a button here? Oh, here's a button Okay Really the uh, it's the same as what we've just been looking at. We're still binding to the value I'm um and in the code behind We'll look at that here in a second. You can see I'm passing the data context so it can you know Use the value and uh, let's see Is there anything interesting here? No, really, this is all This is all Basically copy and paste I mean a little bit of a formatting change. I'm not gonna go through the formatting You guys can figure that out. It's it's confusing to say the least You know, you have to just kind of tinker with this a little bit to uh, you know to make it look like this but basically Uh, if if you don't know so this has got two columns and There's column one and column two and and then you got three rows. Here's Row one two and three And four. Well, how does that work? See, I don't even know how it works Let's see column row zero row one row two. Okay, there's three rows And uh, oh here we go row four. I didn't even add a row four on here. So Yeah That doesn't make a lot of sense does it and then the columns here's that column span two columns So everything's basically in the same column. I don't even know if I'm using oh here's column one For this for this guy. Where is he this edit property? So uh, Yeah, this is bizarre right here and and I could probably tinker with it Now I'll let you tinker with it. It's if you really want to get, you know, sexy with this thing you'd probably You know make it look a lot better This wizzy wig editor is is useless Uh If someone knows how to use this thing efficiently, I wish they They would comment and let me know because this this is useless I don't know that can anyone use this thing I mean even zoomed in I'm zoomed in name property here I here's a column one and column two that says column one. I I don't know this thing is worthless And the buttons you can't see the button and And I don't know this this is it's just worthless a whole thing's worthless I don't get it. I don't understand it. I I the way I do it I don't know if other how other people do it, but the way I do it is Is uh, I just tinker, you know, I take an example of something that works and I tinker with it until it I I make it look like it's going to work. Okay And if you look right here, you can see I've actually Chopped off part of this same button right here because I didn't do it right so so we'll have to clean that up later Yeah, a gooey layout Tutorial this is not I mean we're doing the wpf stuff because I wanted to keep this I'm sorry the xaml stuff because I want to keep this focused on wpf but This this gooey is uh, this this This editor is bizarre to say the least and and I should probably upgrade to 2019, but uh, yeah, we'll We'll make that another video. Okay Okay, so now I've completely Went off the tracks here and forgot where I'm at Uh, let's see. So, uh, anyway, that's the xaml. I think we kind of looked at this It's nothing real special. It's a copy and paste from I think note edit can figure something Or maybe note edit home Let's see what does note edit home look like. Oops. I didn't want to do a diff on it Yeah, so you know that home's got a say button or sorry view button and And I think it's a copy and paste of note edit home and then I just added a few few things to it Yeah, okay, so last but not least let's go look at the code behind for the note edit properties file Let's see and this is also kind of a cut copy and paste of note edit home We're seeing our data context to oh by the way, so yeah, so if you're I don't know if we showed this but Anyway from note edit config All right We're passing. Oh, we did look at this. That's right. We're passing the key value pair and I'm passing it by reference not not by object and we're passing the parent node So we're passing basically you're passing the key value pair Which is the you know key value pair Exactly and In the class node, okay, so And yes, the class node does have the class key value pair but It's this is this is built, right? This is using the class. This is a separate class. That's in mod io module And but this is so We know we know this is what we it's been selected This is the node that has all the information right and that's basically what we got going on here I went ahead and set the data context to the key value pair And I just said my node is the parent node print this stuff out and the debug and then in the text box name I uh I just I and I'm setting it to the nickname and yeah, and I did that earlier too I don't maybe I gloss glossed over that if I missed anything or you're confused on anything Let me know. I I know I've been kind of jumping around on this In a little bit. I I mean, there's a lot of files that were at I'm not doing a lot But you know, I touched, you know, geez how many files and see I created two new ones and one two three four five six seven files So, uh, that's a lot, you know And and so anyway if I if I glazed over something just let me know in the comments and I'll I'll clarify it Yeah, so if we look at the code behind I'm sorry. If we look at the xaml So we're binding the nickname property. Oh, where am I out here? I click on Sorry, I clicked on the wrong thing. I'm like, where am I? Uh At a property here we go. Okay. So, uh, Where are we here? It's um So we got the name and the property And of course, you know, I can't use these So here's the name the property and we want this guy and and yeah, so The name I think yeah the name right here is what we what we're doing so Yeah, here's the here's the text box. Here's the name of the text box. It's called text box name And and that's what this is doing is saying the text box names text Is this nickname? Okay So we want we want this property to be the Oh, sorry, this property right here name To be its nickname and in this case it just happens to be router zero And uh, you know, that's this default right? We just initialize everything with that And if you've been watching these videos, you probably know that already And I did this because I couldn't I didn't want to set the data context to the The class node and then try to mess with those key value pair So I I as a data context, I set the data context to the key value pair And we just dated the name out of this class node here and I think that's all we use the That four isn't it? It's the uh Let's see my node dot name Oh, yeah, so we get oh, no, we don't so the parent is so we do my node dot name That's in the debug statement. That doesn't mean anything and then nickname then um Oh Where is it? Let's look at this Okay, so name is oh, this is the nickname Yeah, this is the nickname. This is the property Yeah, so we're just using the once right And uh, yeah, that's why I didn't want to set the data context to it because we really needed the name out of it And I think I could have swore. I used it for something else. Let's see. Let's look at this real quick Okay, so we're getting the You know the class now we're getting the name out of it I'm sorry the nickname out of it My node that name I know data context Oh, yeah, I guess I you know for the debug And maybe We're using it. I don't think I'm using it my node dot prop key this is the Yeah, so this is using the they called by name, which is a reflect reflection object Or it's reflection, right? And uh, we we've used this call by name before if you remember when we're parsing through some Some data when we're saving off the config file and uh, yeah, so it's it's using the property file And uh, so we also needed here. I I just spaced out earlier We needed but we we definitely needed if we're going to save the value to the property file, right because property of files associated with the my node object and um, and then we got to send set the key and The value right for it. Yeah, I don't know. I was sitting there earlier. I I was just spacing out. I I couldn't remember what I was using it for but yeah, we have to save the value right And uh, I think that's it and we this can go look and see the way it works real quick That might be somewhat interesting. So, uh So we say edit config and uh, I tried this earlier Woops Now you got a right click. Yeah, see this is so this is we got a right click and edit and then we come in here and say um Bob's Your uncle All right, we save this. Okay We can go back and look at it And just close this Now if we edit it again, of course, it will it will show Bob's your uncle But and this is something I was thinking about we'll probably do this in another video but You have to make sure to save this right? Uh, otherwise it won't take and uh, oops, I didn't mean to do that So I I have a file of what this is our general config file we've been using And uh, you can see right here. I tested a couple we can go ahead and do this one if you want And uh, so the host name so this will be so this is the Cisco Dallas switch And this will be the Oh, yeah, let's go look at it real quick. So I think I kind of Yeah, so here's the Dallas Cisco gateway.muxl.com and then I just call them Cisco Dallas Probably shouldn't just say switch or Dallas switch or something like that Yeah, so here we can go config And then the host name. So this is a fqdn type host name Oh Oh, there it is. Oh, no, I didn't I could have swore. I see I did a control c earlier Let's see. What is this host name? I'm gonna come up something real quick. Let's see, uh Cisco Dallas Cisco oops I can type router Uh, or let's just call it gateway .muxl.com We'll save that off Go back I'm down here and nickname you want something short. So I'll just call it the the Dallas gateway Okay It's just going to be kind of nice too, I guess, but it's not that important. Oh that I not hit save And big I did it did not update this. I thought it did. Okay, so file save big view Okay, so well, we've got a bug. I you know what I I tested this and I guess I I did I could have swore See these anyway Uh, let's let's just reopen it and it this would probably be easy enough to fix So, uh, so I saved it. All right, and um And when I do a file save like this I should have in the background did another open, right? If I'd just done another open on this it would have just kind of flashed for the user But it would have updated all this But what's really strange about this is so with all this binding stuff going on as you can see it's not binding Very well, and and so we've got something that's not You know right in here. It's it's just a one way binding going one way. It's not going backwards And and maybe in the future we'll come back and see if we can clean this up a little bit But right now we've got our save going. So that's good thumbs up, right? So now we can start naming all this stuff. We can give it Host names for our, you know meaningful routable host names All right, so, uh, yeah, this is good. This is this is actually becoming meaningful. So now when we go to Uh, you know saying command On these guys, right? We can actually pop in the host name. So what's probably probably gonna need on this is, um No, those names should work. I was thinking maybe an ip address, but But yeah, that should be resolvable, right? So anyway, that's it So don't forget you can support the network engineering video blog By donation using a credit card and PayPal or by purchasing products at the muxall store Details and links are in the description under this video Well That's about it for this video If you like the video give it a big thumbs up That helps and hit the subscribe button. That really helps If you have any questions or comments post them in the comments under this video Thanks for watching and i'll see you next time