summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuo Ruijing <ruijing.guo@intel.com>2016-08-05 11:19:04 +0800
committerGuo Ruijing <ruijing.guo@intel.com>2016-08-05 11:19:04 +0800
commitaf3fbac7561ac20c13299764edeabb6b3163e4ef (patch)
tree410bc28613360613ff5348faf3777d510166da2e
parentbc4e8ca6a46afe478e6a952b2cfba5e3b0324132 (diff)
Add openvswitch-nsh-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. update patches and changelog Change-Id: I31f6efc5a20a3845dc898ab20c5a72fa499f7b33 Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
Notes
Notes (review): Code-Review+2: Ruijing <ruijing.guo@intel.com> Workflow+1: Ruijing <ruijing.guo@intel.com> Verified+2: Jenkins Submitted-by: Jenkins Submitted-at: Fri, 05 Aug 2016 03:17:41 +0000 Reviewed-on: https://review.openstack.org/351474 Project: openstack/fuel-plugin-ovs Branch: refs/heads/master
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/automake.mk19
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/changelog3
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/compat1
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/control54
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/copyright716
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/copyright.in716
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.README.Debian42
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.postinst10
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.prerm10
-rwxr-xr-xovs_build/openvswitch-nsh-dpdk_2.5.90/debian/ovs-monitor-ipsec494
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/patches/ovs-ctl-dpdk.patch15
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/patches/series1
-rwxr-xr-xovs_build/openvswitch-nsh-dpdk_2.5.90/debian/rules68
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/source/format1
-rwxr-xr-xovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/common23
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/control4
-rwxr-xr-xovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/kernel5
-rwxr-xr-xovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/openflow7
-rwxr-xr-xovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/openflow.py66
-rw-r--r--ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/watch2
20 files changed, 2257 insertions, 0 deletions
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/automake.mk b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/automake.mk
new file mode 100644
index 0000000..95e07dd
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/automake.mk
@@ -0,0 +1,19 @@
1check-debian-changelog-version:
2 @DEB_VERSION=`echo '$(VERSION)' | sed 's/pre/~pre/'`; \
3 if $(FGREP) '($(DEB_VERSION)' $(srcdir)/debian/changelog >/dev/null; \
4 then \
5 :; \
6 else \
7 echo "Update debian/changelog to mention version $(VERSION)"; \
8 exit 1; \
9 fi
10ALL_LOCAL += check-debian-changelog-version
11DIST_HOOKS += check-debian-changelog-version
12
13$(srcdir)/debian/copyright: AUTHORS debian/copyright.in
14 $(AM_V_GEN) \
15 { sed -n -e '/%AUTHORS%/q' -e p < $(srcdir)/debian/copyright.in; \
16 sed '1,/^$$/d' $(srcdir)/AUTHORS | \
17 sed -n -e '/^$$/q' -e 's/^/ /p'; \
18 sed -e '1,/%AUTHORS%/d' $(srcdir)/debian/copyright.in; \
19 } > $@
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/changelog b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/changelog
new file mode 100644
index 0000000..46d90d3
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/changelog
@@ -0,0 +1,3 @@
1openvswitch-dpdk (2.5.90-1.nsh) unstable; urgency=low
2 * Support NSH
3 -- Open vSwitch team <dev@openvswitch.org>
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/compat b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/compat
@@ -0,0 +1 @@
9
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/control b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/control
new file mode 100644
index 0000000..e7171b9
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/control
@@ -0,0 +1,54 @@
1Source: openvswitch-dpdk
2Section: net
3Priority: extra
4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Open vSwitch developers <dev@openvswitch.org>
6Uploaders: Ben Pfaff <pfaffben@debian.org>,
7 Simon Horman <horms@debian.org>,
8Build-Depends: autoconf (>= 2.64),
9 automake (>= 1.10) | automake1.10,
10 bzip2,
11 debhelper (>= 9~),
12 dh-autoreconf,
13 dh-systemd (>= 1.5),
14 graphviz,
15 libdpdk-dev,
16 libfuse-dev,
17 libssl-dev,
18 libtool,
19 openssl,
20 procps,
21 python-all (>= 2.6.6-3~),
22 python-qt4,
23 python-twisted-conch,
24 python-zopeinterface,
25Standards-Version: 3.9.6
26Homepage: http://openvswitch.org/
27XS-Testsuite: autopkgtest
28
29Package: openvswitch-switch-dpdk
30Architecture: i386 amd64
31Depends: dpdk,
32 openvswitch-switch (>= 2.4.0),
33 ${misc:Depends},
34 ${python:Depends},
35 ${shlibs:Depends},
36Enhances: openvswitch-switch,
37Description: DPDK enabled Open vSwitch switch implementation
38 Open vSwitch is a production quality, multilayer, software-based,
39 Ethernet virtual switch. It is designed to enable massive network
40 automation through programmatic extension, while still supporting
41 standard management interfaces and protocols (e.g. NetFlow, IPFIX,
42 sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
43 to support distribution across multiple physical servers similar to
44 VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
45 .
46 openvswitch-switch provides the userspace components and utilities for
47 the Open vSwitch kernel-based switch.
48 .
49 DPDK is a set of libraries for fast packet processing. Applications run
50 in user-space and communicate directly with dedicated network interfaces.
51 This package contains the runtime environment to run DPDK applications.
52 .
53 This package provides a DPDK enabled implementation of the ovs-vswitchd
54 binary.
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/copyright b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/copyright
new file mode 100644
index 0000000..d840e4e
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/copyright
@@ -0,0 +1,716 @@
1The original sources for this package can be found at:
2
3 http://openvswitch.org/
4
5Upstream Authors (from AUTHORS):
6
7%AUTHORS%
8
9Upstream Copyright Holders:
10
11 Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
12 Copyright (c) 2010 Jean Tourrilhes - HP-Labs.
13 Copyright (c) 2008,2009,2010 Citrix Systems, Inc.
14 and authors listed above.
15 Copyright (c) 2011 Gaetano Catalli
16 Copyright (C) 2000-2003 Geoffrey Wossum (gwossum@acm.org)
17 Copyright (C) 2000 The NetBSD Foundation, Inc.
18 Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
19 Copyright (c) 1982, 1986, 1990, 1993 The Regents of the University of California.
20 Copyright (c) 2008, 2012 Vincent Bernat <bernat@luffy.cx>
21 Copyright (c) 2014 Michael Chapman
22 Copyright (c) 2014 WindRiver, Inc.
23 Copyright (c) 2014 Avaya, Inc.
24
25License:
26
27* The following components are licensed under the
28 GNU Lesser General Public License version 2.1 only
29 with the exception clause below as a pre-amble.
30
31 xenserver/etc_xensource_scripts_vif
32 xenserver/opt_xensource_libexec_InterfaceReconfigure.py
33 xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py
34 xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
35 xenserver/opt_xensource_libexec_interface-reconfigure
36 xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py
37
38 * These components are only distributed in the source package.
39 They do not appear in any binary packages.
40
41 On Debian systems, the complete text of the
42 GNU Lesser General Public License version 2.1 can be found in
43 `/usr/share/common-licenses/LGPL-2.1'
44
45 The exception clause pre-amble reads:
46
47 As a special exception to the GNU Lesser General Public License, you
48 may link, statically or dynamically, a "work that uses the Library"
49 with a publicly distributed version of the Library to produce an
50 executable file containing portions of the Library, and distribute
51 that executable file under terms of your choice, without any of the
52 additional requirements listed in clause 6 of the GNU Lesser General
53 Public License. By "a publicly distributed version of the Library",
54 we mean either the unmodified Library as distributed, or a
55 modified version of the Library that is distributed under the
56 conditions defined in clause 3 of the GNU Library General Public
57 License. This exception does not however invalidate any other reasons
58 why the executable file might be covered by the GNU Lesser General
59 Public License.
60
61* The following components are licensed under the
62 GNU Lesser General Public License version 2.1.
63
64 utilities/bugtool/ovs-bugtool
65 utilities/bugtool/ovs-bugtool-*
66 utilities/bugtool/plugins/kernel-info/openvswitch.xml
67 utilities/bugtool/plugins/network-status/openvswitch.xml
68 utilities/bugtool/plugins/system-configuration.xml
69 utilities/bugtool/plugins/system-configuration/openvswitch.xml
70
71 On Debian systems, the complete text of the
72 GNU Lesser General Public License version 2.1 can be found in
73 `/usr/share/common-licenses/LGPL-2.1'
74
75* The following component is licensed under the GNU General Public License
76 version 2.
77
78 datapath/
79
80 On Debian systems, the complete text of the GNU General Public License
81 version 2 can be found in `/usr/share/common-licenses/GPL-2'
82
83* The following file is licensed under the GNU General Public License
84 version 2.
85
86 build-aux/cccl
87
88* The following files are licensed under the 2-clause BSD license.
89
90 lib/getopt_long.c
91 include/windows/getopt.h
92
93* The following files are licensed under the 3-clause BSD-license
94
95 include/windows/netinet/icmp6.h
96 include/windows/netinet/ip6.h
97 lib/strsep.c
98
99* The following components are dual-licensed under the
100 GNU General Public License version 2 and the Apache License Version 2.0.
101
102 datapath/linux/compat/include/linux/openvswitch.h
103
104 On Debian systems, the complete text of the GNU General Public License
105 version 2 can be found in `/usr/share/common-licenses/GPL-2'.
106 On Debian systems, the complete text of the Apache License version 2.0
107 can be found in '/usr/share/common-licenses/Apache-2.0'.
108
109* The following components are licensed under the terms of either the
110 Sun Industry Standard Source License 1.1 or the InMon sFlow License:
111
112 lib/sflow.h
113 lib/sflow_agent.c
114 lib/sflow_api.h
115 lib/sflow_poller.c
116 lib/sflow_receiver.c
117 lib/sflow_sampler.c
118
119 These licenses are available, respectively, the following URLs:
120
121 http://host-sflow.sourceforge.net/sissl.html
122 http://www.inmon.com/technology/sflowlicense.txt
123
124 The full text of each license is also appended to the end of this
125 file.
126
127* The following components are licensed for use as desired without restriction:
128
129 lib/crc32c.c
130
131* The following components are licensed under the
132 Python Software Foundation License Version 2.
133
134 python/compat/uuid.py
135 python/compat/argparse.py
136
137 * These components are only distributed in the source package.
138 They do not appear in any binary packages.
139
140 PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
141 --------------------------------------------
142
143 1. This LICENSE AGREEMENT is between the Python Software Foundation
144 ("PSF"), and the Individual or Organization ("Licensee") accessing and
145 otherwise using this software ("Python") in source or binary form and
146 its associated documentation.
147
148 2. Subject to the terms and conditions of this License Agreement, PSF
149 hereby grants Licensee a nonexclusive, royalty-free, world-wide
150 license to reproduce, analyze, test, perform and/or display publicly,
151 prepare derivative works, distribute, and otherwise use Python
152 alone or in any derivative version, provided, however, that PSF's
153 License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
154 2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation;
155 All Rights Reserved" are retained in Python alone or in any derivative
156 version prepared by Licensee.
157
158 3. In the event Licensee prepares a derivative work that is based on
159 or incorporates Python or any part thereof, and wants to make
160 the derivative work available to others as provided herein, then
161 Licensee hereby agrees to include in any such work a brief summary of
162 the changes made to Python.
163
164 4. PSF is making Python available to Licensee on an "AS IS"
165 basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
166 IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
167 DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
168 FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
169 INFRINGE ANY THIRD PARTY RIGHTS.
170
171 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
172 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
173 A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
174 OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
175
176 6. This License Agreement will automatically terminate upon a material
177 breach of its terms and conditions.
178
179 7. Nothing in this License Agreement shall be deemed to create any
180 relationship of agency, partnership, or joint venture between PSF and
181 Licensee. This License Agreement does not grant permission to use PSF
182 trademarks or trade name in a trademark sense to endorse or promote
183 products or services of Licensee, or any third party.
184
185 8. By copying, installing or otherwise using Python, Licensee
186 agrees to be bound by the terms and conditions of this License
187 Agreement.
188
189* lib/ovs.tmac in the source distribution, and manpages in the
190 binaries, includes troff macros from groff 1.21 that contain the
191 following notice:
192
193 .\" an-ext.tmac
194 .\"
195 .\" Written by Eric S. Raymond <esr@thyrsus.com>
196 .\" Werner Lemberg <wl@gnu.org>
197 .\"
198 .\" Version 2007-Feb-02
199 .\"
200 .\" Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
201 .\" You may freely use, modify and/or distribute this file.
202
203* m4/absolute-header.m4, by Derek Price, and m4/include_next.m4, by
204 Paul Eggert and Derek Price bear the following notices:
205
206 Copyright (C) 2006-2013 Free Software Foundation, Inc.
207 This file is free software; the Free Software Foundation
208 gives unlimited permission to copy and/or distribute it,
209 with or without modifications, as long as this notice is preserved.
210
211* The following files are licensed under the ISC-license
212
213 lib/lldp/aa-structs.h
214 lib/lldp/lldpd.c
215 lib/lldp/lldpd.h
216 lib/lldp/lldpd-structs.c
217 lib/lldp/lldpd-structs.h
218 lib/lldp/lldp.c
219 lib/lldp/lldp-tlv.h
220 lib/lldp/lldp-const.h
221
222* All other components of this package are licensed under
223 The Apache License Version 2.0.
224
225 On Debian systems, the complete text of the Apache License version 2.0
226 can be found in '/usr/share/common-licenses/Apache-2.0'.
227
228----------------------------------------------------------------------
229
230Retrieved from http://host-sflow.sourceforge.net/sissl.html, 2011-12-12:
231
232 Sun Industry Standards Source License - Version 1.1
233
234 1.0 DEFINITIONS
235
236 1.1 "Commercial Use" means distribution or otherwise making the
237 Original Code available to a third party.
238
239 1.2 "Contributor Version" means the combination of the Original Code,
240 and the Modifications made by that particular Contributor.
241
242 1.3 "Electronic Distribution Mechanism" means a mechanism generally
243 accepted in the software development community for the electronic
244 transfer of data.
245
246 1.4 "Executable" means Original Code in any form other than Source
247 Code.
248
249 1.5 "Initial Developer" means the individual or entity identified as
250 the Initial Developer in the Source Code notice required by Exhibit A.
251
252 1.6 "Larger Work" means a work which combines Original Code or portions
253 thereof with code not governed by the terms of this License.
254
255 1.7 "License" means this document.
256
257 1.8 "Licensable" means having the right to grant, to the maximum extent
258 possible, whether at the time of the initial grant or subsequently
259 acquired, any and all of the rights conveyed herein.
260
261 1.9 "Modifications" means any addition to or deletion from the
262 substance or structure of either the Original Code or any previous
263 Modifications. A Modification is:
264
265 A. Any addition to or deletion from the contents of a file containing
266 Original Code or previous Modifications.
267
268 B. Any new file that contains any part of the Original Code or previous
269 Modifications.
270
271 1.10 "Original Code" means Source Code of computer software code which
272 is described in the Source Code notice required by Exhibit A as
273 Original Code.
274
275 1.11 "Patent Claims" means any patent claim(s), now owned or hereafter
276 acquired, including without limitation, method, process, and apparatus
277 claims, in any patent Licensable by grantor.
278
279 1.12 "Source Code" means the preferred form of the Original Code for
280 making modifications to it, including all modules it contains, plus any
281 associated interface definition files, or scripts used to control
282 compilation and installation of an Executable.
283
284 1.13 "Standards" means the standards identified in Exhibit B.
285
286 1.14 "You" (or "Your") means an individual or a legal entity exercising
287 rights under, and complying with all of the terms of, this License or a
288 future version of this License issued under Section 6.1. For legal
289 entities, "You'' includes any entity which controls, is controlled by,
290 or is under common control with You. For purposes of this definition,
291 "control'' means (a) the power, direct or indirect, to cause the
292 direction or management of such entity, whether by contract or
293 otherwise, or (b) ownership of more than fifty percent (50%) of the
294 outstanding shares or beneficial ownership of such entity.
295
296 2.0 SOURCE CODE LICENSE
297
298 2.1 The Initial Developer Grant
299 The Initial Developer hereby grants You a world-wide, royalty-free,
300 non-exclusive license, subject to third party intellectual property
301 claims:
302
303 (a) under intellectual property rights (other than patent or trademark)
304 Licensable by Initial Developer to use, reproduce, modify, display,
305 perform, sublicense and distribute the Original Code (or portions
306 thereof) with or without Modifications, and/or as part of a Larger
307 Work; and
308
309 (b) under Patents Claims infringed by the making, using or selling of
310 Original Code, to make, have made, use, practice, sell, and offer for
311 sale, and/or otherwise dispose of the Original Code (or portions
312 thereof).
313
314 (c) the licenses granted in this Section 2.1(a) and (b) are effective
315 on the date Initial Developer first distributes Original Code under the
316 terms of this License.
317
318 (d) Notwithstanding Section 2.1(b) above, no patent license is granted:
319 1) for code that You delete from the Original Code; 2) separate from
320 the Original Code; or 3) for infringements caused by: i) the
321 modification of the Original Code or ii) the combination of the
322 Original Code with other software or devices, including but not limited
323 to Modifications.
324 3.0 DISTRIBUTION OBLIGATIONS
325
326 3.1 Application of License.
327 The Source Code version of Original Code may be distributed only under
328 the terms of this License or a future version of this License released
329 under Section 6.1, and You must include a copy of this License with
330 every copy of the Source Code You distribute. You may not offer or
331 impose any terms on any Source Code version that alters or restricts
332 the applicable version of this License or the recipients' rights
333 hereunder. Your license for shipment of the Contributor Version is
334 conditioned upon Your full compliance with this Section. The
335 Modifications which You create must comply with all requirements set
336 out by the Standards body in effect one hundred twenty (120) days
337 before You ship the Contributor Version. In the event that the
338 Modifications do not meet such requirements, You agree to publish
339 either (i) any deviation from the Standards protocol resulting from
340 implementation of Your Modifications and a reference implementation of
341 Your Modifications or (ii) Your Modifications in Source Code form, and
342 to make any such deviation and reference implementation or
343 Modifications available to all third parties under the same terms as
344 this license on a royalty free basis within thirty (30) days of Your
345 first customer shipment of Your Modifications.
346
347 3.2 Required Notices.
348 You must duplicate the notice in Exhibit A in each file of the Source
349 Code. If it is not possible to put such notice in a particular Source
350 Code file due to its structure, then You must include such notice in a
351 location (such as a relevant directory) where a user would be likely to
352 look for such a notice. If You created one or more Modification(s) You
353 may add Your name as a Contributor to the notice described in Exhibit
354 A. You must also duplicate this License in any documentation for the
355 Source Code where You describe recipients' rights or ownership rights
356 relating to Initial Code. You may choose to offer, and to charge a fee
357 for, warranty, support, indemnity or liability obligations to one or
358 more recipients of Your version of the Code. However, You may do so
359 only on Your own behalf, and not on behalf of the Initial Developer.
360 You must make it absolutely clear than any such warranty, support,
361 indemnity or liability obligation is offered by You alone, and You
362 hereby agree to indemnify the Initial Developer for any liability
363 incurred by the Initial Developer as a result of warranty, support,
364 indemnity or liability terms You offer.
365
366 3.3 Distribution of Executable Versions.
367 You may distribute Original Code in Executable and Source form only if
368 the requirements of Sections 3.1 and 3.2 have been met for that
369 Original Code, and if You include a notice stating that the Source Code
370 version of the Original Code is available under the terms of this
371 License. The notice must be conspicuously included in any notice in an
372 Executable or Source versions, related documentation or collateral in
373 which You describe recipients' rights relating to the Original Code.
374 You may distribute the Executable and Source versions of Your version
375 of the Code or ownership rights under a license of Your choice, which
376 may contain terms different from this License, provided that You are in
377 compliance with the terms of this License. If You distribute the
378 Executable and Source versions under a different license You must make
379 it absolutely clear that any terms which differ from this License are
380 offered by You alone, not by the Initial Developer. You hereby agree to
381 indemnify the Initial Developer for any liability incurred by the
382 Initial Developer as a result of any such terms You offer.
383
384 3.4 Larger Works.
385 You may create a Larger Work by combining Original Code with other code
386 not governed by the terms of this License and distribute the Larger
387 Work as a single product. In such a case, You must make sure the
388 requirements of this License are fulfilled for the Original Code.
389
390 4.0 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION
391
392 If it is impossible for You to comply with any of the terms of this
393 License with respect to some or all of the Original Code due to
394 statute, judicial order, or regulation then You must: (a) comply with
395 the terms of this License to the maximum extent possible; and (b)
396 describe the limitations and the code they affect. Such description
397 must be included in the LEGAL file described in Section 3.2 and must be
398 included with all distributions of the Source Code. Except to the
399 extent prohibited by statute or regulation, such description must be
400 sufficiently detailed for a recipient of ordinary skill to be able to
401 understand it.
402
403 5.0 APPLICATION OF THIS LICENSE
404
405 This License applies to code to which the Initial Developer has
406 attached the notice in Exhibit A and to related Modifications as set
407 out in Section 3.1.
408
409 6.0 VERSIONS OF THE LICENSE
410
411 6.1 New Versions.
412 Sun may publish revised and/or new versions of the License from time to
413 time. Each version will be given a distinguishing version number.
414
415 6.2 Effect of New Versions.
416 Once Original Code has been published under a particular version of the
417 License, You may always continue to use it under the terms of that
418 version. You may also choose to use such Original Code under the terms
419 of any subsequent version of the License published by Sun. No one other
420 than Sun has the right to modify the terms applicable to Original Code.
421
422 7.0 DISCLAIMER OF WARRANTY
423
424 ORIGINAL CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
425 WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
426 WITHOUT LIMITATION, WARRANTIES THAT THE ORIGINAL CODE IS FREE OF
427 DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
428 THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ORIGINAL CODE
429 IS WITH YOU. SHOULD ANY ORIGINAL CODE PROVE DEFECTIVE IN ANY RESPECT,
430 YOU (NOT THE INITIAL DEVELOPER) ASSUME THE COST OF ANY NECESSARY
431 SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
432 CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY ORIGINAL
433 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
434
435 8.0 TERMINATION
436
437 8.1 This License and the rights granted hereunder will terminate
438 automatically if You fail to comply with terms herein and fail to cure
439 such breach within 30 days of becoming aware of the breach. All
440 sublicenses to the Original Code which are properly granted shall
441 survive any termination of this License. Provisions which, by their
442 nature, must remain in effect beyond the termination of this License
443 shall survive.
444
445 8.2 In the event of termination under Section 8.1 above, all end user
446 license agreements (excluding distributors and resellers) which have
447 been validly granted by You or any distributor hereunder prior to
448 termination shall survive termination.
449
450 9.0 LIMIT OF LIABILITY
451
452 UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
453 (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
454 DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF ORIGINAL CODE,
455 OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY
456 INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
457 CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
458 WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
459 COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
460 INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
461 LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
462 RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
463 PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
464 EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS
465 EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
466
467 10.0 U.S. GOVERNMENT END USERS
468
469 U.S. Government: If this Software is being acquired by or on behalf of
470 the U.S. Government or by a U.S. Government prime contractor or
471 subcontractor (at any tier), then the Government's rights in the
472 Software and accompanying documentation shall be only as set forth in
473 this license; this is in accordance with 48 C.F.R. 227.7201 through
474 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48
475 C.F.R. 2.101 and 12.212 (for non-DoD acquisitions).
476
477 11.0 MISCELLANEOUS
478
479 This License represents the complete agreement concerning subject
480 matter hereof. If any provision of this License is held to be
481 unenforceable, such provision shall be reformed only to the extent
482 necessary to make it enforceable. This License shall be governed by
483 California law provisions (except to the extent applicable law, if any,
484 provides otherwise), excluding its conflict-of-law provisions. With
485 respect to disputes in which at least one party is a citizen of, or an
486 entity chartered or registered to do business in the United States of
487 America, any litigation relating to this License shall be subject to
488 the jurisdiction of the Federal Courts of the Northern District of
489 California, with venue lying in Santa Clara County, California, with
490 the losing party responsible for costs, including without limitation,
491 court costs and reasonable attorneys' fees and expenses. The
492 application of the United Nations Convention on Contracts for the
493 International Sale of Goods is expressly excluded. Any law or
494 regulation which provides that the language of a contract shall be
495 construed against the drafter shall not apply to this License.
496
497 EXHIBIT A - Sun Standards License
498"The contents of this file are subject to the Sun Standards
499License Version 1.1 (the "License");
500You may not use this file except in compliance with the
501License. You may obtain a copy of the
502License at _______________________________.
503
504Software distributed under the License is distributed on
505an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
506express or implied. See the License for the specific
507language governing rights and limitations under the License.
508
509The Original Code is ______________________________________.
510
511The Initial Developer of the Original Code is:
512InMon Corp.
513
514Portions created by: _______________________________________
515
516are Copyright (C): _______________________________________
517
518All Rights Reserved.
519
520Contributor(s): _______________________________________
521
522 EXHIBIT B - Standards
523
524 The Standard is defined as the following:
525
526 sFlow Specification, located at
527 [1]http://sflow.org/developers/specifications.php
528
529References
530
531 1. http://sflow.org/developers/specifications.php
532
533----------------------------------------------------------------------
534
535Retrieved from http://www.inmon.com/technology/sflowlicense.txt, 2011-12-12:
536
537LICENSE AGREEMENT
538
539PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY BEFORE REPRODUCING OR IN ANY WAY
540UTILIZING THE sFlow(R) SOFTWARE ("SOFTWARE") AND/OR ANY ACCOMPANYING DOCUMENTATION
541("DOCUMENTATION") AND/OR THE RELATED SPECIFICATIONS ("SPECIFICATIONS"). YOUR REPRODUCTION
542OR USE OF THE SOFTWARE AND/OR THE DOCUMENTATION AND/OR THE SPECIFICATIONS CONSTITUTES YOUR
543ACCEPTANCE OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO BE BOUND
544BY THE TERMS AND CONDITIONS OF THIS AGREEMENT, YOU MAY NOT REPRODUCE OR IN ANY WAY UTILIZE
545THE SOFTWARE OR THE DOCUMENTATION OR THE SPECIFICATIONS.
546
5471. Definitions.
548
549"Documentation" means the user manuals, training materials, and operating materials, if any,
550InMon provides to Licensee under this Agreement.
551
552"InMon" means InMon Corporation, its affiliates and subsidiaries.
553
554"Intellectual Property Rights" means any trade secrets, patents, including without
555limitation any patents covering the Software, copyrights, know-how, moral rights and
556similar rights of any type under the laws of any governmental authority, domestic or
557foreign, including all applications and registrations relating to any of the foregoing.
558
559"Licensee Hardware" means all computers, routers, or other equipment owned or controlled by
560or on behalf of Licensee.
561
562"Products" means any and all software applications, computers, routers, or other equipment
563manufactured by or on behalf of Licensee for the purpose of resale or lease to any other
564third party, or otherwise made available by Licensee free of charge.
565
566"Software" means the sFlow(R) software programs, in source or binary code format, that
567Licensee licenses from InMon under this Agreement and any bug fixes or error corrections
568which InMon may provide to Licensee.
569
570"Specifications" means the published specifications provided or otherwise made available by
571InMon at: http://www.sflow.org.
572
573"Trademark" means InMon's "sFlow(R)" trademark.
574
5752. License Grant.
576
5772.1 Software, Documentation and Specifications License Grant. InMon hereby grants to
578Licensee, under all of InMon's Intellectual Property Rights therein, a perpetual (subject
579to InMon's termination rights under Section 7 below), nonexclusive, royalty-free, worldwide,
580transferable, sublicensable license, to: (i) use and reproduce the Software, the
581Documentation, and the Specifications; (ii) modify the Software; (iii) implement the
582Specifications in the Products; (iv) install the Software, or software in which the
583Specifications have been implemented, on Licensee Hardware and Products, and (v) distribute
584any Products that include the Software, the Documentation, or software in which the
585Specifications have been implemented.
586
5872.2 Trademark License. InMon hereby grants to Licensee a perpetual (subject to InMon's
588termination rights under Section 7 below), nonexclusive, royalty-free, worldwide,
589transferable, sublicensable license to use the Trademark on or in connection with the
590Software, the Documentation, the Specifications and any software that implements the
591Specifications.
592
5932.3 Restrictions. Licensee agrees that it will not use the Software in a way
594inconsistent with the license granted in Section 2.1. Further, Licensee agrees that, in
595exercising its rights under the license granted to it in this Agreement, Licensee will:
596(i) strictly adhere to and fully comply with the Specifications; (ii) use the Trademark,
597and no other mark, to identify the Software, the Documentation, the Specifications and any
598Products that implement the Specifications; (iii) place, in a font or graphic design
599designated by InMon, the phrase "sFlow(R)" on any technical documentation,
600sales/marketing materials, catalogs, or other such materials relating to products it
601manufactures or markets which it has configured to be compatible with the Software or
602otherwise implement the Specifications; (iv) in connection with any Products shipped to or
603sold in other countries that include the Software or any software that implements the
604Specifications, comply with the patent and trademark laws and practice of such other
605country; and (v) not alter or impair any acknowledgment of copyright or trademark rights of
606InMon that may appear in or on the Software, the Documentation or the Specifications. In
607the event InMon determines that Licensee is not complying with its obligations under
608clauses (i)-(v) above, InMon shall notify Licensee of such non-compliance, and if Licensee
609fails to correct such non-compliance within three (3) months, InMon may immediately
610terminate this Agreement as provided under paragraph 7 below and pursue any and all
611actions and remedies as it deems necessary, including, but not limited to breach of
612contract.
613
6143. Ownership. Except for the license expressly granted in Section 2, Inmon hereby
615retains all right, title, and interest in and to the Trademark and all its Intellectual
616Property Rights in the Software, the Documentation and the Specifications. Licensee
617obtains no rights hereunder in the Trademark, Software, Documentation or Specifications by
618implication, estoppel or otherwise. Licensee acknowledges that the Trademark, Software,
619Documentation and Specifications are being licensed and not sold under this Agreement, and
620that this Agreement does not transfer title in the Trademark, Software, Documentation or
621Specifications, or any copy thereof, to Licensee.
622
6234. Support. Inmon shall have no obligation under this Agreement to (a) supply
624maintenance or support, bug fixes or error corrections to the Licensed Software,
625(b) supply future versions of the Licensed Software or (c) provide Licensed Software
626development tools to Licensee.
627
6285. Warranty. INMON HEREBY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS, IMPLIED OR
629STATUTORY, WITH RESPECT TO THE TRADEMARK, THE SOFTWARE, THE DOCUMENTATION, THE
630SPECIFICATIONS. OR OTHERWISE, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF
631MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF ANY INTELLECTUAL
632PROPERTY RIGHTS.
633
6346. Limitation of Liability. IN NO EVENT SHALL INMON OR ITS SUPPLIERS OR LICENSORS BE
635LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT OR EXEMPLARY DAMAGES WHATSOEVER,
636WHETHER RELATED TO OR ARISING OUT OF THIS AGREEMENT, THE TRADEMARK, THE SOFTWARE, THE
637DOCUMENTATION, THE SPECIFICATIONS, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, DAMAGES FOR
638LOSS OF PROFITS, BUSINESS INTERRUPTION, LOSS OF DATA, COSTS OF PROCUREMENT OF SUBSTITUTE
639GOODS OR SERVICES OR FOR ANY CLAIM OR DEMAND AGAINST LICENSEE BY ANY OTHER PARTY, OR OTHER
640PECUNIARY LOSS, EVEN IF INMON HAS BEEN ADVISED OF OR KNOWS OF THE POSSIBILITY OF SUCH
641DAMAGES.
642
6437. Term and Termination. The term of this Agreement will begin on the Effective Date,
644which shall be deemed to be the date of delivery of the Software and/or Documentation and/or
645Specifications to Licensee, and shall continue indefinitely unless and until terminated by
646Licensee's giving written notice of termination to InMon, or by InMon pursuant to InMon's
647termination rights as set forth in Section 2.3 above. Upon any termination of this
648Agreement, Licensee shall cease exercising its license rights under this Agreement,
649including the right to distribute Products that incorporate the Software or Documentation
650or that implement the Specifications. The rights and obligations contained in Sections 1,
6513, 5, 6, 7, and 8 shall survive any termination of this Agreement.
652
6538. General Provisions.
654
6558.1 Assignment. This Agreement shall be binding upon and inure to the benefit of the
656parties hereto and their permitted successors and permitted assigns. InMon will have the
657right to assign this Agreement without notice to Licensee. Licensee may assign or transfer
658(whether by merger, operation of law or in any other manner) any of its rights or delegate
659any of its obligations hereunder without the prior written consent of InMon, provided the
660assignee assumes in writing all of Licensee's obligations hereunder.
661
6628.2 Notices. All notices permitted or required under this Agreement shall be in
663writing and shall be delivered in person or mailed by first class, registered or certified
664mail, postage prepaid, to the address of the party specified in this Agreement or such
665other address as either party may specify in writing. Such notice shall be deemed to have
666been given upon receipt.
667
6688.3 Non-Waiver. No term or provision hereof shall be deemed waived, and no breach
669excused, unless such waiver or consent shall be in writing and signed by the party claimed
670to have waived or consented. Any consent or waiver, whether express or implied, shall not
671constitute a consent or waiver of, or excuse for any separate, different or subsequent
672breach.
673
6748.4 Independent Contractor. The parties' relationship shall be solely that of
675independent contractors, and nothing contained in this Agreement shall be construed to make
676either party an agent, partner, representative or principal of the other for any purpose.
677
6788.5 Choice of Law and Forum. This Agreement shall be governed by and construed under
679the laws of the State of California, without giving effect to such state's conflict of laws
680principles. The parties hereby submit to the personal jurisdiction of, and agree that any
681legal proceeding with respect to or arising under this Agreement shall be brought in, the
682United States District Court for the Northern District of California or the state courts
683of the State of California for the County of San Francisco.
684
6858.6 U.S. Government Licenses. The Software and Documentation are considered a
686"commercial item" as that term is defined at 48 C.F.R 2.101, or "commercial computer
687software" and "commercial computer software documentation" as such terms are used in
68848 C.F.R 12.212 of the Federal Acquisition Regulations and its successors, and
68948 C.F.R. 227.7202 of the DoD FAR Supplement and its successors.
690
6918.7 Severability. If any provision of this Agreement is held to be unenforceable under
692applicable law, then such provision shall be excluded from this Agreement and the balance
693of this Agreement shall be interpreted as if such provision were so excluded and shall be
694enforceable in accordance with its terms. The court in its discretion may substitute for
695the excluded provision an enforceable provision which in economic substance reasonably
696approximates the excluded provision.
697
6988.8 Compliance With Law. Licensee shall comply with all applicable laws and
699regulations (including privacy laws and regulations) having application to or governing its
700 use and/or operation of the Software and agrees to indemnify and hold InMon harmless from
701and against any claims, damages, losses or obligations suffered or incurred by InMon
702arising from its failure to so comply.
703
7048.9 Entire Agreement; Amendment. This Agreement constitutes the final, complete and
705entire agreement between the parties with respect to the subject matter hereof, and
706supersedes any previous proposals, negotiations, agreements, or arrangements, whether
707verbal or written, made between the parties with respect to such subject matter. This
708Agreement shall control over any additional or conflicting terms in any of Licensee's
709purchase orders or other business forms. This Agreement may only be amended or modified
710by mutual agreement of authorized representatives of the parties in writing.
711
712InMon Corp.
713580 California Street, 5th Floor, San Francisco, CA 94104
714Phone: (415) 283-3260
715URL: www.inmon.com
716Email: info@inmon.com
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/copyright.in b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/copyright.in
new file mode 100644
index 0000000..d840e4e
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/copyright.in
@@ -0,0 +1,716 @@
1The original sources for this package can be found at:
2
3 http://openvswitch.org/
4
5Upstream Authors (from AUTHORS):
6
7%AUTHORS%
8
9Upstream Copyright Holders:
10
11 Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
12 Copyright (c) 2010 Jean Tourrilhes - HP-Labs.
13 Copyright (c) 2008,2009,2010 Citrix Systems, Inc.
14 and authors listed above.
15 Copyright (c) 2011 Gaetano Catalli
16 Copyright (C) 2000-2003 Geoffrey Wossum (gwossum@acm.org)
17 Copyright (C) 2000 The NetBSD Foundation, Inc.
18 Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
19 Copyright (c) 1982, 1986, 1990, 1993 The Regents of the University of California.
20 Copyright (c) 2008, 2012 Vincent Bernat <bernat@luffy.cx>
21 Copyright (c) 2014 Michael Chapman
22 Copyright (c) 2014 WindRiver, Inc.
23 Copyright (c) 2014 Avaya, Inc.
24
25License:
26
27* The following components are licensed under the
28 GNU Lesser General Public License version 2.1 only
29 with the exception clause below as a pre-amble.
30
31 xenserver/etc_xensource_scripts_vif
32 xenserver/opt_xensource_libexec_InterfaceReconfigure.py
33 xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py
34 xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
35 xenserver/opt_xensource_libexec_interface-reconfigure
36 xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py
37
38 * These components are only distributed in the source package.
39 They do not appear in any binary packages.
40
41 On Debian systems, the complete text of the
42 GNU Lesser General Public License version 2.1 can be found in
43 `/usr/share/common-licenses/LGPL-2.1'
44
45 The exception clause pre-amble reads:
46
47 As a special exception to the GNU Lesser General Public License, you
48 may link, statically or dynamically, a "work that uses the Library"
49 with a publicly distributed version of the Library to produce an
50 executable file containing portions of the Library, and distribute
51 that executable file under terms of your choice, without any of the
52 additional requirements listed in clause 6 of the GNU Lesser General
53 Public License. By "a publicly distributed version of the Library",
54 we mean either the unmodified Library as distributed, or a
55 modified version of the Library that is distributed under the
56 conditions defined in clause 3 of the GNU Library General Public
57 License. This exception does not however invalidate any other reasons
58 why the executable file might be covered by the GNU Lesser General
59 Public License.
60
61* The following components are licensed under the
62 GNU Lesser General Public License version 2.1.
63
64 utilities/bugtool/ovs-bugtool
65 utilities/bugtool/ovs-bugtool-*
66 utilities/bugtool/plugins/kernel-info/openvswitch.xml
67 utilities/bugtool/plugins/network-status/openvswitch.xml
68 utilities/bugtool/plugins/system-configuration.xml
69 utilities/bugtool/plugins/system-configuration/openvswitch.xml
70
71 On Debian systems, the complete text of the
72 GNU Lesser General Public License version 2.1 can be found in
73 `/usr/share/common-licenses/LGPL-2.1'
74
75* The following component is licensed under the GNU General Public License
76 version 2.
77
78 datapath/
79
80 On Debian systems, the complete text of the GNU General Public License
81 version 2 can be found in `/usr/share/common-licenses/GPL-2'
82
83* The following file is licensed under the GNU General Public License
84 version 2.
85
86 build-aux/cccl
87
88* The following files are licensed under the 2-clause BSD license.
89
90 lib/getopt_long.c
91 include/windows/getopt.h
92
93* The following files are licensed under the 3-clause BSD-license
94
95 include/windows/netinet/icmp6.h
96 include/windows/netinet/ip6.h
97 lib/strsep.c
98
99* The following components are dual-licensed under the
100 GNU General Public License version 2 and the Apache License Version 2.0.
101
102 datapath/linux/compat/include/linux/openvswitch.h
103
104 On Debian systems, the complete text of the GNU General Public License
105 version 2 can be found in `/usr/share/common-licenses/GPL-2'.
106 On Debian systems, the complete text of the Apache License version 2.0
107 can be found in '/usr/share/common-licenses/Apache-2.0'.
108
109* The following components are licensed under the terms of either the
110 Sun Industry Standard Source License 1.1 or the InMon sFlow License:
111
112 lib/sflow.h
113 lib/sflow_agent.c
114 lib/sflow_api.h
115 lib/sflow_poller.c
116 lib/sflow_receiver.c
117 lib/sflow_sampler.c
118
119 These licenses are available, respectively, the following URLs:
120
121 http://host-sflow.sourceforge.net/sissl.html
122 http://www.inmon.com/technology/sflowlicense.txt
123
124 The full text of each license is also appended to the end of this
125 file.
126
127* The following components are licensed for use as desired without restriction:
128
129 lib/crc32c.c
130
131* The following components are licensed under the
132 Python Software Foundation License Version 2.
133
134 python/compat/uuid.py
135 python/compat/argparse.py
136
137 * These components are only distributed in the source package.
138 They do not appear in any binary packages.
139
140 PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
141 --------------------------------------------
142
143 1. This LICENSE AGREEMENT is between the Python Software Foundation
144 ("PSF"), and the Individual or Organization ("Licensee") accessing and
145 otherwise using this software ("Python") in source or binary form and
146 its associated documentation.
147
148 2. Subject to the terms and conditions of this License Agreement, PSF
149 hereby grants Licensee a nonexclusive, royalty-free, world-wide
150 license to reproduce, analyze, test, perform and/or display publicly,
151 prepare derivative works, distribute, and otherwise use Python
152 alone or in any derivative version, provided, however, that PSF's
153 License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
154 2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation;
155 All Rights Reserved" are retained in Python alone or in any derivative
156 version prepared by Licensee.
157
158 3. In the event Licensee prepares a derivative work that is based on
159 or incorporates Python or any part thereof, and wants to make
160 the derivative work available to others as provided herein, then
161 Licensee hereby agrees to include in any such work a brief summary of
162 the changes made to Python.
163
164 4. PSF is making Python available to Licensee on an "AS IS"
165 basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
166 IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
167 DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
168 FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
169 INFRINGE ANY THIRD PARTY RIGHTS.
170
171 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
172 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
173 A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
174 OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
175
176 6. This License Agreement will automatically terminate upon a material
177 breach of its terms and conditions.
178
179 7. Nothing in this License Agreement shall be deemed to create any
180 relationship of agency, partnership, or joint venture between PSF and
181 Licensee. This License Agreement does not grant permission to use PSF
182 trademarks or trade name in a trademark sense to endorse or promote
183 products or services of Licensee, or any third party.
184
185 8. By copying, installing or otherwise using Python, Licensee
186 agrees to be bound by the terms and conditions of this License
187 Agreement.
188
189* lib/ovs.tmac in the source distribution, and manpages in the
190 binaries, includes troff macros from groff 1.21 that contain the
191 following notice:
192
193 .\" an-ext.tmac
194 .\"
195 .\" Written by Eric S. Raymond <esr@thyrsus.com>
196 .\" Werner Lemberg <wl@gnu.org>
197 .\"
198 .\" Version 2007-Feb-02
199 .\"
200 .\" Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
201 .\" You may freely use, modify and/or distribute this file.
202
203* m4/absolute-header.m4, by Derek Price, and m4/include_next.m4, by
204 Paul Eggert and Derek Price bear the following notices:
205
206 Copyright (C) 2006-2013 Free Software Foundation, Inc.
207 This file is free software; the Free Software Foundation
208 gives unlimited permission to copy and/or distribute it,
209 with or without modifications, as long as this notice is preserved.
210
211* The following files are licensed under the ISC-license
212
213 lib/lldp/aa-structs.h
214 lib/lldp/lldpd.c
215 lib/lldp/lldpd.h
216 lib/lldp/lldpd-structs.c
217 lib/lldp/lldpd-structs.h
218 lib/lldp/lldp.c
219 lib/lldp/lldp-tlv.h
220 lib/lldp/lldp-const.h
221
222* All other components of this package are licensed under
223 The Apache License Version 2.0.
224
225 On Debian systems, the complete text of the Apache License version 2.0
226 can be found in '/usr/share/common-licenses/Apache-2.0'.
227
228----------------------------------------------------------------------
229
230Retrieved from http://host-sflow.sourceforge.net/sissl.html, 2011-12-12:
231
232 Sun Industry Standards Source License - Version 1.1
233
234 1.0 DEFINITIONS
235
236 1.1 "Commercial Use" means distribution or otherwise making the
237 Original Code available to a third party.
238
239 1.2 "Contributor Version" means the combination of the Original Code,
240 and the Modifications made by that particular Contributor.
241
242 1.3 "Electronic Distribution Mechanism" means a mechanism generally
243 accepted in the software development community for the electronic
244 transfer of data.
245
246 1.4 "Executable" means Original Code in any form other than Source
247 Code.
248
249 1.5 "Initial Developer" means the individual or entity identified as
250 the Initial Developer in the Source Code notice required by Exhibit A.
251
252 1.6 "Larger Work" means a work which combines Original Code or portions
253 thereof with code not governed by the terms of this License.
254
255 1.7 "License" means this document.
256
257 1.8 "Licensable" means having the right to grant, to the maximum extent
258 possible, whether at the time of the initial grant or subsequently
259 acquired, any and all of the rights conveyed herein.
260
261 1.9 "Modifications" means any addition to or deletion from the
262 substance or structure of either the Original Code or any previous
263 Modifications. A Modification is:
264
265 A. Any addition to or deletion from the contents of a file containing
266 Original Code or previous Modifications.
267
268 B. Any new file that contains any part of the Original Code or previous
269 Modifications.
270
271 1.10 "Original Code" means Source Code of computer software code which
272 is described in the Source Code notice required by Exhibit A as
273 Original Code.
274
275 1.11 "Patent Claims" means any patent claim(s), now owned or hereafter
276 acquired, including without limitation, method, process, and apparatus
277 claims, in any patent Licensable by grantor.
278
279 1.12 "Source Code" means the preferred form of the Original Code for
280 making modifications to it, including all modules it contains, plus any
281 associated interface definition files, or scripts used to control
282 compilation and installation of an Executable.
283
284 1.13 "Standards" means the standards identified in Exhibit B.
285
286 1.14 "You" (or "Your") means an individual or a legal entity exercising
287 rights under, and complying with all of the terms of, this License or a
288 future version of this License issued under Section 6.1. For legal
289 entities, "You'' includes any entity which controls, is controlled by,
290 or is under common control with You. For purposes of this definition,
291 "control'' means (a) the power, direct or indirect, to cause the
292 direction or management of such entity, whether by contract or
293 otherwise, or (b) ownership of more than fifty percent (50%) of the
294 outstanding shares or beneficial ownership of such entity.
295
296 2.0 SOURCE CODE LICENSE
297
298 2.1 The Initial Developer Grant
299 The Initial Developer hereby grants You a world-wide, royalty-free,
300 non-exclusive license, subject to third party intellectual property
301 claims:
302
303 (a) under intellectual property rights (other than patent or trademark)
304 Licensable by Initial Developer to use, reproduce, modify, display,
305 perform, sublicense and distribute the Original Code (or portions
306 thereof) with or without Modifications, and/or as part of a Larger
307 Work; and
308
309 (b) under Patents Claims infringed by the making, using or selling of
310 Original Code, to make, have made, use, practice, sell, and offer for
311 sale, and/or otherwise dispose of the Original Code (or portions
312 thereof).
313
314 (c) the licenses granted in this Section 2.1(a) and (b) are effective
315 on the date Initial Developer first distributes Original Code under the
316 terms of this License.
317
318 (d) Notwithstanding Section 2.1(b) above, no patent license is granted:
319 1) for code that You delete from the Original Code; 2) separate from
320 the Original Code; or 3) for infringements caused by: i) the
321 modification of the Original Code or ii) the combination of the
322 Original Code with other software or devices, including but not limited
323 to Modifications.
324 3.0 DISTRIBUTION OBLIGATIONS
325
326 3.1 Application of License.
327 The Source Code version of Original Code may be distributed only under
328 the terms of this License or a future version of this License released
329 under Section 6.1, and You must include a copy of this License with
330 every copy of the Source Code You distribute. You may not offer or
331 impose any terms on any Source Code version that alters or restricts
332 the applicable version of this License or the recipients' rights
333 hereunder. Your license for shipment of the Contributor Version is
334 conditioned upon Your full compliance with this Section. The
335 Modifications which You create must comply with all requirements set
336 out by the Standards body in effect one hundred twenty (120) days
337 before You ship the Contributor Version. In the event that the
338 Modifications do not meet such requirements, You agree to publish
339 either (i) any deviation from the Standards protocol resulting from
340 implementation of Your Modifications and a reference implementation of
341 Your Modifications or (ii) Your Modifications in Source Code form, and
342 to make any such deviation and reference implementation or
343 Modifications available to all third parties under the same terms as
344 this license on a royalty free basis within thirty (30) days of Your
345 first customer shipment of Your Modifications.
346
347 3.2 Required Notices.
348 You must duplicate the notice in Exhibit A in each file of the Source
349 Code. If it is not possible to put such notice in a particular Source
350 Code file due to its structure, then You must include such notice in a
351 location (such as a relevant directory) where a user would be likely to
352 look for such a notice. If You created one or more Modification(s) You
353 may add Your name as a Contributor to the notice described in Exhibit
354 A. You must also duplicate this License in any documentation for the
355 Source Code where You describe recipients' rights or ownership rights
356 relating to Initial Code. You may choose to offer, and to charge a fee
357 for, warranty, support, indemnity or liability obligations to one or
358 more recipients of Your version of the Code. However, You may do so
359 only on Your own behalf, and not on behalf of the Initial Developer.
360 You must make it absolutely clear than any such warranty, support,
361 indemnity or liability obligation is offered by You alone, and You
362 hereby agree to indemnify the Initial Developer for any liability
363 incurred by the Initial Developer as a result of warranty, support,
364 indemnity or liability terms You offer.
365
366 3.3 Distribution of Executable Versions.
367 You may distribute Original Code in Executable and Source form only if
368 the requirements of Sections 3.1 and 3.2 have been met for that
369 Original Code, and if You include a notice stating that the Source Code
370 version of the Original Code is available under the terms of this
371 License. The notice must be conspicuously included in any notice in an
372 Executable or Source versions, related documentation or collateral in
373 which You describe recipients' rights relating to the Original Code.
374 You may distribute the Executable and Source versions of Your version
375 of the Code or ownership rights under a license of Your choice, which
376 may contain terms different from this License, provided that You are in
377 compliance with the terms of this License. If You distribute the
378 Executable and Source versions under a different license You must make
379 it absolutely clear that any terms which differ from this License are
380 offered by You alone, not by the Initial Developer. You hereby agree to
381 indemnify the Initial Developer for any liability incurred by the
382 Initial Developer as a result of any such terms You offer.
383
384 3.4 Larger Works.
385 You may create a Larger Work by combining Original Code with other code
386 not governed by the terms of this License and distribute the Larger
387 Work as a single product. In such a case, You must make sure the
388 requirements of this License are fulfilled for the Original Code.
389
390 4.0 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION
391
392 If it is impossible for You to comply with any of the terms of this
393 License with respect to some or all of the Original Code due to
394 statute, judicial order, or regulation then You must: (a) comply with
395 the terms of this License to the maximum extent possible; and (b)
396 describe the limitations and the code they affect. Such description
397 must be included in the LEGAL file described in Section 3.2 and must be
398 included with all distributions of the Source Code. Except to the
399 extent prohibited by statute or regulation, such description must be
400 sufficiently detailed for a recipient of ordinary skill to be able to
401 understand it.
402
403 5.0 APPLICATION OF THIS LICENSE
404
405 This License applies to code to which the Initial Developer has
406 attached the notice in Exhibit A and to related Modifications as set
407 out in Section 3.1.
408
409 6.0 VERSIONS OF THE LICENSE
410
411 6.1 New Versions.
412 Sun may publish revised and/or new versions of the License from time to
413 time. Each version will be given a distinguishing version number.
414
415 6.2 Effect of New Versions.
416 Once Original Code has been published under a particular version of the
417 License, You may always continue to use it under the terms of that
418 version. You may also choose to use such Original Code under the terms
419 of any subsequent version of the License published by Sun. No one other
420 than Sun has the right to modify the terms applicable to Original Code.
421
422 7.0 DISCLAIMER OF WARRANTY
423
424 ORIGINAL CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
425 WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
426 WITHOUT LIMITATION, WARRANTIES THAT THE ORIGINAL CODE IS FREE OF
427 DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
428 THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ORIGINAL CODE
429 IS WITH YOU. SHOULD ANY ORIGINAL CODE PROVE DEFECTIVE IN ANY RESPECT,
430 YOU (NOT THE INITIAL DEVELOPER) ASSUME THE COST OF ANY NECESSARY
431 SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
432 CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY ORIGINAL
433 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
434
435 8.0 TERMINATION
436
437 8.1 This License and the rights granted hereunder will terminate
438 automatically if You fail to comply with terms herein and fail to cure
439 such breach within 30 days of becoming aware of the breach. All
440 sublicenses to the Original Code which are properly granted shall
441 survive any termination of this License. Provisions which, by their
442 nature, must remain in effect beyond the termination of this License
443 shall survive.
444
445 8.2 In the event of termination under Section 8.1 above, all end user
446 license agreements (excluding distributors and resellers) which have
447 been validly granted by You or any distributor hereunder prior to
448 termination shall survive termination.
449
450 9.0 LIMIT OF LIABILITY
451
452 UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
453 (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
454 DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF ORIGINAL CODE,
455 OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY
456 INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
457 CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
458 WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
459 COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
460 INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
461 LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
462 RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
463 PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
464 EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS
465 EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
466
467 10.0 U.S. GOVERNMENT END USERS
468
469 U.S. Government: If this Software is being acquired by or on behalf of
470 the U.S. Government or by a U.S. Government prime contractor or
471 subcontractor (at any tier), then the Government's rights in the
472 Software and accompanying documentation shall be only as set forth in
473 this license; this is in accordance with 48 C.F.R. 227.7201 through
474 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48
475 C.F.R. 2.101 and 12.212 (for non-DoD acquisitions).
476
477 11.0 MISCELLANEOUS
478
479 This License represents the complete agreement concerning subject
480 matter hereof. If any provision of this License is held to be
481 unenforceable, such provision shall be reformed only to the extent
482 necessary to make it enforceable. This License shall be governed by
483 California law provisions (except to the extent applicable law, if any,
484 provides otherwise), excluding its conflict-of-law provisions. With
485 respect to disputes in which at least one party is a citizen of, or an
486 entity chartered or registered to do business in the United States of
487 America, any litigation relating to this License shall be subject to
488 the jurisdiction of the Federal Courts of the Northern District of
489 California, with venue lying in Santa Clara County, California, with
490 the losing party responsible for costs, including without limitation,
491 court costs and reasonable attorneys' fees and expenses. The
492 application of the United Nations Convention on Contracts for the
493 International Sale of Goods is expressly excluded. Any law or
494 regulation which provides that the language of a contract shall be
495 construed against the drafter shall not apply to this License.
496
497 EXHIBIT A - Sun Standards License
498"The contents of this file are subject to the Sun Standards
499License Version 1.1 (the "License");
500You may not use this file except in compliance with the
501License. You may obtain a copy of the
502License at _______________________________.
503
504Software distributed under the License is distributed on
505an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
506express or implied. See the License for the specific
507language governing rights and limitations under the License.
508
509The Original Code is ______________________________________.
510
511The Initial Developer of the Original Code is:
512InMon Corp.
513
514Portions created by: _______________________________________
515
516are Copyright (C): _______________________________________
517
518All Rights Reserved.
519
520Contributor(s): _______________________________________
521
522 EXHIBIT B - Standards
523
524 The Standard is defined as the following:
525
526 sFlow Specification, located at
527 [1]http://sflow.org/developers/specifications.php
528
529References
530
531 1. http://sflow.org/developers/specifications.php
532
533----------------------------------------------------------------------
534
535Retrieved from http://www.inmon.com/technology/sflowlicense.txt, 2011-12-12:
536
537LICENSE AGREEMENT
538
539PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY BEFORE REPRODUCING OR IN ANY WAY
540UTILIZING THE sFlow(R) SOFTWARE ("SOFTWARE") AND/OR ANY ACCOMPANYING DOCUMENTATION
541("DOCUMENTATION") AND/OR THE RELATED SPECIFICATIONS ("SPECIFICATIONS"). YOUR REPRODUCTION
542OR USE OF THE SOFTWARE AND/OR THE DOCUMENTATION AND/OR THE SPECIFICATIONS CONSTITUTES YOUR
543ACCEPTANCE OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO BE BOUND
544BY THE TERMS AND CONDITIONS OF THIS AGREEMENT, YOU MAY NOT REPRODUCE OR IN ANY WAY UTILIZE
545THE SOFTWARE OR THE DOCUMENTATION OR THE SPECIFICATIONS.
546
5471. Definitions.
548
549"Documentation" means the user manuals, training materials, and operating materials, if any,
550InMon provides to Licensee under this Agreement.
551
552"InMon" means InMon Corporation, its affiliates and subsidiaries.
553
554"Intellectual Property Rights" means any trade secrets, patents, including without
555limitation any patents covering the Software, copyrights, know-how, moral rights and
556similar rights of any type under the laws of any governmental authority, domestic or
557foreign, including all applications and registrations relating to any of the foregoing.
558
559"Licensee Hardware" means all computers, routers, or other equipment owned or controlled by
560or on behalf of Licensee.
561
562"Products" means any and all software applications, computers, routers, or other equipment
563manufactured by or on behalf of Licensee for the purpose of resale or lease to any other
564third party, or otherwise made available by Licensee free of charge.
565
566"Software" means the sFlow(R) software programs, in source or binary code format, that
567Licensee licenses from InMon under this Agreement and any bug fixes or error corrections
568which InMon may provide to Licensee.
569
570"Specifications" means the published specifications provided or otherwise made available by
571InMon at: http://www.sflow.org.
572
573"Trademark" means InMon's "sFlow(R)" trademark.
574
5752. License Grant.
576
5772.1 Software, Documentation and Specifications License Grant. InMon hereby grants to
578Licensee, under all of InMon's Intellectual Property Rights therein, a perpetual (subject
579to InMon's termination rights under Section 7 below), nonexclusive, royalty-free, worldwide,
580transferable, sublicensable license, to: (i) use and reproduce the Software, the
581Documentation, and the Specifications; (ii) modify the Software; (iii) implement the
582Specifications in the Products; (iv) install the Software, or software in which the
583Specifications have been implemented, on Licensee Hardware and Products, and (v) distribute
584any Products that include the Software, the Documentation, or software in which the
585Specifications have been implemented.
586
5872.2 Trademark License. InMon hereby grants to Licensee a perpetual (subject to InMon's
588termination rights under Section 7 below), nonexclusive, royalty-free, worldwide,
589transferable, sublicensable license to use the Trademark on or in connection with the
590Software, the Documentation, the Specifications and any software that implements the
591Specifications.
592
5932.3 Restrictions. Licensee agrees that it will not use the Software in a way
594inconsistent with the license granted in Section 2.1. Further, Licensee agrees that, in
595exercising its rights under the license granted to it in this Agreement, Licensee will:
596(i) strictly adhere to and fully comply with the Specifications; (ii) use the Trademark,
597and no other mark, to identify the Software, the Documentation, the Specifications and any
598Products that implement the Specifications; (iii) place, in a font or graphic design
599designated by InMon, the phrase "sFlow(R)" on any technical documentation,
600sales/marketing materials, catalogs, or other such materials relating to products it
601manufactures or markets which it has configured to be compatible with the Software or
602otherwise implement the Specifications; (iv) in connection with any Products shipped to or
603sold in other countries that include the Software or any software that implements the
604Specifications, comply with the patent and trademark laws and practice of such other
605country; and (v) not alter or impair any acknowledgment of copyright or trademark rights of
606InMon that may appear in or on the Software, the Documentation or the Specifications. In
607the event InMon determines that Licensee is not complying with its obligations under
608clauses (i)-(v) above, InMon shall notify Licensee of such non-compliance, and if Licensee
609fails to correct such non-compliance within three (3) months, InMon may immediately
610terminate this Agreement as provided under paragraph 7 below and pursue any and all
611actions and remedies as it deems necessary, including, but not limited to breach of
612contract.
613
6143. Ownership. Except for the license expressly granted in Section 2, Inmon hereby
615retains all right, title, and interest in and to the Trademark and all its Intellectual
616Property Rights in the Software, the Documentation and the Specifications. Licensee
617obtains no rights hereunder in the Trademark, Software, Documentation or Specifications by
618implication, estoppel or otherwise. Licensee acknowledges that the Trademark, Software,
619Documentation and Specifications are being licensed and not sold under this Agreement, and
620that this Agreement does not transfer title in the Trademark, Software, Documentation or
621Specifications, or any copy thereof, to Licensee.
622
6234. Support. Inmon shall have no obligation under this Agreement to (a) supply
624maintenance or support, bug fixes or error corrections to the Licensed Software,
625(b) supply future versions of the Licensed Software or (c) provide Licensed Software
626development tools to Licensee.
627
6285. Warranty. INMON HEREBY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS, IMPLIED OR
629STATUTORY, WITH RESPECT TO THE TRADEMARK, THE SOFTWARE, THE DOCUMENTATION, THE
630SPECIFICATIONS. OR OTHERWISE, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF
631MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF ANY INTELLECTUAL
632PROPERTY RIGHTS.
633
6346. Limitation of Liability. IN NO EVENT SHALL INMON OR ITS SUPPLIERS OR LICENSORS BE
635LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT OR EXEMPLARY DAMAGES WHATSOEVER,
636WHETHER RELATED TO OR ARISING OUT OF THIS AGREEMENT, THE TRADEMARK, THE SOFTWARE, THE
637DOCUMENTATION, THE SPECIFICATIONS, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, DAMAGES FOR
638LOSS OF PROFITS, BUSINESS INTERRUPTION, LOSS OF DATA, COSTS OF PROCUREMENT OF SUBSTITUTE
639GOODS OR SERVICES OR FOR ANY CLAIM OR DEMAND AGAINST LICENSEE BY ANY OTHER PARTY, OR OTHER
640PECUNIARY LOSS, EVEN IF INMON HAS BEEN ADVISED OF OR KNOWS OF THE POSSIBILITY OF SUCH
641DAMAGES.
642
6437. Term and Termination. The term of this Agreement will begin on the Effective Date,
644which shall be deemed to be the date of delivery of the Software and/or Documentation and/or
645Specifications to Licensee, and shall continue indefinitely unless and until terminated by
646Licensee's giving written notice of termination to InMon, or by InMon pursuant to InMon's
647termination rights as set forth in Section 2.3 above. Upon any termination of this
648Agreement, Licensee shall cease exercising its license rights under this Agreement,
649including the right to distribute Products that incorporate the Software or Documentation
650or that implement the Specifications. The rights and obligations contained in Sections 1,
6513, 5, 6, 7, and 8 shall survive any termination of this Agreement.
652
6538. General Provisions.
654
6558.1 Assignment. This Agreement shall be binding upon and inure to the benefit of the
656parties hereto and their permitted successors and permitted assigns. InMon will have the
657right to assign this Agreement without notice to Licensee. Licensee may assign or transfer
658(whether by merger, operation of law or in any other manner) any of its rights or delegate
659any of its obligations hereunder without the prior written consent of InMon, provided the
660assignee assumes in writing all of Licensee's obligations hereunder.
661
6628.2 Notices. All notices permitted or required under this Agreement shall be in
663writing and shall be delivered in person or mailed by first class, registered or certified
664mail, postage prepaid, to the address of the party specified in this Agreement or such
665other address as either party may specify in writing. Such notice shall be deemed to have
666been given upon receipt.
667
6688.3 Non-Waiver. No term or provision hereof shall be deemed waived, and no breach
669excused, unless such waiver or consent shall be in writing and signed by the party claimed
670to have waived or consented. Any consent or waiver, whether express or implied, shall not
671constitute a consent or waiver of, or excuse for any separate, different or subsequent
672breach.
673
6748.4 Independent Contractor. The parties' relationship shall be solely that of
675independent contractors, and nothing contained in this Agreement shall be construed to make
676either party an agent, partner, representative or principal of the other for any purpose.
677
6788.5 Choice of Law and Forum. This Agreement shall be governed by and construed under
679the laws of the State of California, without giving effect to such state's conflict of laws
680principles. The parties hereby submit to the personal jurisdiction of, and agree that any
681legal proceeding with respect to or arising under this Agreement shall be brought in, the
682United States District Court for the Northern District of California or the state courts
683of the State of California for the County of San Francisco.
684
6858.6 U.S. Government Licenses. The Software and Documentation are considered a
686"commercial item" as that term is defined at 48 C.F.R 2.101, or "commercial computer
687software" and "commercial computer software documentation" as such terms are used in
68848 C.F.R 12.212 of the Federal Acquisition Regulations and its successors, and
68948 C.F.R. 227.7202 of the DoD FAR Supplement and its successors.
690
6918.7 Severability. If any provision of this Agreement is held to be unenforceable under
692applicable law, then such provision shall be excluded from this Agreement and the balance
693of this Agreement shall be interpreted as if such provision were so excluded and shall be
694enforceable in accordance with its terms. The court in its discretion may substitute for
695the excluded provision an enforceable provision which in economic substance reasonably
696approximates the excluded provision.
697
6988.8 Compliance With Law. Licensee shall comply with all applicable laws and
699regulations (including privacy laws and regulations) having application to or governing its
700 use and/or operation of the Software and agrees to indemnify and hold InMon harmless from
701and against any claims, damages, losses or obligations suffered or incurred by InMon
702arising from its failure to so comply.
703
7048.9 Entire Agreement; Amendment. This Agreement constitutes the final, complete and
705entire agreement between the parties with respect to the subject matter hereof, and
706supersedes any previous proposals, negotiations, agreements, or arrangements, whether
707verbal or written, made between the parties with respect to such subject matter. This
708Agreement shall control over any additional or conflicting terms in any of Licensee's
709purchase orders or other business forms. This Agreement may only be amended or modified
710by mutual agreement of authorized representatives of the parties in writing.
711
712InMon Corp.
713580 California Street, 5th Floor, San Francisco, CA 94104
714Phone: (415) 283-3260
715URL: www.inmon.com
716Email: info@inmon.com
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.README.Debian b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.README.Debian
new file mode 100644
index 0000000..d55099b
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.README.Debian
@@ -0,0 +1,42 @@
1openvswitch-switch-dpdk
2-----------------------
3
4This package provides a DPDK enabled version of the OpenvSwitch vswitchd
5binary; by default, the ovs-vswitchd binary from openvswitch-switch will
6be used:
7
8 $ update-alternatives --query ovs-vswitchd
9 Name: ovs-vswitchd
10 Link: /usr/sbin/ovs-vswitchd
11 Status: auto
12 Best: /usr/lib/openvswitch-switch/ovs-vswitchd
13 Value: /usr/lib/openvswitch-switch/ovs-vswitchd
14
15 Alternative: /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk
16 Priority: 50
17
18 Alternative: /usr/lib/openvswitch-switch/ovs-vswitchd
19 Priority: 100
20
21DPDK provides fast packet processing in userspace, and has some specific
22requirements in terms of system configuration - see the upstream
23documentation for more details:
24
25 /usr/share/doc/openvswitch-common/INSTALL.DPDK.md.gz
26
27DPDK has a minimum CPU feature set of SSE3, so is not appropriate for all
28amd64 CPU types hence is not enabled by default.
29
30To switch to the DPDK version:
31
32 sudo update-alternatives --set ovs-vswitchd \
33 /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk
34 sudo service openvswitch-switch restart
35
36and to switch back:
37
38 sudo update-alternatives --set ovs-vswitchd \
39 /usr/lib/openvswitch-switch/ovs-vswitchd
40 sudo service openvswitch-switch restart
41
42 -- James Page <james.page@ubuntu.com> Tue, 21 Jul 2015 12:06:49 +0100
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.postinst b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.postinst
new file mode 100644
index 0000000..ff5a725
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.postinst
@@ -0,0 +1,10 @@
1#!/bin/sh
2
3set -e
4
5update-alternatives --install /usr/sbin/ovs-vswitchd ovs-vswitchd \
6 /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk 50
7
8#DEBHELPER#
9
10exit 0
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.prerm b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.prerm
new file mode 100644
index 0000000..82b2136
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/openvswitch-switch-dpdk.prerm
@@ -0,0 +1,10 @@
1#!/bin/sh
2
3set -e
4
5update-alternatives --remove ovs-vswitchd /usr/lib/openvswitch-switch/ovs-vswitchd-dpdk
6
7#DEBHELPER#
8
9exit 0
10
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/ovs-monitor-ipsec b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/ovs-monitor-ipsec
new file mode 100755
index 0000000..414d18b
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/ovs-monitor-ipsec
@@ -0,0 +1,494 @@
1#!/usr/bin/python
2# Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at:
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16
17# A daemon to monitor attempts to create GRE-over-IPsec tunnels.
18# Uses racoon and setkey to support the configuration. Assumes that
19# OVS has complete control over IPsec configuration for the box.
20
21# xxx To-do:
22# - Doesn't actually check that Interface is connected to bridge
23# - If a certificate is badly formed, Racoon will refuse to start. We
24# should do a better job of verifying certificates are valid before
25# adding an interface to racoon.conf.
26
27
28import argparse
29import glob
30import os
31import subprocess
32import sys
33
34import ovs.dirs
35from ovs.db import error
36from ovs.db import types
37import ovs.util
38import ovs.daemon
39import ovs.db.idl
40import ovs.unixctl
41import ovs.unixctl.server
42import ovs.vlog
43
44vlog = ovs.vlog.Vlog("ovs-monitor-ipsec")
45root_prefix = '' # Prefix for absolute file names, for testing.
46SETKEY = "/usr/sbin/setkey"
47exiting = False
48
49
50def unixctl_exit(conn, unused_argv, unused_aux):
51 global exiting
52 exiting = True
53 conn.reply(None)
54
55
56# Class to configure the racoon daemon, which handles IKE negotiation
57class Racoon:
58 # Default locations for files
59 conf_file = "/etc/racoon/racoon.conf"
60 cert_dir = "/etc/racoon/certs"
61 psk_file = "/etc/racoon/psk.txt"
62
63 # Racoon configuration header we use for IKE
64 conf_header = """# Configuration file generated by Open vSwitch
65#
66# Do not modify by hand!
67
68path pre_shared_key "%s";
69path certificate "%s";
70
71"""
72
73 # Racoon configuration footer we use for IKE
74 conf_footer = """sainfo anonymous {
75 pfs_group 2;
76 lifetime time 1 hour;
77 encryption_algorithm aes;
78 authentication_algorithm hmac_sha1, hmac_md5;
79 compression_algorithm deflate;
80}
81
82"""
83
84 # Certificate entry template.
85 cert_entry = """remote %s {
86 exchange_mode main;
87 nat_traversal on;
88 ike_frag on;
89 certificate_type x509 "%s" "%s";
90 my_identifier asn1dn;
91 peers_identifier asn1dn;
92 peers_certfile x509 "%s";
93 verify_identifier on;
94 proposal {
95 encryption_algorithm aes;
96 hash_algorithm sha1;
97 authentication_method rsasig;
98 dh_group 2;
99 }
100}
101
102"""
103
104 # Pre-shared key template.
105 psk_entry = """remote %s {
106 exchange_mode main;
107 nat_traversal on;
108 proposal {
109 encryption_algorithm aes;
110 hash_algorithm sha1;
111 authentication_method pre_shared_key;
112 dh_group 2;
113 }
114}
115
116"""
117
118 def __init__(self):
119 self.psk_hosts = {}
120 self.cert_hosts = {}
121
122 if not os.path.isdir(root_prefix + self.cert_dir):
123 os.mkdir(self.cert_dir)
124
125 # Clean out stale peer certs from previous runs
126 for ovs_cert in glob.glob("%s%s/ovs-*.pem"
127 % (root_prefix, self.cert_dir)):
128 try:
129 os.remove(ovs_cert)
130 except OSError:
131 vlog.warn("couldn't remove %s" % ovs_cert)
132
133 # Replace racoon's conf file with our template
134 self.commit()
135
136 def reload(self):
137 exitcode = subprocess.call([root_prefix + "/etc/init.d/racoon",
138 "reload"])
139 if exitcode != 0:
140 # Racoon is finicky about its configuration file and will
141 # refuse to start if it sees something it doesn't like
142 # (e.g., a certificate file doesn't exist). Try restarting
143 # the process before giving up.
144 vlog.warn("attempting to restart racoon")
145 exitcode = subprocess.call([root_prefix + "/etc/init.d/racoon",
146 "restart"])
147 if exitcode != 0:
148 vlog.warn("couldn't reload racoon")
149
150 def commit(self):
151 # Rewrite the Racoon configuration file
152 conf_file = open(root_prefix + self.conf_file, 'w')
153 conf_file.write(Racoon.conf_header % (self.psk_file, self.cert_dir))
154
155 for host, vals in self.cert_hosts.iteritems():
156 conf_file.write(Racoon.cert_entry % (host, vals["certificate"],
157 vals["private_key"], vals["peer_cert_file"]))
158
159 for host in self.psk_hosts:
160 conf_file.write(Racoon.psk_entry % host)
161
162 conf_file.write(Racoon.conf_footer)
163 conf_file.close()
164
165 # Rewrite the pre-shared keys file; it must only be readable by root.
166 orig_umask = os.umask(0077)
167 psk_file = open(root_prefix + Racoon.psk_file, 'w')
168 os.umask(orig_umask)
169
170 psk_file.write("# Generated by Open vSwitch...do not modify by hand!")
171 psk_file.write("\n\n")
172 for host, vals in self.psk_hosts.iteritems():
173 psk_file.write("%s %s\n" % (host, vals["psk"]))
174 psk_file.close()
175
176 self.reload()
177
178 def _add_psk(self, host, psk):
179 if host in self.cert_hosts:
180 raise error.Error("host %s already defined for cert" % host)
181
182 self.psk_hosts[host] = psk
183 self.commit()
184
185 def _verify_certs(self, vals):
186 # Racoon will refuse to start if the certificate files don't
187 # exist, so verify that they're there.
188 if not os.path.isfile(root_prefix + vals["certificate"]):
189 raise error.Error("'certificate' file does not exist: %s"
190 % vals["certificate"])
191 elif not os.path.isfile(root_prefix + vals["private_key"]):
192 raise error.Error("'private_key' file does not exist: %s"
193 % vals["private_key"])
194
195 # Racoon won't start if a given certificate or private key isn't
196 # valid. This is a weak test, but will detect the most flagrant
197 # errors.
198 if vals["peer_cert"].find("-----BEGIN CERTIFICATE-----") == -1:
199 raise error.Error("'peer_cert' is not in valid PEM format")
200
201 cert = open(root_prefix + vals["certificate"]).read()
202 if cert.find("-----BEGIN CERTIFICATE-----") == -1:
203 raise error.Error("'certificate' is not in valid PEM format")
204
205 cert = open(root_prefix + vals["private_key"]).read()
206 if cert.find("-----BEGIN RSA PRIVATE KEY-----") == -1:
207 raise error.Error("'private_key' is not in valid PEM format")
208
209 def _add_cert(self, host, vals):
210 if host in self.psk_hosts:
211 raise error.Error("host %s already defined for psk" % host)
212
213 if vals["certificate"] == None:
214 raise error.Error("'certificate' not defined for %s" % host)
215 elif vals["private_key"] == None:
216 # Assume the private key is stored in the same PEM file as
217 # the certificate. We make a copy of "vals" so that we don't
218 # modify the original "vals", which would cause the script
219 # to constantly think that the configuration has changed
220 # in the database.
221 vals = vals.copy()
222 vals["private_key"] = vals["certificate"]
223
224 self._verify_certs(vals)
225
226 # The peer's certificate comes to us in PEM format as a string.
227 # Write that string to a file for Racoon to use.
228 f = open(root_prefix + vals["peer_cert_file"], "w")
229 f.write(vals["peer_cert"])
230 f.close()
231
232 self.cert_hosts[host] = vals
233 self.commit()
234
235 def _del_cert(self, host):
236 peer_cert_file = self.cert_hosts[host]["peer_cert_file"]
237 del self.cert_hosts[host]
238 self.commit()
239 try:
240 os.remove(root_prefix + peer_cert_file)
241 except OSError:
242 pass
243
244 def add_entry(self, host, vals):
245 if vals["peer_cert"]:
246 self._add_cert(host, vals)
247 elif vals["psk"]:
248 self._add_psk(host, vals)
249
250 def del_entry(self, host):
251 if host in self.cert_hosts:
252 self._del_cert(host)
253 elif host in self.psk_hosts:
254 del self.psk_hosts[host]
255 self.commit()
256
257
258# Class to configure IPsec on a system using racoon for IKE and setkey
259# for maintaining the Security Association Database (SAD) and Security
260# Policy Database (SPD). Only policies for GRE are supported.
261class IPsec:
262 def __init__(self):
263 self.sad_flush()
264 self.spd_flush()
265 self.racoon = Racoon()
266 self.entries = []
267
268 def call_setkey(self, cmds):
269 try:
270 p = subprocess.Popen([root_prefix + SETKEY, "-c"],
271 stdin=subprocess.PIPE,
272 stdout=subprocess.PIPE)
273 except:
274 vlog.err("could not call %s%s" % (root_prefix, SETKEY))
275 sys.exit(1)
276
277 # xxx It is safer to pass the string into the communicate()
278 # xxx method, but it didn't work for slightly longer commands.
279 # xxx An alternative may need to be found.
280 p.stdin.write(cmds)
281 return p.communicate()[0]
282
283 def get_spi(self, local_ip, remote_ip, proto="esp"):
284 # Run the setkey dump command to retrieve the SAD. Then, parse
285 # the output looking for SPI buried in the output. Note that
286 # multiple SAD entries can exist for the same "flow", since an
287 # older entry could be in a "dying" state.
288 spi_list = []
289 host_line = "%s %s" % (local_ip, remote_ip)
290 results = self.call_setkey("dump ;\n").split("\n")
291 for i in range(len(results)):
292 if results[i].strip() == host_line:
293 # The SPI is in the line following the host pair
294 spi_line = results[i + 1]
295 if (spi_line[1:4] == proto):
296 spi = spi_line.split()[2]
297 spi_list.append(spi.split('(')[1].rstrip(')'))
298 return spi_list
299
300 def sad_flush(self):
301 self.call_setkey("flush;\n")
302
303 def sad_del(self, local_ip, remote_ip):
304 # To delete all SAD entries, we should be able to use setkey's
305 # "deleteall" command. Unfortunately, it's fundamentally broken
306 # on Linux and not documented as such.
307 cmds = ""
308
309 # Delete local_ip->remote_ip SAD entries
310 spi_list = self.get_spi(local_ip, remote_ip)
311 for spi in spi_list:
312 cmds += "delete %s %s esp %s;\n" % (local_ip, remote_ip, spi)
313
314 # Delete remote_ip->local_ip SAD entries
315 spi_list = self.get_spi(remote_ip, local_ip)
316 for spi in spi_list:
317 cmds += "delete %s %s esp %s;\n" % (remote_ip, local_ip, spi)
318
319 if cmds:
320 self.call_setkey(cmds)
321
322 def spd_flush(self):
323 self.call_setkey("spdflush;\n")
324
325 def spd_add(self, local_ip, remote_ip):
326 cmds = ("spdadd %s %s gre -P out ipsec esp/transport//require;\n" %
327 (local_ip, remote_ip))
328 cmds += ("spdadd %s %s gre -P in ipsec esp/transport//require;\n" %
329 (remote_ip, local_ip))
330 self.call_setkey(cmds)
331
332 def spd_del(self, local_ip, remote_ip):
333 cmds = "spddelete %s %s gre -P out;\n" % (local_ip, remote_ip)
334 cmds += "spddelete %s %s gre -P in;\n" % (remote_ip, local_ip)
335 self.call_setkey(cmds)
336
337 def add_entry(self, local_ip, remote_ip, vals):
338 if remote_ip in self.entries:
339 raise error.Error("host %s already configured for ipsec"
340 % remote_ip)
341
342 self.racoon.add_entry(remote_ip, vals)
343 self.spd_add(local_ip, remote_ip)
344
345 self.entries.append(remote_ip)
346
347 def del_entry(self, local_ip, remote_ip):
348 if remote_ip in self.entries:
349 self.racoon.del_entry(remote_ip)
350 self.spd_del(local_ip, remote_ip)
351 self.sad_del(local_ip, remote_ip)
352
353 self.entries.remove(remote_ip)
354
355
356def update_ipsec(ipsec, interfaces, new_interfaces):
357 for name, vals in interfaces.iteritems():
358 if name not in new_interfaces:
359 ipsec.del_entry(vals["local_ip"], vals["remote_ip"])
360
361 for name, vals in new_interfaces.iteritems():
362 orig_vals = interfaces.get(name)
363 if orig_vals:
364 # Configuration for this host already exists. Check if it's
365 # changed. We use set difference, since we want to ignore
366 # any local additions to "orig_vals" that we've made
367 # (e.g. the "peer_cert_file" key).
368 if set(vals.items()) - set(orig_vals.items()):
369 ipsec.del_entry(vals["local_ip"], vals["remote_ip"])
370 else:
371 continue
372
373 try:
374 ipsec.add_entry(vals["local_ip"], vals["remote_ip"], vals)
375 except error.Error, msg:
376 vlog.warn("skipping ipsec config for %s: %s" % (name, msg))
377
378
379def get_ssl_cert(data):
380 for ovs_rec in data["Open_vSwitch"].rows.itervalues():
381 if ovs_rec.ssl:
382 ssl = ovs_rec.ssl[0]
383 if ssl.certificate and ssl.private_key:
384 return (ssl.certificate, ssl.private_key)
385
386 return None
387
388
389def main():
390
391 parser = argparse.ArgumentParser()
392 parser.add_argument("database", metavar="DATABASE",
393 help="A socket on which ovsdb-server is listening.")
394 parser.add_argument("--root-prefix", metavar="DIR",
395 help="Use DIR as alternate root directory"
396 " (for testing).")
397
398 ovs.vlog.add_args(parser)
399 ovs.daemon.add_args(parser)
400 args = parser.parse_args()
401 ovs.vlog.handle_args(args)
402 ovs.daemon.handle_args(args)
403
404 global root_prefix
405 if args.root_prefix:
406 root_prefix = args.root_prefix
407
408 remote = args.database
409 schema_helper = ovs.db.idl.SchemaHelper()
410 schema_helper.register_columns("Interface", ["name", "type", "options"])
411 schema_helper.register_columns("Open_vSwitch", ["ssl"])
412 schema_helper.register_columns("SSL", ["certificate", "private_key"])
413 idl = ovs.db.idl.Idl(remote, schema_helper)
414
415 ovs.daemon.daemonize()
416
417 ovs.unixctl.command_register("exit", "", 0, 0, unixctl_exit, None)
418 error, unixctl_server = ovs.unixctl.server.UnixctlServer.create(None)
419 if error:
420 ovs.util.ovs_fatal(error, "could not create unixctl server", vlog)
421
422 ipsec = IPsec()
423
424 interfaces = {}
425 seqno = idl.change_seqno # Sequence number when we last processed the db
426 while True:
427 unixctl_server.run()
428 if exiting:
429 break
430
431 idl.run()
432 if seqno == idl.change_seqno:
433 poller = ovs.poller.Poller()
434 unixctl_server.wait(poller)
435 idl.wait(poller)
436 poller.block()
437 continue
438 seqno = idl.change_seqno
439
440 ssl_cert = get_ssl_cert(idl.tables)
441
442 new_interfaces = {}
443 for rec in idl.tables["Interface"].rows.itervalues():
444 if rec.type == "ipsec_gre" or rec.type == "ipsec_gre64":
445 name = rec.name
446 options = rec.options
447 peer_cert_name = "ovs-%s.pem" % (options.get("remote_ip"))
448 entry = {
449 "remote_ip": options.get("remote_ip"),
450 "local_ip": options.get("local_ip", "0.0.0.0/0"),
451 "certificate": options.get("certificate"),
452 "private_key": options.get("private_key"),
453 "use_ssl_cert": options.get("use_ssl_cert"),
454 "peer_cert": options.get("peer_cert"),
455 "peer_cert_file": Racoon.cert_dir + "/" + peer_cert_name,
456 "psk": options.get("psk")}
457
458 if entry["peer_cert"] and entry["psk"]:
459 vlog.warn("both 'peer_cert' and 'psk' defined for %s"
460 % name)
461 continue
462 elif not entry["peer_cert"] and not entry["psk"]:
463 vlog.warn("no 'peer_cert' or 'psk' defined for %s" % name)
464 continue
465
466 # The "use_ssl_cert" option is deprecated and will
467 # likely go away in the near future.
468 if entry["use_ssl_cert"] == "true":
469 if not ssl_cert:
470 vlog.warn("no valid SSL entry for %s" % name)
471 continue
472
473 entry["certificate"] = ssl_cert[0]
474 entry["private_key"] = ssl_cert[1]
475
476 new_interfaces[name] = entry
477
478 if interfaces != new_interfaces:
479 update_ipsec(ipsec, interfaces, new_interfaces)
480 interfaces = new_interfaces
481
482 unixctl_server.close()
483 idl.close()
484
485
486if __name__ == '__main__':
487 try:
488 main()
489 except SystemExit:
490 # Let system.exit() calls complete normally
491 raise
492 except:
493 vlog.exception("traceback")
494 sys.exit(ovs.daemon.RESTART_EXIT_CODE)
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/patches/ovs-ctl-dpdk.patch b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/patches/ovs-ctl-dpdk.patch
new file mode 100644
index 0000000..b417e00
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/patches/ovs-ctl-dpdk.patch
@@ -0,0 +1,15 @@
1--- a/utilities/ovs-ctl.in
2+++ b/utilities/ovs-ctl.in
3@@ -253,7 +253,11 @@ start_forwarding () {
4 fi
5
6 # Start ovs-vswitchd.
7- set ovs-vswitchd unix:"$DB_SOCK"
8+ set ovs-vswitchd
9+ if test X"$DPDK_OPTS" != X; then
10+ set "$@" $DPDK_OPTS --
11+ fi
12+ set "$@" unix:"$DB_SOCK"
13 set "$@" -vconsole:emer -vsyslog:err -vfile:info
14 if test X"$MLOCKALL" != Xno; then
15 set "$@" --mlockall
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/patches/series b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/patches/series
new file mode 100644
index 0000000..7bd5bc6
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/patches/series
@@ -0,0 +1 @@
ovs-ctl-dpdk.patch
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/rules b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/rules
new file mode 100755
index 0000000..881774f
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/rules
@@ -0,0 +1,68 @@
1#!/usr/bin/make -f
2# -*- makefile -*-
3#export DH_VERBOSE=1
4
5%:
6 dh $@ --with autoreconf,python2,systemd --parallel
7
8# use --as-needed only if supported by dh-autoreconf (to simplify backporting)
9DH_AS_NEEDED=$(shell dpkg --compare-versions $$(dpkg --status dh-autoreconf | grep Version | cut -d' ' -f2) ge 6 && echo --as-needed)
10override_dh_autoreconf:
11 dh_autoreconf $(DH_AS_NEEDED)
12
13ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
14PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
15else
16PARALLEL =
17endif
18
19override_dh_auto_configure:
20 dh_auto_configure -- --enable-ssl --with-dpdk=/usr $(DATAPATH_CONFIGURE_OPTS)
21
22override_dh_auto_test:
23# NOTE(jamespage): skip tests on powerpc until
24# https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1483572
25# is resolved
26ifneq (powerpc, $(DEB_BUILD_ARCH))
27ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
28 if $(MAKE) check TESTSUITEFLAGS='$(PARALLEL)' || \
29 $(MAKE) check TESTSUITEFLAGS='--recheck'; then :; \
30 else \
31 cat tests/testsuite.log; \
32 exit 1; \
33 fi
34endif
35endif # powerpc
36
37override_dh_auto_build:
38 dh_auto_build -- distdir=openvswitch
39
40override_dh_auto_clean:
41 rm -f python/ovs/*.pyc python/ovs/db/*.pyc
42 dh_auto_clean
43
44override_dh_install:
45 install -D vswitchd/ovs-vswitchd \
46 $(CURDIR)/debian/openvswitch-switch-dpdk/usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk
47
48override_dh_installinit:
49 :
50
51override_dh_auto_install:
52 :
53
54# Helper target for creating snapshots from upstream git
55DATE=$(shell date +%Y%m%d)
56# Upstream branch to track
57BRANCH=branch-2.4
58
59get-orig-snapshot:
60 rm -Rf openvswitch-upstream
61 git clone https://github.com/openvswitch/ovs openvswitch-upstream
62 cd openvswitch-upstream && \
63 git checkout -b $(BRANCH) remotes/origin/$(BRANCH) && \
64 export COMMIT=`git rev-parse --short HEAD` && \
65 export UPSTREAM_VERSION=`head -1 NEWS | awk '{ print $$1 }' | sed 's/v//'` && \
66 git archive --format tgz --prefix=openvswitch-$$UPSTREAM_VERSION+git$(DATE)/ \
67 -o ../../openvswitch_$$UPSTREAM_VERSION~git$(DATE).$$COMMIT.orig.tar.gz $(BRANCH)
68 rm -Rf openvswitch-upstream
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/source/format b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/source/format
@@ -0,0 +1 @@
3.0 (quilt)
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/common b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/common
new file mode 100755
index 0000000..ba8f27f
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/common
@@ -0,0 +1,23 @@
1#!/bin/sh
2
3set -e
4
5update-alternatives --set ovs-vswitchd \
6 /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk
7service openvswitch-switch restart
8
9modprobe openvswitch || true
10
11echo "kernel modules loaded: "
12# Check that ovs loaded
13lsmod | grep "openvswitch"
14echo "OK"
15
16echo "Checking daemons: "
17pgrep ovs-vswitchd
18pgrep ovsdb-server
19echo "OK"
20
21echo -n "running openflow tests using mininet"
22python `dirname $0`/openflow.py 2>&1
23echo "OK"
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/control b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/control
new file mode 100644
index 0000000..a233244
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/control
@@ -0,0 +1,4 @@
1Tests: kernel
2Depends: mininet (>= 2.2.0~), iperf, openvswitch-switch-dpdk,
3 openvswitch-testcontroller
4Restrictions: needs-root rw-build-tree
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/kernel b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/kernel
new file mode 100755
index 0000000..befe158
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/kernel
@@ -0,0 +1,5 @@
1#!/bin/sh
2
3set -e
4
5`dirname $0`/common
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/openflow b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/openflow
new file mode 100755
index 0000000..004e994
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/openflow
@@ -0,0 +1,7 @@
1#!/bin/sh
2
3set -e
4
5service openvswitch-controller stop
6
7python `dirname $0`/openflow.py 2>&1
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/openflow.py b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/openflow.py
new file mode 100755
index 0000000..216b57c
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/tests/openflow.py
@@ -0,0 +1,66 @@
1import unittest
2import logging
3from mininet.net import Mininet
4import mininet.log as log
5from mininet.node import OVSController, OVSKernelSwitch
6
7Switch = OVSKernelSwitch
8Controller = OVSController
9logging.basicConfig(level=logging.DEBUG)
10log.setLogLevel('info')
11
12
13class BasicOpenflowTest(unittest.TestCase):
14
15 def addHost(self, N):
16 logging.debug("Creating host h%s and add to net.", N)
17 name = 'h%d' % N
18 ip = '10.0.0.%d' % N
19 return self.net.addHost(name, ip=ip)
20
21 def setUp(self):
22 self.net = Mininet(controller=Controller, switch=Switch)
23
24 logging.info("Creating controllers")
25 self.net.addController('c1', command='ovs-testcontroller')
26
27 logging.info("Creating switches")
28 s1 = self.net.addSwitch('s1', protocols="OpenFlow10")
29 s2 = self.net.addSwitch('s2', protocols="OpenFlow10")
30
31 logging.info("Creating hosts (7 on each switch)")
32 hosts1 = [self.addHost(n) for n in (1, 2, 3, 4, 5, 6, 7)]
33 hosts2 = [self.addHost(n) for n in (8, 9, 10, 11, 12, 13, 14)]
34
35 logging.info("Creating links")
36 for h in hosts1:
37 self.net.addLink(s1, h)
38 for h in hosts2:
39 self.net.addLink(s2, h)
40 self.net.addLink(s1, s2)
41
42 logging.info("Starting network")
43 self.net.start()
44
45 def testPingAll(self):
46 logging.info("Testing network")
47 packetLoss = self.net.pingAll()
48 self.assertTrue(
49 packetLoss == 0,
50 "Packet loss during ping test %s" %
51 packetLoss)
52
53 def testIPerfTCP(self):
54 logging.info("Running TCP performance test")
55 self.net.iperf()
56
57 def testIPerfUDP(self):
58 logging.info("Running UDP performance test")
59 self.net.iperf(l4Type='UDP')
60
61 def tearDown(self):
62 logging.info("Stopping network")
63 self.net.stop()
64
65if __name__ == '__main__':
66 unittest.main()
diff --git a/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/watch b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/watch
new file mode 100644
index 0000000..f42bab5
--- /dev/null
+++ b/ovs_build/openvswitch-nsh-dpdk_2.5.90/debian/watch
@@ -0,0 +1,2 @@
1version=3
2http://openvswitch.org/releases/ openvswitch-(.*).tar.gz