Purpose of Native VLAN in Cisco UCS

Issue:

We have created a service profile that contains 1 vNIC and it is placed in VLAN XX.  I have installed Windows 2008 on a blade using this service profile.  In the OS I have assigned static IP for the NIC in VLAN XX.  From the OS, we cannot ping another device that is in VLAN XX. We cannot ping a host on another VLAN as well.  If we place a check on VLAN 1 as the native VLAN, we still cannot ping anything.  If we place the check for native VLAN to VLAN XX, I can ping hosts within the same VLAN as well as outside the VLAN.  So, why do I need to place VLAN XX as the native VLAN when all my trunks are set up as VLAN 1 being the native VLAN?

Solution:
When allowing certain VLANs on your Service Profile vNICs, you need to set the native VLAN. This is because the way you have it configured currently you're only "allowing VLAN XX, but you're not tagging it. This would work fine for ESXi or any other Hypervisor where you can assign the dot1q tag at the host.  With Windows unless you have specific drivers doing the tagging for you, you'll need to do this at the vNIC level within UCS.
Two ways to see this in action.  When creating a service profile in the "Basic" method - not "Expert", you will select a single VLAN for your interfaces.  This will treat the interfaces pretty much like an "Access Port".  Conversely when you use the "Expert mode you're enable the vNIC as a trunk, in which you will "allow" all the VLANs you'd like access to. Sounds like this is the method you have performed.
For a Windows OS, set the VLAN as Native for the VLAN you want it to access and you'll be sweet.  Unchecking that "Native VLAN" option box is allowing the traffic to traverse out of UCS on the Native VLAN of your network - VLAN 1, which is why it's MAC appears on the other fabric under VLAN1


No comments:

Post a Comment