Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Open vSwitch
C Python Groff Shell C++ Makefile Other

odp-util: Fix a bug in parse_flag().

This commit fixes a bug in the parse_flag() function which causes
failure of parsing tunnel flags like:

tunnel(tun_id=0x0,src=1.2.3.4,dst=1.2.3.5,tos=0,ttl=64,flags(-df+csum+key))

Reported-by: Jacob Cherkas <jcherkas@nicira.com>
Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
latest commit 125fc6372a
@yew011 yew011 authored
Failed to load latest commit information.
.travis DPDK: add support for v2.0.0
Documentation Documentation: Add documentation of group selection method property
build-aux Remove compiler warning
datapath-windows ovs-hyperv: make kernel return values netlink socket like
datapath datapath: gre: Reset fix_segment pointer.
debian dkms.conf.in: Install all kernel modules.
include Add types for NTR selection method
lib odp-util: Fix a bug in parse_flag().
m4 autoconf: check for linux/perf_event.h
ofproto datapath: Add Stateless TCP Tunneling protocol.
ovsdb ovsdb: integrate perf-counter infrastructure into ovsdb-server
python Allow subclasses of Idl to define a notification hook
rhel rhel: Make Fedora %files and %install section wildcards match.
tests odp-util: Fix a bug in parse_flag().
third-party Use the IANA-assigned ports for OpenFlow and OVSDB.
tutorial ovs-sandbox: add '-r' and '-e' options
utilities ovs-ctl.8: Add a missing synopsis.
vswitchd datapath: Add Stateless TCP Tunneling protocol.
vtep automake.mk: Improve schema checksum error message.
xenserver xenserver: Use kernel uname version for XenServer 6.5
.gitignore gitignore: Add file to .gitignore
.travis.yml travis: Generate new secret key for build@openvswitch.org
AUTHORS datapath: Prevent linker error of unknown symbol.
CONTRIBUTING.md CONTRIBUTING.md: Strengthen testing recommendataions.
COPYING strsep: Copy from netbsd.
CodingStyle.md CodingStyle: recommend PEP 8 for Python code
DESIGN.md ofproto: add support of OFPR_ACTION_SET as packet-in reason for OF1.4+
FAQ.md datapath: Add Stateless TCP Tunneling protocol.
INSTALL.DPDK.md DPDK: add support for v2.0.0
INSTALL.Debian.md doc: Add more cross references between docs
INSTALL.Docker.md INSTALL.Docker: Fix malformed sentence.
INSTALL.Fedora.md doc: Add more cross references between docs
INSTALL.KVM.md doc: Add more cross references between docs
INSTALL.Libvirt.md doc: Add more cross references between docs
INSTALL.NetBSD.md doc: Add more cross references between docs
INSTALL.RHEL.md doc: Add more cross references between docs
INSTALL.SSL.md doc: Add more cross references between docs
INSTALL.Windows.md INSTALL.Windows: external.1 should be part of 'br-pif'
INSTALL.XenServer.md xenserver: Use kernel uname version for XenServer 6.5
INSTALL.md testsuite: Don't apply the testsuite.patch on non-Windows platforms.
INSTALL.userspace.md specify -w to set variables for sysctl(8) on NetBSD
IntegrationGuide.md doc: Convert docs to Markdown language
Makefile.am Makefile.am: Clarify error message about missing distribution files.
NEWS datapath: Add Stateless TCP Tunneling protocol.
NOTICE auto-attach: Initial support for Auto-Attach standard
OPENFLOW-1.1+.md ofproto: add support of OFPR_ACTION_SET as packet-in reason for OF1.4+
PORTING.md doc: Add more cross references between docs
README-lisp.md doc: Convert docs to Markdown language
README-native-tunneling.md ovs-router: Add "ovs/route/lookup" command
README.md docs: Add titles to documentation files that lacked them.
REPORTING-BUGS.md SECURITY: New document describing proposed security process for OVS.
SECURITY.md SECURITY.md: Update.
TODO.md doc: Add more cross references between docs
Vagrantfile Vagrantfile: add test_ovs_kmod provision
WHY-OVS.md doc: Convert docs to Markdown language
acinclude.m4 DPDK: add support for v2.0.0
appveyor.yml appveyor: Build windows kernel datapath.
boot.sh debian: Check for accurate Debian changelog version at build time too.
configure.ac configure.ac: Fix pthread linking on FreeBSD.
manpages.mk dist-docs: New utility to generate a documentation bundle for the web…

