geneve: what is it and why is ovn using it? · • linux debugging tool: • wireshark • tcpdump...

9
Geneve: What Is It and Why Is OVN Using It? Jesse Gross, VMware OVS Conference November 16, 2015

Upload: others

Post on 22-Jul-2020

47 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Geneve: What Is It and Why Is OVN Using It? · • Linux Debugging Tool: • Wireshark • tcpdump • libpcap NIC: • Intel XL710 • MellanoxConnectX-4 • BroadcomNetXtreme •

Geneve:WhatIsItandWhyIsOVNUsingIt?

JesseGross,VMware

OVSConference November16,2015

Page 2: Geneve: What Is It and Why Is OVN Using It? · • Linux Debugging Tool: • Wireshark • tcpdump • libpcap NIC: • Intel XL710 • MellanoxConnectX-4 • BroadcomNetXtreme •

ExistingFormats(VXLAN,NVGRE,STT)

• Tiedtocontrolplane,linkingunrelatedcomponents.• Floodandlearn,orothercontrolplanesemantics

• Lackextensibilitytoallowdataplaneinnovation.Possibleusesofextensibility:• Checksums/Encryption• Security- ACLs• OAM• UnknownFuture

2

Page 3: Geneve: What Is It and Why Is OVN Using It? · • Linux Debugging Tool: • Wireshark • tcpdump • libpcap NIC: • Intel XL710 • MellanoxConnectX-4 • BroadcomNetXtreme •

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

Page 4: Geneve: What Is It and Why Is OVN Using It? · • Linux Debugging Tool: • Wireshark • tcpdump • libpcap NIC: • Intel XL710 • MellanoxConnectX-4 • BroadcomNetXtreme •

Geneve Overview

4

• Extensibleencapsulationformattoallowforfutureinnovation

• Decouplecontrolplaneanddataplanecomponentstoallowdifferentratesofevolution

• ContinuetousestandardIPfabricsasanunderlay

• SupportformultipleencapsulatedprotocolsandOAM

Geneve combinesaUDPshim,smallbaseheader,andTLVoptionstoachievethesegoals.

Page 5: Geneve: What Is It and Why Is OVN Using It? · • Linux Debugging Tool: • Wireshark • tcpdump • libpcap NIC: • Intel XL710 • MellanoxConnectX-4 • BroadcomNetXtreme •

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

Page 6: Geneve: What Is It and Why Is OVN Using It? · • Linux Debugging Tool: • Wireshark • tcpdump • libpcap NIC: • Intel XL710 • MellanoxConnectX-4 • BroadcomNetXtreme •

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

Page 7: Geneve: What Is It and Why Is OVN Using It? · • Linux Debugging Tool: • Wireshark • tcpdump • libpcap NIC: • Intel XL710 • MellanoxConnectX-4 • BroadcomNetXtreme •

Geneve InOVN

7

OVNusesGeneve metadatatodirecttrafficthroughthevirtualnetwork.

ThisenablescommonACLsandefficientimplementationofconceptslikemulticastgroups.

Elements:• Datapath ID(24-bits)• IngressPort(15bits)• EgressPort(16bits)

Page 8: Geneve: What Is It and Why Is OVN Using It? · • Linux Debugging Tool: • Wireshark • tcpdump • libpcap NIC: • Intel XL710 • MellanoxConnectX-4 • BroadcomNetXtreme •

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

Page 9: Geneve: What Is It and Why Is OVN Using It? · • Linux Debugging Tool: • Wireshark • tcpdump • libpcap NIC: • Intel XL710 • MellanoxConnectX-4 • BroadcomNetXtreme •

9