Question is related to Data Center Inter-connectivity.

I wanted to inquire about how does 24 bit VxLAN propagates in Data Center Inter Connect. I am familiar with overview of encapsulation in VTEP. Query is further refined at point where VLan 12 bit encapsulates into 24 bit VxLan and Deencapsulates 24 bit VxLan back to 12 bit VLan.

Scenario: A host machine with vlan 20 wants to communicate from DC-1 to server in same vlan 20 in DC-2. The VxLAN used is 5020 at VTEPs at both sites.

Does both Vlan id 20 and VxLan id 5020 in UDP-IP Header is used in overall communication?

  • On searching, I checked that actually VNI [VxLAN Network ID] is the 24 bit VxLan Value. It is define under the 12 bit Vlan. But if it is true. How is it possible to achieve the 16 million vlans in 24 bit VxLan.
    – Muneeb Ali
    Aug 1, 2017 at 9:21
  • 1
    As far as I know, the VXLAN ID is completely independent from the VLAN tag sitting on the frame being tunneled. If a relation is made it relies on the tunnel endpoints.
    – Zac67
    Aug 1, 2017 at 10:48
  • Indeed, the tag id are independent on frame level as well. The relation is I am concerned with. Is it the multiplexing of Vlan Id or VxLan Id? Conversion of 12 bit to 24 bit tag ids? I am digging further and hopefully share if there is any answer I may find as well.
    – Muneeb Ali
    Aug 1, 2017 at 11:27
  • 1
    There is no conversion (afaik) - the relation is what you have configured.
    – Zac67
    Aug 1, 2017 at 17:10
  • I didn't mean literary conversion. I meant the encapsulation or de-encapsulate. Vlan 20 and VxLan 5020. Can VxLan 5020 all Vlan ids? What is the relation between Vlan and Vxlan? Is it one to one or one to many or many to one or many to many?
    – Muneeb Ali
    Aug 1, 2017 at 17:22

1 Answer 1


The short answer is that VNI is globally significant within a fabric while 802.1q VLAN tags are locally significant to either a given VTEP or a port on that VTEP.

So - using your example of VNI 5020. In a simple case we can imagine two VTEP's that each locally map VLAN 20 to VNI 5020. Any port on either VTEP that is assigned to VLAN 20 (or has a trunk receiving frames tagged with 20) will either switch the frame locally or encapsulate it in VNI 5020 and send it to the other VTEP to decapsulate the frame into the local VLAN 20 broadcast domain.

Now let's consider a slightly more interesting case. On VTEP A we still map VLAN 20 to VNI 5020. On VTEP B, however, we map VNI 5020 to VLAN 502. At this point anything hitting VTEP B on VLAN 502 will either be locally switched or encapsulated in VNI 5020 to be sent back to VTEP A - which will, in turn, decapsulate the frame into its local VLAN 20. The net effect is that the devices in VLAN 20 on A are in the same broadcast domain as the hosts on VLAN 502 on B.

Now take this a step further with per-port significance. On VTEP A port eth1/1 any frame received with a VLAN tag of 20 will get mapped into VNI 5020, while on port eth1/2 a tag of 20 corresponds to VNI 5920. On VTEP B I map eth1/9 tag 200 and eth1/22 tag 308 to VNI 5020. All three ports across the two VTEP's will, again, be in the same broadcast domain.

So - the answer to your question is, again, global vs local significance. In some implementations I might be limited to a VTEP-wide tag to VNI mapping and thus only support 4000 subnets. The key thing is that I don't have to use the same 4000 on each switch. I could have 30,000 VNI's in use that I selectively map to VLAN ID's as needed. Or if I support per-port significance I could theoretically map 4000 unique VNI's multiplied by the number of ports on the box.

Q-in-Q can also map to this numbering space, but that's a separate topic and use-case. My suggestion would be that the real questions in this area have to do with the control plane in use to communicate what addresses and VNI's are where, L3 info, etc. This also tends to drive some of the particulars around per-port vs per-VTEP, especially for the operation of MLAG and similar (not to mention downstream spanning tree questions and the like).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.