README.md

Open vSwitch

Build Status:

Build Status

What is Open vSwitch?

Open vSwitch is a multilayer software switch licensed under the open source Apache 2 license. Our goal is to implement a production quality switch platform that supports standard management interfaces and opens the forwarding functions to programmatic extension and control.

Open vSwitch is well suited to function as a virtual switch in VM environments. In addition to exposing standard control and visibility interfaces to the virtual networking layer, it was designed to support distribution across multiple physical servers. Open vSwitch supports multiple Linux-based virtualization technologies including Xen/XenServer, KVM, and VirtualBox.

The bulk of the code is written in platform-independent C and is easily ported to other environments. The current release of Open vSwitch supports the following features:

  • Standard 802.1Q VLAN model with trunk and access ports
  • NIC bonding with or without LACP on upstream switch
  • NetFlow, sFlow(R), and mirroring for increased visibility
  • QoS (Quality of Service) configuration, plus policing
  • Geneve, GRE, GRE over IPSEC, VXLAN, and LISP tunneling
  • 802.1ag connectivity fault management
  • OpenFlow 1.0 plus numerous extensions
  • Transactional configuration database with C and Python bindings
  • High-performance forwarding using a Linux kernel module

The included Linux kernel module supports Linux 2.6.32 and up, with testing focused on 2.6.32 with Centos and Xen patches. Open vSwitch also has special support for Citrix XenServer and Red Hat Enterprise Linux hosts.

Open vSwitch can also operate, at a cost in performance, entirely in userspace, without assistance from a kernel module. This userspace implementation should be easier to port than the kernel-based switch. It is considered experimental.

What's here?

The main components of this distribution are:

  • ovs-vswitchd, a daemon that implements the switch, along with a companion Linux kernel module for flow-based switching.
  • ovsdb-server, a lightweight database server that ovs-vswitchd queries to obtain its configuration.
  • ovs-dpctl, a tool for configuring the switch kernel module.
  • Scripts and specs for building RPMs for Citrix XenServer and Red Hat Enterprise Linux. The XenServer RPMs allow Open vSwitch to be installed on a Citrix XenServer host as a drop-in replacement for its switch, with additional functionality.
  • ovs-vsctl, a utility for querying and updating the configuration of ovs-vswitchd.
  • ovs-appctl, a utility that sends commands to running Open vSwitch daemons.

Open vSwitch also provides some tools:

  • ovs-ofctl, a utility for querying and controlling OpenFlow switches and controllers.
  • ovs-pki, a utility for creating and managing the public-key infrastructure for OpenFlow switches.
  • ovs-testcontroller, a simple OpenFlow controller that may be useful for testing (though not for production).
  • A patch to tcpdump that enables it to parse OpenFlow messages.

What other documentation is available?

To install Open vSwitch on a regular Linux or FreeBSD host, please read INSTALL.md. For specifics around installation on a specific platform, please see one of these files:

To use Open vSwitch...

For answers to common questions, read FAQ.md.

To learn how to set up SSL support for Open vSwitch, read INSTALL.SSL.md.

To learn about some advanced features of the Open vSwitch software switch, read the tutorial/Tutorial.md.

Each Open vSwitch userspace program is accompanied by a manpage. Many of the manpages are customized to your configuration as part of the build process, so we recommend building Open vSwitch before reading the manpages.

Contact

bugs@openvswitch.org

Something went wrong with that request. Please try again.