
Open vSwitch Release 2.8.0 May 05, 2020 Contents 1 Open vSwitch Documentation1 1.1 How the Documentation is Organised..................................1 1.2 First Steps................................................1 1.3 Deeper Dive...............................................1 1.4 The Open vSwitch Project........................................2 1.5 Getting Help...............................................2 2 Getting Started 3 2.1 What Is Open vSwitch?.........................................4 2.1.1 Overview............................................4 2.1.2 What’s here?..........................................5 2.2 Why Open vSwitch?...........................................5 2.2.1 The mobility of state......................................6 2.2.2 Responding to network dynamics...............................6 2.2.3 Maintenance of logical tags...................................6 2.2.4 Hardware integration......................................6 2.2.5 Summary............................................7 2.3 Installing Open vSwitch.........................................7 2.3.1 Installation from Source....................................7 2.3.2 Installation from Packages................................... 40 2.3.3 Upgrades............................................ 46 2.3.4 Others.............................................. 47 3 Tutorials 51 3.1 Open vSwitch Advanced Features.................................... 51 3.1.1 Getting Started......................................... 51 3.1.2 Using GDB........................................... 52 3.1.3 Motivation............................................ 53 3.1.4 Scenario............................................. 53 3.1.5 Setup.............................................. 54 3.1.6 Implementing Table 0: Admission control........................... 54 3.1.7 Testing Table 0......................................... 55 3.1.8 Implementing Table 1: VLAN Input Processing........................ 56 3.1.9 Testing Table 1......................................... 57 3.1.10 Implementing Table 2: MAC+VLAN Learning for Ingress Port................ 58 3.1.11 Testing Table 2......................................... 59 3.1.12 Implementing Table 3: Look Up Destination Port....................... 60 i 3.1.13 Testing Table 3......................................... 61 3.1.14 Implementing Table 4: Output Processing........................... 63 3.1.15 Testing Table 4......................................... 64 3.2 OVN Sandbox.............................................. 66 3.2.1 Getting Started......................................... 66 3.2.2 Using GDB........................................... 66 3.2.3 Creating OVN Resources.................................... 66 3.2.4 Using ovn-trace......................................... 67 3.3 OVN OpenStack Tutorial........................................ 68 3.3.1 Setting Up DevStack...................................... 68 3.3.2 DevStack preliminaries..................................... 71 3.3.3 Shortening UUIDs....................................... 71 3.3.4 Overview............................................ 72 3.3.5 Switching............................................ 73 3.3.6 Routing............................................. 84 3.3.7 Adding a Gateway....................................... 88 3.3.8 IPv6............................................... 92 3.3.9 ACLs.............................................. 95 3.3.10 DHCP.............................................. 97 3.3.11 Further Directions........................................ 99 4 Deep Dive 101 4.1 OVS................................................... 101 4.1.1 Design Decisions In Open vSwitch............................... 101 4.1.2 Open vSwitch Datapath Development Guide.......................... 116 4.1.3 Integration Guide for Centralized Control........................... 120 4.1.4 Porting Open vSwitch to New Software or Hardware..................... 123 4.1.5 OpenFlow Support in Open vSwitch.............................. 127 4.1.6 Bonding............................................. 132 4.1.7 OVSDB Replication Implementation.............................. 135 4.1.8 The DPDK Datapath...................................... 137 4.1.9 OVS-on-Hyper-V Design.................................... 144 4.1.10 Language Bindings....................................... 150 4.1.11 Testing............................................. 151 4.1.12 Tracing packets inside Open vSwitch.............................. 157 4.1.13 C IDL Compound Indexes................................... 158 4.2 OVN................................................... 162 4.2.1 OVN Gateway High Availability Plan............................. 162 5 How-to Guides 171 5.1 OVS................................................... 171 5.1.1 Open vSwitch with KVM.................................... 171 5.1.2 Open vSwitch with SELinux.................................. 172 5.1.3 Open vSwitch with Libvirt................................... 175 5.1.4 Open vSwitch with SSL.................................... 176 5.1.5 Using LISP tunneling...................................... 180 5.1.6 Connecting VMs Using Tunnels................................ 181 5.1.7 Connecting VMs Using Tunnels (Userspace)......................... 184 5.1.8 Isolating VM Traffic Using VLANs.............................. 188 5.1.9 Quality of Service (QoS) Rate Limiting............................ 190 5.1.10 How to Use the VTEP Emulator................................ 193 5.1.11 Monitoring VM Trafic Using sFlow.............................. 196 5.1.12 Using Open vSwitch with DPDK................................ 199 5.2 OVN................................................... 209 ii 5.2.1 Open Virtual Networking With Docker............................. 209 5.2.2 Integration of Containers with OVN and OpenStack...................... 213 6 Reference Guide 217 6.1 Man Pages................................................ 217 6.1.1 ovs-test............................................. 217 6.1.2 ovs-vlan-test.......................................... 219 7 Open vSwitch FAQ 223 7.1 Basic Configuration........................................... 223 7.2 Development............................................... 226 7.3 Implementation Details......................................... 227 7.4 General.................................................. 228 7.5 Common Configuration Issues...................................... 230 7.6 Using OpenFlow............................................. 235 7.7 Quality of Service (QoS)......................................... 243 7.8 Releases................................................. 245 7.9 Terminology............................................... 248 7.10 VLANs.................................................. 248 7.11 VXLANs................................................. 252 8 Open vSwitch Internals 253 8.1 Contributing to Open vSwitch...................................... 253 8.1.1 Submitting Patches....................................... 253 8.1.2 Backporting patches...................................... 259 8.1.3 Open vSwitch Coding Style.................................. 262 8.1.4 Open vSwitch Windows Datapath Coding Style........................ 270 8.1.5 Open vSwitch Documentation Style.............................. 272 8.1.6 Open vSwitch Library ABI Updates.............................. 278 8.2 Mailing Lists............................................... 280 8.2.1 ovs-announce.......................................... 280 8.2.2 ovs-discuss........................................... 280 8.2.3 ovs-dev............................................. 280 8.2.4 ovs-git.............................................. 280 8.2.5 ovs-build............................................ 280 8.2.6 bugs............................................... 280 8.2.7 security............................................. 280 8.3 Patchwork................................................ 281 8.3.1 pwclient............................................. 281 8.4 Open vSwitch Release Process...................................... 281 8.4.1 Release Strategy........................................ 281 8.4.2 Release Numbering....................................... 282 8.4.3 Release Scheduling....................................... 282 8.4.4 Contact............................................. 282 8.5 Reporting Bugs in Open vSwitch.................................... 282 8.6 Open vSwitch’s Security Process.................................... 283 8.6.1 What is a vulnerability?..................................... 283 8.6.2 Step 1: Reception........................................ 284 8.6.3 Step 2: Assessment....................................... 284 8.6.4 Step 3a: Document....................................... 284 8.6.5 Step 3b: Fix........................................... 286 8.6.6 Step 4: Embargoed Disclosure................................. 286 8.6.7 Step 5: Public Disclosure.................................... 286 8.7 Expectations for Developers with Open vSwitch Repo Access..................... 287 iii 8.7.1 Pre-requisites.......................................... 287 8.7.2 Review............................................. 287 8.7.3 Git conventions......................................... 287 8.8 OVS Committer Grant/Revocation Policy................................ 288 8.8.1 Granting Commit Access.................................... 288 8.8.2 Revoking Commit Access................................... 289 8.8.3 Changing the Policy.....................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages313 Page
-
File Size-