geneve: what is it and why is ovn using it? · • linux debugging tool: • wireshark • tcpdump...
TRANSCRIPT
Geneve:WhatIsItandWhyIsOVNUsingIt?
JesseGross,VMware
OVSConference November16,2015
ExistingFormats(VXLAN,NVGRE,STT)
• Tiedtocontrolplane,linkingunrelatedcomponents.• Floodandlearn,orothercontrolplanesemantics
• Lackextensibilitytoallowdataplaneinnovation.Possibleusesofextensibility:• Checksums/Encryption• Security- ACLs• OAM• UnknownFuture
2
3
Co-Authors• JesseGross,VMware
• T.Sridhar,VMware
• PankajGarg,Microsoft
• ChrisWright,RedHat
• Ilango Ganga,Intel
• Puneet Agarwal,Innovium
• KenDuda,Arista
• DineshDutt,Cumulus
• JonHudson,Brocade
https://tools.ietf.org/html/draft-ietf-nvo3-geneve-00
Geneve Overview
4
• Extensibleencapsulationformattoallowforfutureinnovation
• Decouplecontrolplaneanddataplanecomponentstoallowdifferentratesofevolution
• ContinuetousestandardIPfabricsasanunderlay
• SupportformultipleencapsulatedprotocolsandOAM
Geneve combinesaUDPshim,smallbaseheader,andTLVoptionstoachievethesegoals.
HeaderFormatUDP:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Source Port = xxxx | Dest Port = Fixed Port |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| UDP Length | UDP Checksum |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Geneve BaseHeader:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Ver| Opt Len |O|C| Rsvd. | Next Protocol |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Virtual Network Identifier (VNI) | Reserved |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Variable Length Options |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Options:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Option Class | Type |R|R|R| Length |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Variable Option Data |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5
Controller:• OpenVirtual
Networking(OVN)
SoftwareEndpoint:• OpenvSwitch• Linux
DebuggingTool:• Wireshark• tcpdump• libpcap
NIC:• IntelXL710• Mellanox ConnectX-4• Broadcom NetXtreme• QLogic 578xx• Netronome NFP-6xxx
SwitchingASIC:• BroadcomTrident2+/DNX• CaviumXPliant• Mellanox Spectrum• IntelRedRockCanyon• CentecGoldenGate• MarvellPrestera
6
Implementations
Geneve InOVN
7
OVNusesGeneve metadatatodirecttrafficthroughthevirtualnetwork.
ThisenablescommonACLsandefficientimplementationofconceptslikemulticastgroups.
Elements:• Datapath ID(24-bits)• IngressPort(15bits)• EgressPort(16bits)
Future - Telemetry
8
In-bandNetworkTelemetry(INT)isaframeworktoallowcollectionoffabricstate.
StoresmetadatainGeneve headersuponrequest.
http://p4.org/wp-content/uploads/fixed/INT/INT-current-spec.pdf
Examples:• Packetpath• Hop-by-hoplatency• Bufferstatus
9