From 2f68823227394f09cce18fa3964fbfbc528274ae Mon Sep 17 00:00:00 2001 From: Guo Ruijing Date: Fri, 5 Aug 2016 10:30:27 +0800 Subject: [PATCH] Add openvswitch-dpdk_2.5.90 debian spec 1. download ovs 2.4.0 debian spec wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0.orig.tar.gz wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.debian.tar.xz dpkg-source -x openvswitch-dpdk_2.4.0-0ubuntu1.dsc 2. remove patch & update debian spec rm debian/patches/*.patch echo > debian/patches/series cat << EOF > debian/changelog openvswitch-dpdk (2.5.90-1) unstable; urgency=low * New upstream version -- Open vSwitch team EOF Change-Id: I33616f5449d463ecadcc4df238c53ec99f6801ff Signed-off-by: Guo Ruijing --- .../debian/automake.mk | 19 + .../openvswitch-dpdk_2.5.90/debian/changelog | 3 + .../openvswitch-dpdk_2.5.90/debian/compat | 1 + .../openvswitch-dpdk_2.5.90/debian/control | 54 ++ .../openvswitch-dpdk_2.5.90/debian/copyright | 716 ++++++++++++++++++ .../debian/copyright.in | 716 ++++++++++++++++++ .../openvswitch-switch-dpdk.README.Debian | 42 + .../debian/openvswitch-switch-dpdk.postinst | 10 + .../debian/openvswitch-switch-dpdk.prerm | 10 + .../debian/ovs-monitor-ipsec | 494 ++++++++++++ .../debian/patches/series | 1 + .../openvswitch-dpdk_2.5.90/debian/rules | 68 ++ .../debian/source/format | 1 + .../debian/tests/common | 23 + .../debian/tests/control | 4 + .../debian/tests/kernel | 5 + .../debian/tests/openflow | 7 + .../debian/tests/openflow.py | 66 ++ .../openvswitch-dpdk_2.5.90/debian/watch | 2 + 19 files changed, 2242 insertions(+) create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/automake.mk create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/changelog create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/compat create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/control create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/copyright create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/copyright.in create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.README.Debian create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.postinst create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.prerm create mode 100755 ovs_build/openvswitch-dpdk_2.5.90/debian/ovs-monitor-ipsec create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/patches/series create mode 100755 ovs_build/openvswitch-dpdk_2.5.90/debian/rules create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/source/format create mode 100755 ovs_build/openvswitch-dpdk_2.5.90/debian/tests/common create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/tests/control create mode 100755 ovs_build/openvswitch-dpdk_2.5.90/debian/tests/kernel create mode 100755 ovs_build/openvswitch-dpdk_2.5.90/debian/tests/openflow create mode 100755 ovs_build/openvswitch-dpdk_2.5.90/debian/tests/openflow.py create mode 100644 ovs_build/openvswitch-dpdk_2.5.90/debian/watch diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/automake.mk b/ovs_build/openvswitch-dpdk_2.5.90/debian/automake.mk new file mode 100644 index 0000000..95e07dd --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/automake.mk @@ -0,0 +1,19 @@ +check-debian-changelog-version: + @DEB_VERSION=`echo '$(VERSION)' | sed 's/pre/~pre/'`; \ + if $(FGREP) '($(DEB_VERSION)' $(srcdir)/debian/changelog >/dev/null; \ + then \ + :; \ + else \ + echo "Update debian/changelog to mention version $(VERSION)"; \ + exit 1; \ + fi +ALL_LOCAL += check-debian-changelog-version +DIST_HOOKS += check-debian-changelog-version + +$(srcdir)/debian/copyright: AUTHORS debian/copyright.in + $(AM_V_GEN) \ + { sed -n -e '/%AUTHORS%/q' -e p < $(srcdir)/debian/copyright.in; \ + sed '1,/^$$/d' $(srcdir)/AUTHORS | \ + sed -n -e '/^$$/q' -e 's/^/ /p'; \ + sed -e '1,/%AUTHORS%/d' $(srcdir)/debian/copyright.in; \ + } > $@ diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/changelog b/ovs_build/openvswitch-dpdk_2.5.90/debian/changelog new file mode 100644 index 0000000..7bcc564 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/changelog @@ -0,0 +1,3 @@ +openvswitch-dpdk (2.5.90-1) unstable; urgency=low + * New upstream version + -- Open vSwitch team diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/compat b/ovs_build/openvswitch-dpdk_2.5.90/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/compat @@ -0,0 +1 @@ +9 diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/control b/ovs_build/openvswitch-dpdk_2.5.90/debian/control new file mode 100644 index 0000000..e7171b9 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/control @@ -0,0 +1,54 @@ +Source: openvswitch-dpdk +Section: net +Priority: extra +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Open vSwitch developers +Uploaders: Ben Pfaff , + Simon Horman , +Build-Depends: autoconf (>= 2.64), + automake (>= 1.10) | automake1.10, + bzip2, + debhelper (>= 9~), + dh-autoreconf, + dh-systemd (>= 1.5), + graphviz, + libdpdk-dev, + libfuse-dev, + libssl-dev, + libtool, + openssl, + procps, + python-all (>= 2.6.6-3~), + python-qt4, + python-twisted-conch, + python-zopeinterface, +Standards-Version: 3.9.6 +Homepage: http://openvswitch.org/ +XS-Testsuite: autopkgtest + +Package: openvswitch-switch-dpdk +Architecture: i386 amd64 +Depends: dpdk, + openvswitch-switch (>= 2.4.0), + ${misc:Depends}, + ${python:Depends}, + ${shlibs:Depends}, +Enhances: openvswitch-switch, +Description: DPDK enabled Open vSwitch switch implementation + Open vSwitch is a production quality, multilayer, software-based, + Ethernet virtual switch. It is designed to enable massive network + automation through programmatic extension, while still supporting + standard management interfaces and protocols (e.g. NetFlow, IPFIX, + sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed + to support distribution across multiple physical servers similar to + VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. + . + openvswitch-switch provides the userspace components and utilities for + the Open vSwitch kernel-based switch. + . + DPDK is a set of libraries for fast packet processing. Applications run + in user-space and communicate directly with dedicated network interfaces. + This package contains the runtime environment to run DPDK applications. + . + This package provides a DPDK enabled implementation of the ovs-vswitchd + binary. diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/copyright b/ovs_build/openvswitch-dpdk_2.5.90/debian/copyright new file mode 100644 index 0000000..d840e4e --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/copyright @@ -0,0 +1,716 @@ +The original sources for this package can be found at: + + http://openvswitch.org/ + +Upstream Authors (from AUTHORS): + +%AUTHORS% + +Upstream Copyright Holders: + + Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc. + Copyright (c) 2010 Jean Tourrilhes - HP-Labs. + Copyright (c) 2008,2009,2010 Citrix Systems, Inc. + and authors listed above. + Copyright (c) 2011 Gaetano Catalli + Copyright (C) 2000-2003 Geoffrey Wossum (gwossum@acm.org) + Copyright (C) 2000 The NetBSD Foundation, Inc. + Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. + Copyright (c) 1982, 1986, 1990, 1993 The Regents of the University of California. + Copyright (c) 2008, 2012 Vincent Bernat + Copyright (c) 2014 Michael Chapman + Copyright (c) 2014 WindRiver, Inc. + Copyright (c) 2014 Avaya, Inc. + +License: + +* The following components are licensed under the + GNU Lesser General Public License version 2.1 only + with the exception clause below as a pre-amble. + + xenserver/etc_xensource_scripts_vif + xenserver/opt_xensource_libexec_InterfaceReconfigure.py + xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py + xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py + xenserver/opt_xensource_libexec_interface-reconfigure + xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py + + * These components are only distributed in the source package. + They do not appear in any binary packages. + + On Debian systems, the complete text of the + GNU Lesser General Public License version 2.1 can be found in + `/usr/share/common-licenses/LGPL-2.1' + + The exception clause pre-amble reads: + + As a special exception to the GNU Lesser General Public License, you + may link, statically or dynamically, a "work that uses the Library" + with a publicly distributed version of the Library to produce an + executable file containing portions of the Library, and distribute + that executable file under terms of your choice, without any of the + additional requirements listed in clause 6 of the GNU Lesser General + Public License. By "a publicly distributed version of the Library", + we mean either the unmodified Library as distributed, or a + modified version of the Library that is distributed under the + conditions defined in clause 3 of the GNU Library General Public + License. This exception does not however invalidate any other reasons + why the executable file might be covered by the GNU Lesser General + Public License. + +* The following components are licensed under the + GNU Lesser General Public License version 2.1. + + utilities/bugtool/ovs-bugtool + utilities/bugtool/ovs-bugtool-* + utilities/bugtool/plugins/kernel-info/openvswitch.xml + utilities/bugtool/plugins/network-status/openvswitch.xml + utilities/bugtool/plugins/system-configuration.xml + utilities/bugtool/plugins/system-configuration/openvswitch.xml + + On Debian systems, the complete text of the + GNU Lesser General Public License version 2.1 can be found in + `/usr/share/common-licenses/LGPL-2.1' + +* The following component is licensed under the GNU General Public License + version 2. + + datapath/ + + On Debian systems, the complete text of the GNU General Public License + version 2 can be found in `/usr/share/common-licenses/GPL-2' + +* The following file is licensed under the GNU General Public License + version 2. + + build-aux/cccl + +* The following files are licensed under the 2-clause BSD license. + + lib/getopt_long.c + include/windows/getopt.h + +* The following files are licensed under the 3-clause BSD-license + + include/windows/netinet/icmp6.h + include/windows/netinet/ip6.h + lib/strsep.c + +* The following components are dual-licensed under the + GNU General Public License version 2 and the Apache License Version 2.0. + + datapath/linux/compat/include/linux/openvswitch.h + + On Debian systems, the complete text of the GNU General Public License + version 2 can be found in `/usr/share/common-licenses/GPL-2'. + On Debian systems, the complete text of the Apache License version 2.0 + can be found in '/usr/share/common-licenses/Apache-2.0'. + +* The following components are licensed under the terms of either the + Sun Industry Standard Source License 1.1 or the InMon sFlow License: + + lib/sflow.h + lib/sflow_agent.c + lib/sflow_api.h + lib/sflow_poller.c + lib/sflow_receiver.c + lib/sflow_sampler.c + + These licenses are available, respectively, the following URLs: + + http://host-sflow.sourceforge.net/sissl.html + http://www.inmon.com/technology/sflowlicense.txt + + The full text of each license is also appended to the end of this + file. + +* The following components are licensed for use as desired without restriction: + + lib/crc32c.c + +* The following components are licensed under the + Python Software Foundation License Version 2. + + python/compat/uuid.py + python/compat/argparse.py + + * These components are only distributed in the source package. + They do not appear in any binary packages. + + PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 + -------------------------------------------- + + 1. This LICENSE AGREEMENT is between the Python Software Foundation + ("PSF"), and the Individual or Organization ("Licensee") accessing and + otherwise using this software ("Python") in source or binary form and + its associated documentation. + + 2. Subject to the terms and conditions of this License Agreement, PSF + hereby grants Licensee a nonexclusive, royalty-free, world-wide + license to reproduce, analyze, test, perform and/or display publicly, + prepare derivative works, distribute, and otherwise use Python + alone or in any derivative version, provided, however, that PSF's + License Agreement and PSF's notice of copyright, i.e., "Copyright (c) + 2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation; + All Rights Reserved" are retained in Python alone or in any derivative + version prepared by Licensee. + + 3. In the event Licensee prepares a derivative work that is based on + or incorporates Python or any part thereof, and wants to make + the derivative work available to others as provided herein, then + Licensee hereby agrees to include in any such work a brief summary of + the changes made to Python. + + 4. PSF is making Python available to Licensee on an "AS IS" + basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR + IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND + DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT + INFRINGE ANY THIRD PARTY RIGHTS. + + 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON + FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS + A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, + OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + + 6. This License Agreement will automatically terminate upon a material + breach of its terms and conditions. + + 7. Nothing in this License Agreement shall be deemed to create any + relationship of agency, partnership, or joint venture between PSF and + Licensee. This License Agreement does not grant permission to use PSF + trademarks or trade name in a trademark sense to endorse or promote + products or services of Licensee, or any third party. + + 8. By copying, installing or otherwise using Python, Licensee + agrees to be bound by the terms and conditions of this License + Agreement. + +* lib/ovs.tmac in the source distribution, and manpages in the + binaries, includes troff macros from groff 1.21 that contain the + following notice: + + .\" an-ext.tmac + .\" + .\" Written by Eric S. Raymond + .\" Werner Lemberg + .\" + .\" Version 2007-Feb-02 + .\" + .\" Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc. + .\" You may freely use, modify and/or distribute this file. + +* m4/absolute-header.m4, by Derek Price, and m4/include_next.m4, by + Paul Eggert and Derek Price bear the following notices: + + Copyright (C) 2006-2013 Free Software Foundation, Inc. + This file is free software; the Free Software Foundation + gives unlimited permission to copy and/or distribute it, + with or without modifications, as long as this notice is preserved. + +* The following files are licensed under the ISC-license + + lib/lldp/aa-structs.h + lib/lldp/lldpd.c + lib/lldp/lldpd.h + lib/lldp/lldpd-structs.c + lib/lldp/lldpd-structs.h + lib/lldp/lldp.c + lib/lldp/lldp-tlv.h + lib/lldp/lldp-const.h + +* All other components of this package are licensed under + The Apache License Version 2.0. + + On Debian systems, the complete text of the Apache License version 2.0 + can be found in '/usr/share/common-licenses/Apache-2.0'. + +---------------------------------------------------------------------- + +Retrieved from http://host-sflow.sourceforge.net/sissl.html, 2011-12-12: + + Sun Industry Standards Source License - Version 1.1 + + 1.0 DEFINITIONS + + 1.1 "Commercial Use" means distribution or otherwise making the + Original Code available to a third party. + + 1.2 "Contributor Version" means the combination of the Original Code, + and the Modifications made by that particular Contributor. + + 1.3 "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.4 "Executable" means Original Code in any form other than Source + Code. + + 1.5 "Initial Developer" means the individual or entity identified as + the Initial Developer in the Source Code notice required by Exhibit A. + + 1.6 "Larger Work" means a work which combines Original Code or portions + thereof with code not governed by the terms of this License. + + 1.7 "License" means this document. + + 1.8 "Licensable" means having the right to grant, to the maximum extent + possible, whether at the time of the initial grant or subsequently + acquired, any and all of the rights conveyed herein. + + 1.9 "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. A Modification is: + + A. Any addition to or deletion from the contents of a file containing + Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or previous + Modifications. + + 1.10 "Original Code" means Source Code of computer software code which + is described in the Source Code notice required by Exhibit A as + Original Code. + + 1.11 "Patent Claims" means any patent claim(s), now owned or hereafter + acquired, including without limitation, method, process, and apparatus + claims, in any patent Licensable by grantor. + + 1.12 "Source Code" means the preferred form of the Original Code for + making modifications to it, including all modules it contains, plus any + associated interface definition files, or scripts used to control + compilation and installation of an Executable. + + 1.13 "Standards" means the standards identified in Exhibit B. + + 1.14 "You" (or "Your") means an individual or a legal entity exercising + rights under, and complying with all of the terms of, this License or a + future version of this License issued under Section 6.1. For legal + entities, "You'' includes any entity which controls, is controlled by, + or is under common control with You. For purposes of this definition, + "control'' means (a) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + 2.0 SOURCE CODE LICENSE + + 2.1 The Initial Developer Grant + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + + (a) under intellectual property rights (other than patent or trademark) + Licensable by Initial Developer to use, reproduce, modify, display, + perform, sublicense and distribute the Original Code (or portions + thereof) with or without Modifications, and/or as part of a Larger + Work; and + + (b) under Patents Claims infringed by the making, using or selling of + Original Code, to make, have made, use, practice, sell, and offer for + sale, and/or otherwise dispose of the Original Code (or portions + thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are effective + on the date Initial Developer first distributes Original Code under the + terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is granted: + 1) for code that You delete from the Original Code; 2) separate from + the Original Code; or 3) for infringements caused by: i) the + modification of the Original Code or ii) the combination of the + Original Code with other software or devices, including but not limited + to Modifications. + 3.0 DISTRIBUTION OBLIGATIONS + + 3.1 Application of License. + The Source Code version of Original Code may be distributed only under + the terms of this License or a future version of this License released + under Section 6.1, and You must include a copy of this License with + every copy of the Source Code You distribute. You may not offer or + impose any terms on any Source Code version that alters or restricts + the applicable version of this License or the recipients' rights + hereunder. Your license for shipment of the Contributor Version is + conditioned upon Your full compliance with this Section. The + Modifications which You create must comply with all requirements set + out by the Standards body in effect one hundred twenty (120) days + before You ship the Contributor Version. In the event that the + Modifications do not meet such requirements, You agree to publish + either (i) any deviation from the Standards protocol resulting from + implementation of Your Modifications and a reference implementation of + Your Modifications or (ii) Your Modifications in Source Code form, and + to make any such deviation and reference implementation or + Modifications available to all third parties under the same terms as + this license on a royalty free basis within thirty (30) days of Your + first customer shipment of Your Modifications. + + 3.2 Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely to + look for such a notice. If You created one or more Modification(s) You + may add Your name as a Contributor to the notice described in Exhibit + A. You must also duplicate this License in any documentation for the + Source Code where You describe recipients' rights or ownership rights + relating to Initial Code. You may choose to offer, and to charge a fee + for, warranty, support, indemnity or liability obligations to one or + more recipients of Your version of the Code. However, You may do so + only on Your own behalf, and not on behalf of the Initial Developer. + You must make it absolutely clear than any such warranty, support, + indemnity or liability obligation is offered by You alone, and You + hereby agree to indemnify the Initial Developer for any liability + incurred by the Initial Developer as a result of warranty, support, + indemnity or liability terms You offer. + + 3.3 Distribution of Executable Versions. + You may distribute Original Code in Executable and Source form only if + the requirements of Sections 3.1 and 3.2 have been met for that + Original Code, and if You include a notice stating that the Source Code + version of the Original Code is available under the terms of this + License. The notice must be conspicuously included in any notice in an + Executable or Source versions, related documentation or collateral in + which You describe recipients' rights relating to the Original Code. + You may distribute the Executable and Source versions of Your version + of the Code or ownership rights under a license of Your choice, which + may contain terms different from this License, provided that You are in + compliance with the terms of this License. If You distribute the + Executable and Source versions under a different license You must make + it absolutely clear that any terms which differ from this License are + offered by You alone, not by the Initial Developer. You hereby agree to + indemnify the Initial Developer for any liability incurred by the + Initial Developer as a result of any such terms You offer. + + 3.4 Larger Works. + You may create a Larger Work by combining Original Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Original Code. + + 4.0 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Original Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.2 and must be + included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + + 5.0 APPLICATION OF THIS LICENSE + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Modifications as set + out in Section 3.1. + + 6.0 VERSIONS OF THE LICENSE + + 6.1 New Versions. + Sun may publish revised and/or new versions of the License from time to + time. Each version will be given a distinguishing version number. + + 6.2 Effect of New Versions. + Once Original Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Original Code under the terms + of any subsequent version of the License published by Sun. No one other + than Sun has the right to modify the terms applicable to Original Code. + + 7.0 DISCLAIMER OF WARRANTY + + ORIGINAL CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE ORIGINAL CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ORIGINAL CODE + IS WITH YOU. SHOULD ANY ORIGINAL CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER) ASSUME THE COST OF ANY NECESSARY + SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY + CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY ORIGINAL + CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + + 8.0 TERMINATION + + 8.1 This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Original Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2 In the event of termination under Section 8.1 above, all end user + license agreements (excluding distributors and resellers) which have + been validly granted by You or any distributor hereunder prior to + termination shall survive termination. + + 9.0 LIMIT OF LIABILITY + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF ORIGINAL CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY + INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS + EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + + 10.0 U.S. GOVERNMENT END USERS + + U.S. Government: If this Software is being acquired by or on behalf of + the U.S. Government or by a U.S. Government prime contractor or + subcontractor (at any tier), then the Government's rights in the + Software and accompanying documentation shall be only as set forth in + this license; this is in accordance with 48 C.F.R. 227.7201 through + 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48 + C.F.R. 2.101 and 12.212 (for non-DoD acquisitions). + + 11.0 MISCELLANEOUS + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if any, + provides otherwise), excluding its conflict-of-law provisions. With + respect to disputes in which at least one party is a citizen of, or an + entity chartered or registered to do business in the United States of + America, any litigation relating to this License shall be subject to + the jurisdiction of the Federal Courts of the Northern District of + California, with venue lying in Santa Clara County, California, with + the losing party responsible for costs, including without limitation, + court costs and reasonable attorneys' fees and expenses. The + application of the United Nations Convention on Contracts for the + International Sale of Goods is expressly excluded. Any law or + regulation which provides that the language of a contract shall be + construed against the drafter shall not apply to this License. + + EXHIBIT A - Sun Standards License +"The contents of this file are subject to the Sun Standards +License Version 1.1 (the "License"); +You may not use this file except in compliance with the +License. You may obtain a copy of the +License at _______________________________. + +Software distributed under the License is distributed on +an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either +express or implied. See the License for the specific +language governing rights and limitations under the License. + +The Original Code is ______________________________________. + +The Initial Developer of the Original Code is: +InMon Corp. + +Portions created by: _______________________________________ + +are Copyright (C): _______________________________________ + +All Rights Reserved. + +Contributor(s): _______________________________________ + + EXHIBIT B - Standards + + The Standard is defined as the following: + + sFlow Specification, located at + [1]http://sflow.org/developers/specifications.php + +References + + 1. http://sflow.org/developers/specifications.php + +---------------------------------------------------------------------- + +Retrieved from http://www.inmon.com/technology/sflowlicense.txt, 2011-12-12: + +LICENSE AGREEMENT + +PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY BEFORE REPRODUCING OR IN ANY WAY +UTILIZING THE sFlow(R) SOFTWARE ("SOFTWARE") AND/OR ANY ACCOMPANYING DOCUMENTATION +("DOCUMENTATION") AND/OR THE RELATED SPECIFICATIONS ("SPECIFICATIONS"). YOUR REPRODUCTION +OR USE OF THE SOFTWARE AND/OR THE DOCUMENTATION AND/OR THE SPECIFICATIONS CONSTITUTES YOUR +ACCEPTANCE OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO BE BOUND +BY THE TERMS AND CONDITIONS OF THIS AGREEMENT, YOU MAY NOT REPRODUCE OR IN ANY WAY UTILIZE +THE SOFTWARE OR THE DOCUMENTATION OR THE SPECIFICATIONS. + +1. Definitions. + +"Documentation" means the user manuals, training materials, and operating materials, if any, +InMon provides to Licensee under this Agreement. + +"InMon" means InMon Corporation, its affiliates and subsidiaries. + +"Intellectual Property Rights" means any trade secrets, patents, including without +limitation any patents covering the Software, copyrights, know-how, moral rights and +similar rights of any type under the laws of any governmental authority, domestic or +foreign, including all applications and registrations relating to any of the foregoing. + +"Licensee Hardware" means all computers, routers, or other equipment owned or controlled by +or on behalf of Licensee. + +"Products" means any and all software applications, computers, routers, or other equipment +manufactured by or on behalf of Licensee for the purpose of resale or lease to any other +third party, or otherwise made available by Licensee free of charge. + +"Software" means the sFlow(R) software programs, in source or binary code format, that +Licensee licenses from InMon under this Agreement and any bug fixes or error corrections +which InMon may provide to Licensee. + +"Specifications" means the published specifications provided or otherwise made available by +InMon at: http://www.sflow.org. + +"Trademark" means InMon's "sFlow(R)" trademark. + +2. License Grant. + +2.1 Software, Documentation and Specifications License Grant. InMon hereby grants to +Licensee, under all of InMon's Intellectual Property Rights therein, a perpetual (subject +to InMon's termination rights under Section 7 below), nonexclusive, royalty-free, worldwide, +transferable, sublicensable license, to: (i) use and reproduce the Software, the +Documentation, and the Specifications; (ii) modify the Software; (iii) implement the +Specifications in the Products; (iv) install the Software, or software in which the +Specifications have been implemented, on Licensee Hardware and Products, and (v) distribute +any Products that include the Software, the Documentation, or software in which the +Specifications have been implemented. + +2.2 Trademark License. InMon hereby grants to Licensee a perpetual (subject to InMon's +termination rights under Section 7 below), nonexclusive, royalty-free, worldwide, +transferable, sublicensable license to use the Trademark on or in connection with the +Software, the Documentation, the Specifications and any software that implements the +Specifications. + +2.3 Restrictions. Licensee agrees that it will not use the Software in a way +inconsistent with the license granted in Section 2.1. Further, Licensee agrees that, in +exercising its rights under the license granted to it in this Agreement, Licensee will: +(i) strictly adhere to and fully comply with the Specifications; (ii) use the Trademark, +and no other mark, to identify the Software, the Documentation, the Specifications and any +Products that implement the Specifications; (iii) place, in a font or graphic design +designated by InMon, the phrase "sFlow(R)" on any technical documentation, +sales/marketing materials, catalogs, or other such materials relating to products it +manufactures or markets which it has configured to be compatible with the Software or +otherwise implement the Specifications; (iv) in connection with any Products shipped to or +sold in other countries that include the Software or any software that implements the +Specifications, comply with the patent and trademark laws and practice of such other +country; and (v) not alter or impair any acknowledgment of copyright or trademark rights of +InMon that may appear in or on the Software, the Documentation or the Specifications. In +the event InMon determines that Licensee is not complying with its obligations under +clauses (i)-(v) above, InMon shall notify Licensee of such non-compliance, and if Licensee +fails to correct such non-compliance within three (3) months, InMon may immediately +terminate this Agreement as provided under paragraph 7 below and pursue any and all +actions and remedies as it deems necessary, including, but not limited to breach of +contract. + +3. Ownership. Except for the license expressly granted in Section 2, Inmon hereby +retains all right, title, and interest in and to the Trademark and all its Intellectual +Property Rights in the Software, the Documentation and the Specifications. Licensee +obtains no rights hereunder in the Trademark, Software, Documentation or Specifications by +implication, estoppel or otherwise. Licensee acknowledges that the Trademark, Software, +Documentation and Specifications are being licensed and not sold under this Agreement, and +that this Agreement does not transfer title in the Trademark, Software, Documentation or +Specifications, or any copy thereof, to Licensee. + +4. Support. Inmon shall have no obligation under this Agreement to (a) supply +maintenance or support, bug fixes or error corrections to the Licensed Software, +(b) supply future versions of the Licensed Software or (c) provide Licensed Software +development tools to Licensee. + +5. Warranty. INMON HEREBY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS, IMPLIED OR +STATUTORY, WITH RESPECT TO THE TRADEMARK, THE SOFTWARE, THE DOCUMENTATION, THE +SPECIFICATIONS. OR OTHERWISE, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF ANY INTELLECTUAL +PROPERTY RIGHTS. + +6. Limitation of Liability. IN NO EVENT SHALL INMON OR ITS SUPPLIERS OR LICENSORS BE +LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT OR EXEMPLARY DAMAGES WHATSOEVER, +WHETHER RELATED TO OR ARISING OUT OF THIS AGREEMENT, THE TRADEMARK, THE SOFTWARE, THE +DOCUMENTATION, THE SPECIFICATIONS, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, DAMAGES FOR +LOSS OF PROFITS, BUSINESS INTERRUPTION, LOSS OF DATA, COSTS OF PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES OR FOR ANY CLAIM OR DEMAND AGAINST LICENSEE BY ANY OTHER PARTY, OR OTHER +PECUNIARY LOSS, EVEN IF INMON HAS BEEN ADVISED OF OR KNOWS OF THE POSSIBILITY OF SUCH +DAMAGES. + +7. Term and Termination. The term of this Agreement will begin on the Effective Date, +which shall be deemed to be the date of delivery of the Software and/or Documentation and/or +Specifications to Licensee, and shall continue indefinitely unless and until terminated by +Licensee's giving written notice of termination to InMon, or by InMon pursuant to InMon's +termination rights as set forth in Section 2.3 above. Upon any termination of this +Agreement, Licensee shall cease exercising its license rights under this Agreement, +including the right to distribute Products that incorporate the Software or Documentation +or that implement the Specifications. The rights and obligations contained in Sections 1, +3, 5, 6, 7, and 8 shall survive any termination of this Agreement. + +8. General Provisions. + +8.1 Assignment. This Agreement shall be binding upon and inure to the benefit of the +parties hereto and their permitted successors and permitted assigns. InMon will have the +right to assign this Agreement without notice to Licensee. Licensee may assign or transfer +(whether by merger, operation of law or in any other manner) any of its rights or delegate +any of its obligations hereunder without the prior written consent of InMon, provided the +assignee assumes in writing all of Licensee's obligations hereunder. + +8.2 Notices. All notices permitted or required under this Agreement shall be in +writing and shall be delivered in person or mailed by first class, registered or certified +mail, postage prepaid, to the address of the party specified in this Agreement or such +other address as either party may specify in writing. Such notice shall be deemed to have +been given upon receipt. + +8.3 Non-Waiver. No term or provision hereof shall be deemed waived, and no breach +excused, unless such waiver or consent shall be in writing and signed by the party claimed +to have waived or consented. Any consent or waiver, whether express or implied, shall not +constitute a consent or waiver of, or excuse for any separate, different or subsequent +breach. + +8.4 Independent Contractor. The parties' relationship shall be solely that of +independent contractors, and nothing contained in this Agreement shall be construed to make +either party an agent, partner, representative or principal of the other for any purpose. + +8.5 Choice of Law and Forum. This Agreement shall be governed by and construed under +the laws of the State of California, without giving effect to such state's conflict of laws +principles. The parties hereby submit to the personal jurisdiction of, and agree that any +legal proceeding with respect to or arising under this Agreement shall be brought in, the +United States District Court for the Northern District of California or the state courts +of the State of California for the County of San Francisco. + +8.6 U.S. Government Licenses. The Software and Documentation are considered a +"commercial item" as that term is defined at 48 C.F.R 2.101, or "commercial computer +software" and "commercial computer software documentation" as such terms are used in +48 C.F.R 12.212 of the Federal Acquisition Regulations and its successors, and +48 C.F.R. 227.7202 of the DoD FAR Supplement and its successors. + +8.7 Severability. If any provision of this Agreement is held to be unenforceable under +applicable law, then such provision shall be excluded from this Agreement and the balance +of this Agreement shall be interpreted as if such provision were so excluded and shall be +enforceable in accordance with its terms. The court in its discretion may substitute for +the excluded provision an enforceable provision which in economic substance reasonably +approximates the excluded provision. + +8.8 Compliance With Law. Licensee shall comply with all applicable laws and +regulations (including privacy laws and regulations) having application to or governing its + use and/or operation of the Software and agrees to indemnify and hold InMon harmless from +and against any claims, damages, losses or obligations suffered or incurred by InMon +arising from its failure to so comply. + +8.9 Entire Agreement; Amendment. This Agreement constitutes the final, complete and +entire agreement between the parties with respect to the subject matter hereof, and +supersedes any previous proposals, negotiations, agreements, or arrangements, whether +verbal or written, made between the parties with respect to such subject matter. This +Agreement shall control over any additional or conflicting terms in any of Licensee's +purchase orders or other business forms. This Agreement may only be amended or modified +by mutual agreement of authorized representatives of the parties in writing. + +InMon Corp. +580 California Street, 5th Floor, San Francisco, CA 94104 +Phone: (415) 283-3260 +URL: www.inmon.com +Email: info@inmon.com diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/copyright.in b/ovs_build/openvswitch-dpdk_2.5.90/debian/copyright.in new file mode 100644 index 0000000..d840e4e --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/copyright.in @@ -0,0 +1,716 @@ +The original sources for this package can be found at: + + http://openvswitch.org/ + +Upstream Authors (from AUTHORS): + +%AUTHORS% + +Upstream Copyright Holders: + + Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc. + Copyright (c) 2010 Jean Tourrilhes - HP-Labs. + Copyright (c) 2008,2009,2010 Citrix Systems, Inc. + and authors listed above. + Copyright (c) 2011 Gaetano Catalli + Copyright (C) 2000-2003 Geoffrey Wossum (gwossum@acm.org) + Copyright (C) 2000 The NetBSD Foundation, Inc. + Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. + Copyright (c) 1982, 1986, 1990, 1993 The Regents of the University of California. + Copyright (c) 2008, 2012 Vincent Bernat + Copyright (c) 2014 Michael Chapman + Copyright (c) 2014 WindRiver, Inc. + Copyright (c) 2014 Avaya, Inc. + +License: + +* The following components are licensed under the + GNU Lesser General Public License version 2.1 only + with the exception clause below as a pre-amble. + + xenserver/etc_xensource_scripts_vif + xenserver/opt_xensource_libexec_InterfaceReconfigure.py + xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py + xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py + xenserver/opt_xensource_libexec_interface-reconfigure + xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py + + * These components are only distributed in the source package. + They do not appear in any binary packages. + + On Debian systems, the complete text of the + GNU Lesser General Public License version 2.1 can be found in + `/usr/share/common-licenses/LGPL-2.1' + + The exception clause pre-amble reads: + + As a special exception to the GNU Lesser General Public License, you + may link, statically or dynamically, a "work that uses the Library" + with a publicly distributed version of the Library to produce an + executable file containing portions of the Library, and distribute + that executable file under terms of your choice, without any of the + additional requirements listed in clause 6 of the GNU Lesser General + Public License. By "a publicly distributed version of the Library", + we mean either the unmodified Library as distributed, or a + modified version of the Library that is distributed under the + conditions defined in clause 3 of the GNU Library General Public + License. This exception does not however invalidate any other reasons + why the executable file might be covered by the GNU Lesser General + Public License. + +* The following components are licensed under the + GNU Lesser General Public License version 2.1. + + utilities/bugtool/ovs-bugtool + utilities/bugtool/ovs-bugtool-* + utilities/bugtool/plugins/kernel-info/openvswitch.xml + utilities/bugtool/plugins/network-status/openvswitch.xml + utilities/bugtool/plugins/system-configuration.xml + utilities/bugtool/plugins/system-configuration/openvswitch.xml + + On Debian systems, the complete text of the + GNU Lesser General Public License version 2.1 can be found in + `/usr/share/common-licenses/LGPL-2.1' + +* The following component is licensed under the GNU General Public License + version 2. + + datapath/ + + On Debian systems, the complete text of the GNU General Public License + version 2 can be found in `/usr/share/common-licenses/GPL-2' + +* The following file is licensed under the GNU General Public License + version 2. + + build-aux/cccl + +* The following files are licensed under the 2-clause BSD license. + + lib/getopt_long.c + include/windows/getopt.h + +* The following files are licensed under the 3-clause BSD-license + + include/windows/netinet/icmp6.h + include/windows/netinet/ip6.h + lib/strsep.c + +* The following components are dual-licensed under the + GNU General Public License version 2 and the Apache License Version 2.0. + + datapath/linux/compat/include/linux/openvswitch.h + + On Debian systems, the complete text of the GNU General Public License + version 2 can be found in `/usr/share/common-licenses/GPL-2'. + On Debian systems, the complete text of the Apache License version 2.0 + can be found in '/usr/share/common-licenses/Apache-2.0'. + +* The following components are licensed under the terms of either the + Sun Industry Standard Source License 1.1 or the InMon sFlow License: + + lib/sflow.h + lib/sflow_agent.c + lib/sflow_api.h + lib/sflow_poller.c + lib/sflow_receiver.c + lib/sflow_sampler.c + + These licenses are available, respectively, the following URLs: + + http://host-sflow.sourceforge.net/sissl.html + http://www.inmon.com/technology/sflowlicense.txt + + The full text of each license is also appended to the end of this + file. + +* The following components are licensed for use as desired without restriction: + + lib/crc32c.c + +* The following components are licensed under the + Python Software Foundation License Version 2. + + python/compat/uuid.py + python/compat/argparse.py + + * These components are only distributed in the source package. + They do not appear in any binary packages. + + PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 + -------------------------------------------- + + 1. This LICENSE AGREEMENT is between the Python Software Foundation + ("PSF"), and the Individual or Organization ("Licensee") accessing and + otherwise using this software ("Python") in source or binary form and + its associated documentation. + + 2. Subject to the terms and conditions of this License Agreement, PSF + hereby grants Licensee a nonexclusive, royalty-free, world-wide + license to reproduce, analyze, test, perform and/or display publicly, + prepare derivative works, distribute, and otherwise use Python + alone or in any derivative version, provided, however, that PSF's + License Agreement and PSF's notice of copyright, i.e., "Copyright (c) + 2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation; + All Rights Reserved" are retained in Python alone or in any derivative + version prepared by Licensee. + + 3. In the event Licensee prepares a derivative work that is based on + or incorporates Python or any part thereof, and wants to make + the derivative work available to others as provided herein, then + Licensee hereby agrees to include in any such work a brief summary of + the changes made to Python. + + 4. PSF is making Python available to Licensee on an "AS IS" + basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR + IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND + DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT + INFRINGE ANY THIRD PARTY RIGHTS. + + 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON + FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS + A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, + OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + + 6. This License Agreement will automatically terminate upon a material + breach of its terms and conditions. + + 7. Nothing in this License Agreement shall be deemed to create any + relationship of agency, partnership, or joint venture between PSF and + Licensee. This License Agreement does not grant permission to use PSF + trademarks or trade name in a trademark sense to endorse or promote + products or services of Licensee, or any third party. + + 8. By copying, installing or otherwise using Python, Licensee + agrees to be bound by the terms and conditions of this License + Agreement. + +* lib/ovs.tmac in the source distribution, and manpages in the + binaries, includes troff macros from groff 1.21 that contain the + following notice: + + .\" an-ext.tmac + .\" + .\" Written by Eric S. Raymond + .\" Werner Lemberg + .\" + .\" Version 2007-Feb-02 + .\" + .\" Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc. + .\" You may freely use, modify and/or distribute this file. + +* m4/absolute-header.m4, by Derek Price, and m4/include_next.m4, by + Paul Eggert and Derek Price bear the following notices: + + Copyright (C) 2006-2013 Free Software Foundation, Inc. + This file is free software; the Free Software Foundation + gives unlimited permission to copy and/or distribute it, + with or without modifications, as long as this notice is preserved. + +* The following files are licensed under the ISC-license + + lib/lldp/aa-structs.h + lib/lldp/lldpd.c + lib/lldp/lldpd.h + lib/lldp/lldpd-structs.c + lib/lldp/lldpd-structs.h + lib/lldp/lldp.c + lib/lldp/lldp-tlv.h + lib/lldp/lldp-const.h + +* All other components of this package are licensed under + The Apache License Version 2.0. + + On Debian systems, the complete text of the Apache License version 2.0 + can be found in '/usr/share/common-licenses/Apache-2.0'. + +---------------------------------------------------------------------- + +Retrieved from http://host-sflow.sourceforge.net/sissl.html, 2011-12-12: + + Sun Industry Standards Source License - Version 1.1 + + 1.0 DEFINITIONS + + 1.1 "Commercial Use" means distribution or otherwise making the + Original Code available to a third party. + + 1.2 "Contributor Version" means the combination of the Original Code, + and the Modifications made by that particular Contributor. + + 1.3 "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.4 "Executable" means Original Code in any form other than Source + Code. + + 1.5 "Initial Developer" means the individual or entity identified as + the Initial Developer in the Source Code notice required by Exhibit A. + + 1.6 "Larger Work" means a work which combines Original Code or portions + thereof with code not governed by the terms of this License. + + 1.7 "License" means this document. + + 1.8 "Licensable" means having the right to grant, to the maximum extent + possible, whether at the time of the initial grant or subsequently + acquired, any and all of the rights conveyed herein. + + 1.9 "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. A Modification is: + + A. Any addition to or deletion from the contents of a file containing + Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or previous + Modifications. + + 1.10 "Original Code" means Source Code of computer software code which + is described in the Source Code notice required by Exhibit A as + Original Code. + + 1.11 "Patent Claims" means any patent claim(s), now owned or hereafter + acquired, including without limitation, method, process, and apparatus + claims, in any patent Licensable by grantor. + + 1.12 "Source Code" means the preferred form of the Original Code for + making modifications to it, including all modules it contains, plus any + associated interface definition files, or scripts used to control + compilation and installation of an Executable. + + 1.13 "Standards" means the standards identified in Exhibit B. + + 1.14 "You" (or "Your") means an individual or a legal entity exercising + rights under, and complying with all of the terms of, this License or a + future version of this License issued under Section 6.1. For legal + entities, "You'' includes any entity which controls, is controlled by, + or is under common control with You. For purposes of this definition, + "control'' means (a) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + 2.0 SOURCE CODE LICENSE + + 2.1 The Initial Developer Grant + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + + (a) under intellectual property rights (other than patent or trademark) + Licensable by Initial Developer to use, reproduce, modify, display, + perform, sublicense and distribute the Original Code (or portions + thereof) with or without Modifications, and/or as part of a Larger + Work; and + + (b) under Patents Claims infringed by the making, using or selling of + Original Code, to make, have made, use, practice, sell, and offer for + sale, and/or otherwise dispose of the Original Code (or portions + thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are effective + on the date Initial Developer first distributes Original Code under the + terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is granted: + 1) for code that You delete from the Original Code; 2) separate from + the Original Code; or 3) for infringements caused by: i) the + modification of the Original Code or ii) the combination of the + Original Code with other software or devices, including but not limited + to Modifications. + 3.0 DISTRIBUTION OBLIGATIONS + + 3.1 Application of License. + The Source Code version of Original Code may be distributed only under + the terms of this License or a future version of this License released + under Section 6.1, and You must include a copy of this License with + every copy of the Source Code You distribute. You may not offer or + impose any terms on any Source Code version that alters or restricts + the applicable version of this License or the recipients' rights + hereunder. Your license for shipment of the Contributor Version is + conditioned upon Your full compliance with this Section. The + Modifications which You create must comply with all requirements set + out by the Standards body in effect one hundred twenty (120) days + before You ship the Contributor Version. In the event that the + Modifications do not meet such requirements, You agree to publish + either (i) any deviation from the Standards protocol resulting from + implementation of Your Modifications and a reference implementation of + Your Modifications or (ii) Your Modifications in Source Code form, and + to make any such deviation and reference implementation or + Modifications available to all third parties under the same terms as + this license on a royalty free basis within thirty (30) days of Your + first customer shipment of Your Modifications. + + 3.2 Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely to + look for such a notice. If You created one or more Modification(s) You + may add Your name as a Contributor to the notice described in Exhibit + A. You must also duplicate this License in any documentation for the + Source Code where You describe recipients' rights or ownership rights + relating to Initial Code. You may choose to offer, and to charge a fee + for, warranty, support, indemnity or liability obligations to one or + more recipients of Your version of the Code. However, You may do so + only on Your own behalf, and not on behalf of the Initial Developer. + You must make it absolutely clear than any such warranty, support, + indemnity or liability obligation is offered by You alone, and You + hereby agree to indemnify the Initial Developer for any liability + incurred by the Initial Developer as a result of warranty, support, + indemnity or liability terms You offer. + + 3.3 Distribution of Executable Versions. + You may distribute Original Code in Executable and Source form only if + the requirements of Sections 3.1 and 3.2 have been met for that + Original Code, and if You include a notice stating that the Source Code + version of the Original Code is available under the terms of this + License. The notice must be conspicuously included in any notice in an + Executable or Source versions, related documentation or collateral in + which You describe recipients' rights relating to the Original Code. + You may distribute the Executable and Source versions of Your version + of the Code or ownership rights under a license of Your choice, which + may contain terms different from this License, provided that You are in + compliance with the terms of this License. If You distribute the + Executable and Source versions under a different license You must make + it absolutely clear that any terms which differ from this License are + offered by You alone, not by the Initial Developer. You hereby agree to + indemnify the Initial Developer for any liability incurred by the + Initial Developer as a result of any such terms You offer. + + 3.4 Larger Works. + You may create a Larger Work by combining Original Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Original Code. + + 4.0 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Original Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.2 and must be + included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + + 5.0 APPLICATION OF THIS LICENSE + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Modifications as set + out in Section 3.1. + + 6.0 VERSIONS OF THE LICENSE + + 6.1 New Versions. + Sun may publish revised and/or new versions of the License from time to + time. Each version will be given a distinguishing version number. + + 6.2 Effect of New Versions. + Once Original Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Original Code under the terms + of any subsequent version of the License published by Sun. No one other + than Sun has the right to modify the terms applicable to Original Code. + + 7.0 DISCLAIMER OF WARRANTY + + ORIGINAL CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE ORIGINAL CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ORIGINAL CODE + IS WITH YOU. SHOULD ANY ORIGINAL CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER) ASSUME THE COST OF ANY NECESSARY + SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY + CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY ORIGINAL + CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + + 8.0 TERMINATION + + 8.1 This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Original Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2 In the event of termination under Section 8.1 above, all end user + license agreements (excluding distributors and resellers) which have + been validly granted by You or any distributor hereunder prior to + termination shall survive termination. + + 9.0 LIMIT OF LIABILITY + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF ORIGINAL CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY + INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS + EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + + 10.0 U.S. GOVERNMENT END USERS + + U.S. Government: If this Software is being acquired by or on behalf of + the U.S. Government or by a U.S. Government prime contractor or + subcontractor (at any tier), then the Government's rights in the + Software and accompanying documentation shall be only as set forth in + this license; this is in accordance with 48 C.F.R. 227.7201 through + 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48 + C.F.R. 2.101 and 12.212 (for non-DoD acquisitions). + + 11.0 MISCELLANEOUS + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if any, + provides otherwise), excluding its conflict-of-law provisions. With + respect to disputes in which at least one party is a citizen of, or an + entity chartered or registered to do business in the United States of + America, any litigation relating to this License shall be subject to + the jurisdiction of the Federal Courts of the Northern District of + California, with venue lying in Santa Clara County, California, with + the losing party responsible for costs, including without limitation, + court costs and reasonable attorneys' fees and expenses. The + application of the United Nations Convention on Contracts for the + International Sale of Goods is expressly excluded. Any law or + regulation which provides that the language of a contract shall be + construed against the drafter shall not apply to this License. + + EXHIBIT A - Sun Standards License +"The contents of this file are subject to the Sun Standards +License Version 1.1 (the "License"); +You may not use this file except in compliance with the +License. You may obtain a copy of the +License at _______________________________. + +Software distributed under the License is distributed on +an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either +express or implied. See the License for the specific +language governing rights and limitations under the License. + +The Original Code is ______________________________________. + +The Initial Developer of the Original Code is: +InMon Corp. + +Portions created by: _______________________________________ + +are Copyright (C): _______________________________________ + +All Rights Reserved. + +Contributor(s): _______________________________________ + + EXHIBIT B - Standards + + The Standard is defined as the following: + + sFlow Specification, located at + [1]http://sflow.org/developers/specifications.php + +References + + 1. http://sflow.org/developers/specifications.php + +---------------------------------------------------------------------- + +Retrieved from http://www.inmon.com/technology/sflowlicense.txt, 2011-12-12: + +LICENSE AGREEMENT + +PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY BEFORE REPRODUCING OR IN ANY WAY +UTILIZING THE sFlow(R) SOFTWARE ("SOFTWARE") AND/OR ANY ACCOMPANYING DOCUMENTATION +("DOCUMENTATION") AND/OR THE RELATED SPECIFICATIONS ("SPECIFICATIONS"). YOUR REPRODUCTION +OR USE OF THE SOFTWARE AND/OR THE DOCUMENTATION AND/OR THE SPECIFICATIONS CONSTITUTES YOUR +ACCEPTANCE OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO BE BOUND +BY THE TERMS AND CONDITIONS OF THIS AGREEMENT, YOU MAY NOT REPRODUCE OR IN ANY WAY UTILIZE +THE SOFTWARE OR THE DOCUMENTATION OR THE SPECIFICATIONS. + +1. Definitions. + +"Documentation" means the user manuals, training materials, and operating materials, if any, +InMon provides to Licensee under this Agreement. + +"InMon" means InMon Corporation, its affiliates and subsidiaries. + +"Intellectual Property Rights" means any trade secrets, patents, including without +limitation any patents covering the Software, copyrights, know-how, moral rights and +similar rights of any type under the laws of any governmental authority, domestic or +foreign, including all applications and registrations relating to any of the foregoing. + +"Licensee Hardware" means all computers, routers, or other equipment owned or controlled by +or on behalf of Licensee. + +"Products" means any and all software applications, computers, routers, or other equipment +manufactured by or on behalf of Licensee for the purpose of resale or lease to any other +third party, or otherwise made available by Licensee free of charge. + +"Software" means the sFlow(R) software programs, in source or binary code format, that +Licensee licenses from InMon under this Agreement and any bug fixes or error corrections +which InMon may provide to Licensee. + +"Specifications" means the published specifications provided or otherwise made available by +InMon at: http://www.sflow.org. + +"Trademark" means InMon's "sFlow(R)" trademark. + +2. License Grant. + +2.1 Software, Documentation and Specifications License Grant. InMon hereby grants to +Licensee, under all of InMon's Intellectual Property Rights therein, a perpetual (subject +to InMon's termination rights under Section 7 below), nonexclusive, royalty-free, worldwide, +transferable, sublicensable license, to: (i) use and reproduce the Software, the +Documentation, and the Specifications; (ii) modify the Software; (iii) implement the +Specifications in the Products; (iv) install the Software, or software in which the +Specifications have been implemented, on Licensee Hardware and Products, and (v) distribute +any Products that include the Software, the Documentation, or software in which the +Specifications have been implemented. + +2.2 Trademark License. InMon hereby grants to Licensee a perpetual (subject to InMon's +termination rights under Section 7 below), nonexclusive, royalty-free, worldwide, +transferable, sublicensable license to use the Trademark on or in connection with the +Software, the Documentation, the Specifications and any software that implements the +Specifications. + +2.3 Restrictions. Licensee agrees that it will not use the Software in a way +inconsistent with the license granted in Section 2.1. Further, Licensee agrees that, in +exercising its rights under the license granted to it in this Agreement, Licensee will: +(i) strictly adhere to and fully comply with the Specifications; (ii) use the Trademark, +and no other mark, to identify the Software, the Documentation, the Specifications and any +Products that implement the Specifications; (iii) place, in a font or graphic design +designated by InMon, the phrase "sFlow(R)" on any technical documentation, +sales/marketing materials, catalogs, or other such materials relating to products it +manufactures or markets which it has configured to be compatible with the Software or +otherwise implement the Specifications; (iv) in connection with any Products shipped to or +sold in other countries that include the Software or any software that implements the +Specifications, comply with the patent and trademark laws and practice of such other +country; and (v) not alter or impair any acknowledgment of copyright or trademark rights of +InMon that may appear in or on the Software, the Documentation or the Specifications. In +the event InMon determines that Licensee is not complying with its obligations under +clauses (i)-(v) above, InMon shall notify Licensee of such non-compliance, and if Licensee +fails to correct such non-compliance within three (3) months, InMon may immediately +terminate this Agreement as provided under paragraph 7 below and pursue any and all +actions and remedies as it deems necessary, including, but not limited to breach of +contract. + +3. Ownership. Except for the license expressly granted in Section 2, Inmon hereby +retains all right, title, and interest in and to the Trademark and all its Intellectual +Property Rights in the Software, the Documentation and the Specifications. Licensee +obtains no rights hereunder in the Trademark, Software, Documentation or Specifications by +implication, estoppel or otherwise. Licensee acknowledges that the Trademark, Software, +Documentation and Specifications are being licensed and not sold under this Agreement, and +that this Agreement does not transfer title in the Trademark, Software, Documentation or +Specifications, or any copy thereof, to Licensee. + +4. Support. Inmon shall have no obligation under this Agreement to (a) supply +maintenance or support, bug fixes or error corrections to the Licensed Software, +(b) supply future versions of the Licensed Software or (c) provide Licensed Software +development tools to Licensee. + +5. Warranty. INMON HEREBY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS, IMPLIED OR +STATUTORY, WITH RESPECT TO THE TRADEMARK, THE SOFTWARE, THE DOCUMENTATION, THE +SPECIFICATIONS. OR OTHERWISE, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF ANY INTELLECTUAL +PROPERTY RIGHTS. + +6. Limitation of Liability. IN NO EVENT SHALL INMON OR ITS SUPPLIERS OR LICENSORS BE +LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT OR EXEMPLARY DAMAGES WHATSOEVER, +WHETHER RELATED TO OR ARISING OUT OF THIS AGREEMENT, THE TRADEMARK, THE SOFTWARE, THE +DOCUMENTATION, THE SPECIFICATIONS, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, DAMAGES FOR +LOSS OF PROFITS, BUSINESS INTERRUPTION, LOSS OF DATA, COSTS OF PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES OR FOR ANY CLAIM OR DEMAND AGAINST LICENSEE BY ANY OTHER PARTY, OR OTHER +PECUNIARY LOSS, EVEN IF INMON HAS BEEN ADVISED OF OR KNOWS OF THE POSSIBILITY OF SUCH +DAMAGES. + +7. Term and Termination. The term of this Agreement will begin on the Effective Date, +which shall be deemed to be the date of delivery of the Software and/or Documentation and/or +Specifications to Licensee, and shall continue indefinitely unless and until terminated by +Licensee's giving written notice of termination to InMon, or by InMon pursuant to InMon's +termination rights as set forth in Section 2.3 above. Upon any termination of this +Agreement, Licensee shall cease exercising its license rights under this Agreement, +including the right to distribute Products that incorporate the Software or Documentation +or that implement the Specifications. The rights and obligations contained in Sections 1, +3, 5, 6, 7, and 8 shall survive any termination of this Agreement. + +8. General Provisions. + +8.1 Assignment. This Agreement shall be binding upon and inure to the benefit of the +parties hereto and their permitted successors and permitted assigns. InMon will have the +right to assign this Agreement without notice to Licensee. Licensee may assign or transfer +(whether by merger, operation of law or in any other manner) any of its rights or delegate +any of its obligations hereunder without the prior written consent of InMon, provided the +assignee assumes in writing all of Licensee's obligations hereunder. + +8.2 Notices. All notices permitted or required under this Agreement shall be in +writing and shall be delivered in person or mailed by first class, registered or certified +mail, postage prepaid, to the address of the party specified in this Agreement or such +other address as either party may specify in writing. Such notice shall be deemed to have +been given upon receipt. + +8.3 Non-Waiver. No term or provision hereof shall be deemed waived, and no breach +excused, unless such waiver or consent shall be in writing and signed by the party claimed +to have waived or consented. Any consent or waiver, whether express or implied, shall not +constitute a consent or waiver of, or excuse for any separate, different or subsequent +breach. + +8.4 Independent Contractor. The parties' relationship shall be solely that of +independent contractors, and nothing contained in this Agreement shall be construed to make +either party an agent, partner, representative or principal of the other for any purpose. + +8.5 Choice of Law and Forum. This Agreement shall be governed by and construed under +the laws of the State of California, without giving effect to such state's conflict of laws +principles. The parties hereby submit to the personal jurisdiction of, and agree that any +legal proceeding with respect to or arising under this Agreement shall be brought in, the +United States District Court for the Northern District of California or the state courts +of the State of California for the County of San Francisco. + +8.6 U.S. Government Licenses. The Software and Documentation are considered a +"commercial item" as that term is defined at 48 C.F.R 2.101, or "commercial computer +software" and "commercial computer software documentation" as such terms are used in +48 C.F.R 12.212 of the Federal Acquisition Regulations and its successors, and +48 C.F.R. 227.7202 of the DoD FAR Supplement and its successors. + +8.7 Severability. If any provision of this Agreement is held to be unenforceable under +applicable law, then such provision shall be excluded from this Agreement and the balance +of this Agreement shall be interpreted as if such provision were so excluded and shall be +enforceable in accordance with its terms. The court in its discretion may substitute for +the excluded provision an enforceable provision which in economic substance reasonably +approximates the excluded provision. + +8.8 Compliance With Law. Licensee shall comply with all applicable laws and +regulations (including privacy laws and regulations) having application to or governing its + use and/or operation of the Software and agrees to indemnify and hold InMon harmless from +and against any claims, damages, losses or obligations suffered or incurred by InMon +arising from its failure to so comply. + +8.9 Entire Agreement; Amendment. This Agreement constitutes the final, complete and +entire agreement between the parties with respect to the subject matter hereof, and +supersedes any previous proposals, negotiations, agreements, or arrangements, whether +verbal or written, made between the parties with respect to such subject matter. This +Agreement shall control over any additional or conflicting terms in any of Licensee's +purchase orders or other business forms. This Agreement may only be amended or modified +by mutual agreement of authorized representatives of the parties in writing. + +InMon Corp. +580 California Street, 5th Floor, San Francisco, CA 94104 +Phone: (415) 283-3260 +URL: www.inmon.com +Email: info@inmon.com diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.README.Debian b/ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.README.Debian new file mode 100644 index 0000000..d55099b --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.README.Debian @@ -0,0 +1,42 @@ +openvswitch-switch-dpdk +----------------------- + +This package provides a DPDK enabled version of the OpenvSwitch vswitchd +binary; by default, the ovs-vswitchd binary from openvswitch-switch will +be used: + + $ update-alternatives --query ovs-vswitchd + Name: ovs-vswitchd + Link: /usr/sbin/ovs-vswitchd + Status: auto + Best: /usr/lib/openvswitch-switch/ovs-vswitchd + Value: /usr/lib/openvswitch-switch/ovs-vswitchd + + Alternative: /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk + Priority: 50 + + Alternative: /usr/lib/openvswitch-switch/ovs-vswitchd + Priority: 100 + +DPDK provides fast packet processing in userspace, and has some specific +requirements in terms of system configuration - see the upstream +documentation for more details: + + /usr/share/doc/openvswitch-common/INSTALL.DPDK.md.gz + +DPDK has a minimum CPU feature set of SSE3, so is not appropriate for all +amd64 CPU types hence is not enabled by default. + +To switch to the DPDK version: + + sudo update-alternatives --set ovs-vswitchd \ + /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk + sudo service openvswitch-switch restart + +and to switch back: + + sudo update-alternatives --set ovs-vswitchd \ + /usr/lib/openvswitch-switch/ovs-vswitchd + sudo service openvswitch-switch restart + + -- James Page Tue, 21 Jul 2015 12:06:49 +0100 diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.postinst b/ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.postinst new file mode 100644 index 0000000..ff5a725 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.postinst @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +update-alternatives --install /usr/sbin/ovs-vswitchd ovs-vswitchd \ + /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk 50 + +#DEBHELPER# + +exit 0 diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.prerm b/ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.prerm new file mode 100644 index 0000000..82b2136 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/openvswitch-switch-dpdk.prerm @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +update-alternatives --remove ovs-vswitchd /usr/lib/openvswitch-switch/ovs-vswitchd-dpdk + +#DEBHELPER# + +exit 0 + diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/ovs-monitor-ipsec b/ovs_build/openvswitch-dpdk_2.5.90/debian/ovs-monitor-ipsec new file mode 100755 index 0000000..414d18b --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/ovs-monitor-ipsec @@ -0,0 +1,494 @@ +#!/usr/bin/python +# Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# A daemon to monitor attempts to create GRE-over-IPsec tunnels. +# Uses racoon and setkey to support the configuration. Assumes that +# OVS has complete control over IPsec configuration for the box. + +# xxx To-do: +# - Doesn't actually check that Interface is connected to bridge +# - If a certificate is badly formed, Racoon will refuse to start. We +# should do a better job of verifying certificates are valid before +# adding an interface to racoon.conf. + + +import argparse +import glob +import os +import subprocess +import sys + +import ovs.dirs +from ovs.db import error +from ovs.db import types +import ovs.util +import ovs.daemon +import ovs.db.idl +import ovs.unixctl +import ovs.unixctl.server +import ovs.vlog + +vlog = ovs.vlog.Vlog("ovs-monitor-ipsec") +root_prefix = '' # Prefix for absolute file names, for testing. +SETKEY = "/usr/sbin/setkey" +exiting = False + + +def unixctl_exit(conn, unused_argv, unused_aux): + global exiting + exiting = True + conn.reply(None) + + +# Class to configure the racoon daemon, which handles IKE negotiation +class Racoon: + # Default locations for files + conf_file = "/etc/racoon/racoon.conf" + cert_dir = "/etc/racoon/certs" + psk_file = "/etc/racoon/psk.txt" + + # Racoon configuration header we use for IKE + conf_header = """# Configuration file generated by Open vSwitch +# +# Do not modify by hand! + +path pre_shared_key "%s"; +path certificate "%s"; + +""" + + # Racoon configuration footer we use for IKE + conf_footer = """sainfo anonymous { + pfs_group 2; + lifetime time 1 hour; + encryption_algorithm aes; + authentication_algorithm hmac_sha1, hmac_md5; + compression_algorithm deflate; +} + +""" + + # Certificate entry template. + cert_entry = """remote %s { + exchange_mode main; + nat_traversal on; + ike_frag on; + certificate_type x509 "%s" "%s"; + my_identifier asn1dn; + peers_identifier asn1dn; + peers_certfile x509 "%s"; + verify_identifier on; + proposal { + encryption_algorithm aes; + hash_algorithm sha1; + authentication_method rsasig; + dh_group 2; + } +} + +""" + + # Pre-shared key template. + psk_entry = """remote %s { + exchange_mode main; + nat_traversal on; + proposal { + encryption_algorithm aes; + hash_algorithm sha1; + authentication_method pre_shared_key; + dh_group 2; + } +} + +""" + + def __init__(self): + self.psk_hosts = {} + self.cert_hosts = {} + + if not os.path.isdir(root_prefix + self.cert_dir): + os.mkdir(self.cert_dir) + + # Clean out stale peer certs from previous runs + for ovs_cert in glob.glob("%s%s/ovs-*.pem" + % (root_prefix, self.cert_dir)): + try: + os.remove(ovs_cert) + except OSError: + vlog.warn("couldn't remove %s" % ovs_cert) + + # Replace racoon's conf file with our template + self.commit() + + def reload(self): + exitcode = subprocess.call([root_prefix + "/etc/init.d/racoon", + "reload"]) + if exitcode != 0: + # Racoon is finicky about its configuration file and will + # refuse to start if it sees something it doesn't like + # (e.g., a certificate file doesn't exist). Try restarting + # the process before giving up. + vlog.warn("attempting to restart racoon") + exitcode = subprocess.call([root_prefix + "/etc/init.d/racoon", + "restart"]) + if exitcode != 0: + vlog.warn("couldn't reload racoon") + + def commit(self): + # Rewrite the Racoon configuration file + conf_file = open(root_prefix + self.conf_file, 'w') + conf_file.write(Racoon.conf_header % (self.psk_file, self.cert_dir)) + + for host, vals in self.cert_hosts.iteritems(): + conf_file.write(Racoon.cert_entry % (host, vals["certificate"], + vals["private_key"], vals["peer_cert_file"])) + + for host in self.psk_hosts: + conf_file.write(Racoon.psk_entry % host) + + conf_file.write(Racoon.conf_footer) + conf_file.close() + + # Rewrite the pre-shared keys file; it must only be readable by root. + orig_umask = os.umask(0077) + psk_file = open(root_prefix + Racoon.psk_file, 'w') + os.umask(orig_umask) + + psk_file.write("# Generated by Open vSwitch...do not modify by hand!") + psk_file.write("\n\n") + for host, vals in self.psk_hosts.iteritems(): + psk_file.write("%s %s\n" % (host, vals["psk"])) + psk_file.close() + + self.reload() + + def _add_psk(self, host, psk): + if host in self.cert_hosts: + raise error.Error("host %s already defined for cert" % host) + + self.psk_hosts[host] = psk + self.commit() + + def _verify_certs(self, vals): + # Racoon will refuse to start if the certificate files don't + # exist, so verify that they're there. + if not os.path.isfile(root_prefix + vals["certificate"]): + raise error.Error("'certificate' file does not exist: %s" + % vals["certificate"]) + elif not os.path.isfile(root_prefix + vals["private_key"]): + raise error.Error("'private_key' file does not exist: %s" + % vals["private_key"]) + + # Racoon won't start if a given certificate or private key isn't + # valid. This is a weak test, but will detect the most flagrant + # errors. + if vals["peer_cert"].find("-----BEGIN CERTIFICATE-----") == -1: + raise error.Error("'peer_cert' is not in valid PEM format") + + cert = open(root_prefix + vals["certificate"]).read() + if cert.find("-----BEGIN CERTIFICATE-----") == -1: + raise error.Error("'certificate' is not in valid PEM format") + + cert = open(root_prefix + vals["private_key"]).read() + if cert.find("-----BEGIN RSA PRIVATE KEY-----") == -1: + raise error.Error("'private_key' is not in valid PEM format") + + def _add_cert(self, host, vals): + if host in self.psk_hosts: + raise error.Error("host %s already defined for psk" % host) + + if vals["certificate"] == None: + raise error.Error("'certificate' not defined for %s" % host) + elif vals["private_key"] == None: + # Assume the private key is stored in the same PEM file as + # the certificate. We make a copy of "vals" so that we don't + # modify the original "vals", which would cause the script + # to constantly think that the configuration has changed + # in the database. + vals = vals.copy() + vals["private_key"] = vals["certificate"] + + self._verify_certs(vals) + + # The peer's certificate comes to us in PEM format as a string. + # Write that string to a file for Racoon to use. + f = open(root_prefix + vals["peer_cert_file"], "w") + f.write(vals["peer_cert"]) + f.close() + + self.cert_hosts[host] = vals + self.commit() + + def _del_cert(self, host): + peer_cert_file = self.cert_hosts[host]["peer_cert_file"] + del self.cert_hosts[host] + self.commit() + try: + os.remove(root_prefix + peer_cert_file) + except OSError: + pass + + def add_entry(self, host, vals): + if vals["peer_cert"]: + self._add_cert(host, vals) + elif vals["psk"]: + self._add_psk(host, vals) + + def del_entry(self, host): + if host in self.cert_hosts: + self._del_cert(host) + elif host in self.psk_hosts: + del self.psk_hosts[host] + self.commit() + + +# Class to configure IPsec on a system using racoon for IKE and setkey +# for maintaining the Security Association Database (SAD) and Security +# Policy Database (SPD). Only policies for GRE are supported. +class IPsec: + def __init__(self): + self.sad_flush() + self.spd_flush() + self.racoon = Racoon() + self.entries = [] + + def call_setkey(self, cmds): + try: + p = subprocess.Popen([root_prefix + SETKEY, "-c"], + stdin=subprocess.PIPE, + stdout=subprocess.PIPE) + except: + vlog.err("could not call %s%s" % (root_prefix, SETKEY)) + sys.exit(1) + + # xxx It is safer to pass the string into the communicate() + # xxx method, but it didn't work for slightly longer commands. + # xxx An alternative may need to be found. + p.stdin.write(cmds) + return p.communicate()[0] + + def get_spi(self, local_ip, remote_ip, proto="esp"): + # Run the setkey dump command to retrieve the SAD. Then, parse + # the output looking for SPI buried in the output. Note that + # multiple SAD entries can exist for the same "flow", since an + # older entry could be in a "dying" state. + spi_list = [] + host_line = "%s %s" % (local_ip, remote_ip) + results = self.call_setkey("dump ;\n").split("\n") + for i in range(len(results)): + if results[i].strip() == host_line: + # The SPI is in the line following the host pair + spi_line = results[i + 1] + if (spi_line[1:4] == proto): + spi = spi_line.split()[2] + spi_list.append(spi.split('(')[1].rstrip(')')) + return spi_list + + def sad_flush(self): + self.call_setkey("flush;\n") + + def sad_del(self, local_ip, remote_ip): + # To delete all SAD entries, we should be able to use setkey's + # "deleteall" command. Unfortunately, it's fundamentally broken + # on Linux and not documented as such. + cmds = "" + + # Delete local_ip->remote_ip SAD entries + spi_list = self.get_spi(local_ip, remote_ip) + for spi in spi_list: + cmds += "delete %s %s esp %s;\n" % (local_ip, remote_ip, spi) + + # Delete remote_ip->local_ip SAD entries + spi_list = self.get_spi(remote_ip, local_ip) + for spi in spi_list: + cmds += "delete %s %s esp %s;\n" % (remote_ip, local_ip, spi) + + if cmds: + self.call_setkey(cmds) + + def spd_flush(self): + self.call_setkey("spdflush;\n") + + def spd_add(self, local_ip, remote_ip): + cmds = ("spdadd %s %s gre -P out ipsec esp/transport//require;\n" % + (local_ip, remote_ip)) + cmds += ("spdadd %s %s gre -P in ipsec esp/transport//require;\n" % + (remote_ip, local_ip)) + self.call_setkey(cmds) + + def spd_del(self, local_ip, remote_ip): + cmds = "spddelete %s %s gre -P out;\n" % (local_ip, remote_ip) + cmds += "spddelete %s %s gre -P in;\n" % (remote_ip, local_ip) + self.call_setkey(cmds) + + def add_entry(self, local_ip, remote_ip, vals): + if remote_ip in self.entries: + raise error.Error("host %s already configured for ipsec" + % remote_ip) + + self.racoon.add_entry(remote_ip, vals) + self.spd_add(local_ip, remote_ip) + + self.entries.append(remote_ip) + + def del_entry(self, local_ip, remote_ip): + if remote_ip in self.entries: + self.racoon.del_entry(remote_ip) + self.spd_del(local_ip, remote_ip) + self.sad_del(local_ip, remote_ip) + + self.entries.remove(remote_ip) + + +def update_ipsec(ipsec, interfaces, new_interfaces): + for name, vals in interfaces.iteritems(): + if name not in new_interfaces: + ipsec.del_entry(vals["local_ip"], vals["remote_ip"]) + + for name, vals in new_interfaces.iteritems(): + orig_vals = interfaces.get(name) + if orig_vals: + # Configuration for this host already exists. Check if it's + # changed. We use set difference, since we want to ignore + # any local additions to "orig_vals" that we've made + # (e.g. the "peer_cert_file" key). + if set(vals.items()) - set(orig_vals.items()): + ipsec.del_entry(vals["local_ip"], vals["remote_ip"]) + else: + continue + + try: + ipsec.add_entry(vals["local_ip"], vals["remote_ip"], vals) + except error.Error, msg: + vlog.warn("skipping ipsec config for %s: %s" % (name, msg)) + + +def get_ssl_cert(data): + for ovs_rec in data["Open_vSwitch"].rows.itervalues(): + if ovs_rec.ssl: + ssl = ovs_rec.ssl[0] + if ssl.certificate and ssl.private_key: + return (ssl.certificate, ssl.private_key) + + return None + + +def main(): + + parser = argparse.ArgumentParser() + parser.add_argument("database", metavar="DATABASE", + help="A socket on which ovsdb-server is listening.") + parser.add_argument("--root-prefix", metavar="DIR", + help="Use DIR as alternate root directory" + " (for testing).") + + ovs.vlog.add_args(parser) + ovs.daemon.add_args(parser) + args = parser.parse_args() + ovs.vlog.handle_args(args) + ovs.daemon.handle_args(args) + + global root_prefix + if args.root_prefix: + root_prefix = args.root_prefix + + remote = args.database + schema_helper = ovs.db.idl.SchemaHelper() + schema_helper.register_columns("Interface", ["name", "type", "options"]) + schema_helper.register_columns("Open_vSwitch", ["ssl"]) + schema_helper.register_columns("SSL", ["certificate", "private_key"]) + idl = ovs.db.idl.Idl(remote, schema_helper) + + ovs.daemon.daemonize() + + ovs.unixctl.command_register("exit", "", 0, 0, unixctl_exit, None) + error, unixctl_server = ovs.unixctl.server.UnixctlServer.create(None) + if error: + ovs.util.ovs_fatal(error, "could not create unixctl server", vlog) + + ipsec = IPsec() + + interfaces = {} + seqno = idl.change_seqno # Sequence number when we last processed the db + while True: + unixctl_server.run() + if exiting: + break + + idl.run() + if seqno == idl.change_seqno: + poller = ovs.poller.Poller() + unixctl_server.wait(poller) + idl.wait(poller) + poller.block() + continue + seqno = idl.change_seqno + + ssl_cert = get_ssl_cert(idl.tables) + + new_interfaces = {} + for rec in idl.tables["Interface"].rows.itervalues(): + if rec.type == "ipsec_gre" or rec.type == "ipsec_gre64": + name = rec.name + options = rec.options + peer_cert_name = "ovs-%s.pem" % (options.get("remote_ip")) + entry = { + "remote_ip": options.get("remote_ip"), + "local_ip": options.get("local_ip", "0.0.0.0/0"), + "certificate": options.get("certificate"), + "private_key": options.get("private_key"), + "use_ssl_cert": options.get("use_ssl_cert"), + "peer_cert": options.get("peer_cert"), + "peer_cert_file": Racoon.cert_dir + "/" + peer_cert_name, + "psk": options.get("psk")} + + if entry["peer_cert"] and entry["psk"]: + vlog.warn("both 'peer_cert' and 'psk' defined for %s" + % name) + continue + elif not entry["peer_cert"] and not entry["psk"]: + vlog.warn("no 'peer_cert' or 'psk' defined for %s" % name) + continue + + # The "use_ssl_cert" option is deprecated and will + # likely go away in the near future. + if entry["use_ssl_cert"] == "true": + if not ssl_cert: + vlog.warn("no valid SSL entry for %s" % name) + continue + + entry["certificate"] = ssl_cert[0] + entry["private_key"] = ssl_cert[1] + + new_interfaces[name] = entry + + if interfaces != new_interfaces: + update_ipsec(ipsec, interfaces, new_interfaces) + interfaces = new_interfaces + + unixctl_server.close() + idl.close() + + +if __name__ == '__main__': + try: + main() + except SystemExit: + # Let system.exit() calls complete normally + raise + except: + vlog.exception("traceback") + sys.exit(ovs.daemon.RESTART_EXIT_CODE) diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/patches/series b/ovs_build/openvswitch-dpdk_2.5.90/debian/patches/series new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/patches/series @@ -0,0 +1 @@ + diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/rules b/ovs_build/openvswitch-dpdk_2.5.90/debian/rules new file mode 100755 index 0000000..881774f --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/rules @@ -0,0 +1,68 @@ +#!/usr/bin/make -f +# -*- makefile -*- +#export DH_VERBOSE=1 + +%: + dh $@ --with autoreconf,python2,systemd --parallel + +# use --as-needed only if supported by dh-autoreconf (to simplify backporting) +DH_AS_NEEDED=$(shell dpkg --compare-versions $$(dpkg --status dh-autoreconf | grep Version | cut -d' ' -f2) ge 6 && echo --as-needed) +override_dh_autoreconf: + dh_autoreconf $(DH_AS_NEEDED) + +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +else +PARALLEL = +endif + +override_dh_auto_configure: + dh_auto_configure -- --enable-ssl --with-dpdk=/usr $(DATAPATH_CONFIGURE_OPTS) + +override_dh_auto_test: +# NOTE(jamespage): skip tests on powerpc until +# https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1483572 +# is resolved +ifneq (powerpc, $(DEB_BUILD_ARCH)) +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + if $(MAKE) check TESTSUITEFLAGS='$(PARALLEL)' || \ + $(MAKE) check TESTSUITEFLAGS='--recheck'; then :; \ + else \ + cat tests/testsuite.log; \ + exit 1; \ + fi +endif +endif # powerpc + +override_dh_auto_build: + dh_auto_build -- distdir=openvswitch + +override_dh_auto_clean: + rm -f python/ovs/*.pyc python/ovs/db/*.pyc + dh_auto_clean + +override_dh_install: + install -D vswitchd/ovs-vswitchd \ + $(CURDIR)/debian/openvswitch-switch-dpdk/usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk + +override_dh_installinit: + : + +override_dh_auto_install: + : + +# Helper target for creating snapshots from upstream git +DATE=$(shell date +%Y%m%d) +# Upstream branch to track +BRANCH=branch-2.4 + +get-orig-snapshot: + rm -Rf openvswitch-upstream + git clone https://github.com/openvswitch/ovs openvswitch-upstream + cd openvswitch-upstream && \ + git checkout -b $(BRANCH) remotes/origin/$(BRANCH) && \ + export COMMIT=`git rev-parse --short HEAD` && \ + export UPSTREAM_VERSION=`head -1 NEWS | awk '{ print $$1 }' | sed 's/v//'` && \ + git archive --format tgz --prefix=openvswitch-$$UPSTREAM_VERSION+git$(DATE)/ \ + -o ../../openvswitch_$$UPSTREAM_VERSION~git$(DATE).$$COMMIT.orig.tar.gz $(BRANCH) + rm -Rf openvswitch-upstream diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/source/format b/ovs_build/openvswitch-dpdk_2.5.90/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/common b/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/common new file mode 100755 index 0000000..ba8f27f --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/common @@ -0,0 +1,23 @@ +#!/bin/sh + +set -e + +update-alternatives --set ovs-vswitchd \ + /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk +service openvswitch-switch restart + +modprobe openvswitch || true + +echo "kernel modules loaded: " +# Check that ovs loaded +lsmod | grep "openvswitch" +echo "OK" + +echo "Checking daemons: " +pgrep ovs-vswitchd +pgrep ovsdb-server +echo "OK" + +echo -n "running openflow tests using mininet" +python `dirname $0`/openflow.py 2>&1 +echo "OK" diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/control b/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/control new file mode 100644 index 0000000..a233244 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/control @@ -0,0 +1,4 @@ +Tests: kernel +Depends: mininet (>= 2.2.0~), iperf, openvswitch-switch-dpdk, + openvswitch-testcontroller +Restrictions: needs-root rw-build-tree diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/kernel b/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/kernel new file mode 100755 index 0000000..befe158 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/kernel @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +`dirname $0`/common diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/openflow b/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/openflow new file mode 100755 index 0000000..004e994 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/openflow @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +service openvswitch-controller stop + +python `dirname $0`/openflow.py 2>&1 diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/openflow.py b/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/openflow.py new file mode 100755 index 0000000..216b57c --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/tests/openflow.py @@ -0,0 +1,66 @@ +import unittest +import logging +from mininet.net import Mininet +import mininet.log as log +from mininet.node import OVSController, OVSKernelSwitch + +Switch = OVSKernelSwitch +Controller = OVSController +logging.basicConfig(level=logging.DEBUG) +log.setLogLevel('info') + + +class BasicOpenflowTest(unittest.TestCase): + + def addHost(self, N): + logging.debug("Creating host h%s and add to net.", N) + name = 'h%d' % N + ip = '10.0.0.%d' % N + return self.net.addHost(name, ip=ip) + + def setUp(self): + self.net = Mininet(controller=Controller, switch=Switch) + + logging.info("Creating controllers") + self.net.addController('c1', command='ovs-testcontroller') + + logging.info("Creating switches") + s1 = self.net.addSwitch('s1', protocols="OpenFlow10") + s2 = self.net.addSwitch('s2', protocols="OpenFlow10") + + logging.info("Creating hosts (7 on each switch)") + hosts1 = [self.addHost(n) for n in (1, 2, 3, 4, 5, 6, 7)] + hosts2 = [self.addHost(n) for n in (8, 9, 10, 11, 12, 13, 14)] + + logging.info("Creating links") + for h in hosts1: + self.net.addLink(s1, h) + for h in hosts2: + self.net.addLink(s2, h) + self.net.addLink(s1, s2) + + logging.info("Starting network") + self.net.start() + + def testPingAll(self): + logging.info("Testing network") + packetLoss = self.net.pingAll() + self.assertTrue( + packetLoss == 0, + "Packet loss during ping test %s" % + packetLoss) + + def testIPerfTCP(self): + logging.info("Running TCP performance test") + self.net.iperf() + + def testIPerfUDP(self): + logging.info("Running UDP performance test") + self.net.iperf(l4Type='UDP') + + def tearDown(self): + logging.info("Stopping network") + self.net.stop() + +if __name__ == '__main__': + unittest.main() diff --git a/ovs_build/openvswitch-dpdk_2.5.90/debian/watch b/ovs_build/openvswitch-dpdk_2.5.90/debian/watch new file mode 100644 index 0000000..f42bab5 --- /dev/null +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://openvswitch.org/releases/ openvswitch-(.*).tar.gz