Generic Network Virtualization Encapsulation draft-gross-geneve-00 Pankaj Garg Jesse Gross pankajg@microsoft.com jgross@vmware.com Agenda Present Goal Proposal Call to Action 2 Present 3 Network Virtualization is the key to Multi-Tenant Datacenters and Software Defined Networking It is driving renewed interest in tunneling, tagging and encapsulation schemes 4 Hardware endpoints, software endpoints and controllers can evolve at different rates, but existing formats don’t provide that flexibility 5 Existing Formats (VXLAN, NVGRE, STT) Lack extensibility to allow data plane innovation No support for carrying meta data Tie in control plane that limits control plane innovation Flood and learn, or other control plane semantics 6 Goal 7 Extensible Encapsulation Format Allows data plane (hardware, software) and control plane to evolve and innovate at different rates Allows those innovations to be standardized later 8 Extensibility Many extensions have already been proposed for VXLAN and NVGRE: protocol type, OAM, security, etc. Evidence of need for extensibility rather than a counterargument VXLAN and NVGRE are fundamentally not extensible: pushing beyond the limited header space requires all supporting devices to update Ecosystem need to avoid fragmentation 9 Proposal 10 Outer UDP Header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port = xxxx | Dest Port = Fixed Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UDP Length | UDP Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 11 Geneve Header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Ver| Opt Len |O|C| Rsvd. | Next Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Virtual Network Identifier (VNI) | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Variable Length Options | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 12 Geneve Options 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Class | Type |R|R|R| Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Variable Option Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 13 Call to Action Consider Geneve as a candidate solution to address extensibility and decoupling of control/data plane requirements as input to the gap analysis draft. 14