Browse Source

Add dpdk 2.2.0 debian spec

1. downlod dpdk 2.2.0 debian spec
wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc
wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0.orig.tar.gz
wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.debian.tar.xz
dpkg-source -x dpdk_2.2.0-0ubuntu8.dsc

Change-Id: Icb9aaf51982fa944e2b8a477c2816bf501ba2e03
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
Guo Ruijing 2 years ago
parent
commit
bc4e8ca6a4
72 changed files with 6336 additions and 0 deletions
  1. 236
    0
      ovs_build/dpdk_2.2.0/debian/changelog
  2. 1
    0
      ovs_build/dpdk_2.2.0/debian/compat
  3. 81
    0
      ovs_build/dpdk_2.2.0/debian/control
  4. 48
    0
      ovs_build/dpdk_2.2.0/debian/copyright
  5. 1
    0
      ovs_build/dpdk_2.2.0/debian/dpdk-dev.dirs
  6. 1
    0
      ovs_build/dpdk_2.2.0/debian/dpdk-dev.install
  7. 52
    0
      ovs_build/dpdk_2.2.0/debian/dpdk-doc.README.Debian
  8. 1
    0
      ovs_build/dpdk_2.2.0/debian/dpdk-doc.dirs
  9. 251
    0
      ovs_build/dpdk_2.2.0/debian/dpdk-init
  10. 3
    0
      ovs_build/dpdk_2.2.0/debian/dpdk-sdk-env.sh
  11. 54
    0
      ovs_build/dpdk_2.2.0/debian/dpdk.conf
  12. 5
    0
      ovs_build/dpdk_2.2.0/debian/dpdk.dirs
  13. 57
    0
      ovs_build/dpdk_2.2.0/debian/dpdk.init
  14. 2
    0
      ovs_build/dpdk_2.2.0/debian/dpdk.install
  15. 13
    0
      ovs_build/dpdk_2.2.0/debian/dpdk.interfaces
  16. 12
    0
      ovs_build/dpdk_2.2.0/debian/dpdk.service
  17. 1
    0
      ovs_build/dpdk_2.2.0/debian/libdpdk-dev.dirs
  18. 1
    0
      ovs_build/dpdk_2.2.0/debian/libdpdk0.dirs
  19. 580
    0
      ovs_build/dpdk_2.2.0/debian/libdpdk0.symbols.amd64
  20. 569
    0
      ovs_build/dpdk_2.2.0/debian/libdpdk0.symbols.i386
  21. 44
    0
      ovs_build/dpdk_2.2.0/debian/patches/series
  22. 146
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-01-app-testpmd-handle-SIGINT-and-SIGTERM.patch
  23. 134
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-02-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch
  24. 35
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-03-tools-fix-unbinding-failure-handling.patch
  25. 259
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-04-tools-support-Python-3-in-bind-script.patch
  26. 75
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-05-tools-support-binding-to-built-in-kernel-modules.patch
  27. 89
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-06-eal-linux-support-built-in-kernel-modules.patch
  28. 95
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-07-mempool-fix-leak-when-creation-fails.patch
  29. 154
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-08-vhost-fix-leak-of-fds-and-mmaps.patch
  30. 80
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-09-port-fix-crash-for-ring-writer-nodrop.patch
  31. 55
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-10-port-fix-crash-for-ethdev-writer-nodrop.patch
  32. 45
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-11-i40e-fix-overflow.patch
  33. 36
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-12-i40e-fix-inverted-check-for-no-refcount.patch
  34. 150
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-13-i40e-fix-VLAN-filtering.patch
  35. 55
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-14-i40e-base-fix-missing-check-for-stopped-admin-queue.patch
  36. 44
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-15-i40e-base-fix-driver-load-failure.patch
  37. 38
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-16-fm10k-fix-VLAN-flag-in-scattered-Rx.patch
  38. 64
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-17-pcap-fix-captured-frame-length.patch
  39. 56
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-18-bonding-fix-detach-of-bonded-device.patch
  40. 150
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-19-bonding-fix-detach-of-slave-devices.patch
  41. 40
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-20-bonding-copy-entire-config-structure-in-mode-4.patch
  42. 59
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-21-bonding-do-not-ignore-multicast-in-mode-4.patch
  43. 49
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-22-bonding-fix-active-slaves-with-no-primary.patch
  44. 47
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-23-bonding-do-not-activate-slave-twice.patch
  45. 42
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-24-bonding-fix-crash-when-no-slave-device.patch
  46. 53
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-25-virtio-fix-crash-in-statistics-functions.patch
  47. 37
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-26-virtio-fix-descriptors-pointing-to-the-same-buffer.patch
  48. 72
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-27-virtio-fix-restart.patch
  49. 79
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-28-lpm-fix-allocation-of-an-existing-object.patch
  50. 260
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-29-hash-fix-multi-process-support.patch
  51. 177
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-30-hash-fix-allocation-of-an-existing-object.patch
  52. 160
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-31-hash-fix-race-condition-at-creation.patch
  53. 36
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-32-eal-fix-resource-leak.patch
  54. 141
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-33-vhost-user-add-error-handling-for-fd-1023.patch
  55. 54
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-34-port-fix-ring-writer-buffer-overflow.patch
  56. 84
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-35-port-fix-burst-size-mask-type.patch
  57. 34
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-36-pci-identify-devices-not-managed-by-any-kernel-drive.patch
  58. 94
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-37-pci-ignore-devices-already-managed-in-Linux-when-map.patch
  59. 77
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-38-dpdk-dev-Memory-leak-when-adding-removing-vhost_user-ports.patch
  60. 51
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-combined-shared-lib-abiversion.patch
  61. 16
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-fix-doc-installpath.patch
  62. 33
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-fix-library-linkage.patch
  63. 75
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-fix-lpm-use-after-free-and-leak.patch
  64. 77
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-fix-testpmd-without-xen.patch
  65. 350
    0
      ovs_build/dpdk_2.2.0/debian/patches/ubuntu-fix-vhost-user-socket-permission.patch
  66. 159
    0
      ovs_build/dpdk_2.2.0/debian/rules
  67. 1
    0
      ovs_build/dpdk_2.2.0/debian/source/format
  68. 12
    0
      ovs_build/dpdk_2.2.0/debian/tests/check-dpdk-supported-arch.sh
  69. 8
    0
      ovs_build/dpdk_2.2.0/debian/tests/control
  70. 143
    0
      ovs_build/dpdk_2.2.0/debian/tests/test-initscripts
  71. 41
    0
      ovs_build/dpdk_2.2.0/debian/tests/test-linkage
  72. 2
    0
      ovs_build/dpdk_2.2.0/debian/watch

+ 236
- 0
ovs_build/dpdk_2.2.0/debian/changelog View File

@@ -0,0 +1,236 @@
1
+dpdk (2.2.0-0ubuntu8) xenial; urgency=medium
2
+
3
+  * d/p/ubuntu-backport-[36-37] fix virtio issues (LP: #1570195):
4
+    - don't let DPDK initialize virtio devices still in use by the kernel
5
+    - this avoids conflicts between kernel and dpdk usage of those devices
6
+    - an admin now has to unbind/bind devices as on physical hardware
7
+    - this is in the dpdk 16.04 release and delta can then be dropped
8
+    - d/dpdk-doc.README.Debian update for changes in virtio-pci handling
9
+    - d/dpdk.interfaces update for changes in virtio-pci handling
10
+  * d/p/ubuntu-backport-38... fix for memory leak (LP: #1570466):
11
+    - call vhost_destroy_device on removing vhost user ports to fix memory leak
12
+    - this likely is in the dpdk 16.07 release and delta can then be dropped
13
+  * d/p/ubuntu-fix-vhost-user-socket-permission.patch fox (LP: #1546565):
14
+    - when vhost_user sockets are created they are owner:group of the process
15
+    - the DPDK api to create those has no way to specify owner:group
16
+    - to fix that without breaking the API and potential workaround code in
17
+      consumers of the library like openvswitch 2.6 for example. This patch
18
+      adds an EAL commandline option to specify user:group created vhost_user
19
+      sockets should have.
20
+
21
+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com>  Mon, 25 Apr 2016 11:42:40 +0200
22
+
23
+dpdk (2.2.0-0ubuntu7) xenial; urgency=medium
24
+
25
+  * Increase max_map_count after setting huge pages (LP: #1507921):
26
+    - The default config of 65530 would cause issues as soon as about 64GB or
27
+      more are used as 2M huge pages for dpdk.
28
+    - Increase this value to base+2*#hugepages to avoid issues on huge systems.
29
+  * d/p/ubuntu-backport-[28-32,34-35] backports for stability (LP: #1568838):
30
+     - these will be in the 16.04 dpdk release, delta can then be dropped.
31
+     - 5 fixes that do not change api/behaviour but fix serious issues.
32
+        - 01 f82f705b lpm: fix allocation of an existing object
33
+        - 02 f9bd3342 hash: fix multi-process support
34
+        - 03 1aadacb5 hash: fix allocation of an existing object
35
+        - 04 5d7bfb73 hash: fix race condition at creation
36
+        - 05 fe671356 vfio: fix resource leak
37
+        - 06 356445f9 port: fix ring writer buffer overflow
38
+        - 07 52f7a5ae port: fix burst size mask type
39
+  * d/p/ubuntu-backport-33-vhost-user-add-error-handling-for-fd-1023.patch
40
+     - this will likely be in dpdk release 16.07 and delta can then be dropped.
41
+     - fixes a crash on using fd's >1023 (LP: #1566874)
42
+  * d/p/ubuntu-fix-lpm-use-after-free-and-leak.patch fix lpm_free (LP: #1569375)
43
+     - the old patches had an error freeing a pointer which had no meta data
44
+     - that lead to a crash on any lpm_free call
45
+     - folded into the fix that generally covers the lpm allocation and free
46
+       weaknesses already (also there this particular mistake was added)
47
+
48
+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com>  Tue, 12 Apr 2016 16:13:47 +0200
49
+
50
+dpdk (2.2.0-0ubuntu6) xenial; urgency=medium
51
+
52
+  * d/dpdk-init fix handling of multiple huge page sizes (LP: #1557532):
53
+     - dpdk-init now ensures non-default-hugepage-size mountpoints are
54
+       available as well.
55
+     - extra mountpoints are only created if requested in dpdk.conf and not yet
56
+       available (e.g. by the admin).
57
+  * d/dpdk-init fix issues with unassigned devices (LP: #1558485):
58
+     - dpdk-init no more checks /sys/.../driver of the device unconditionally
59
+     - removed the superfluous tr call in that path
60
+  * d/p/ubuntu-fix-lpm-use-after-free-and-leak.patch lpm/lpm6 (LP: #1554009):
61
+     - lpm/lpm6 fix use after free on lpm[6]_create
62
+     - lpm/lpm6 fix missing frees of rules_tbl substructure
63
+     - lpm/lpm6 fix missing free of lpm due to early exit
64
+     - make RTE_LOG messages of the failed allocation unique
65
+  * d/p/ubuntu-backport-[01-26] backport for stability (LP: #1559981):
66
+     - these will be in the following dpdk release and delta can then be dropped
67
+     - 26 fixes that do not change api/behaviour but fix serious issues
68
+        - 01 d3a274ce app/testpmd: handle SIGINT and SIGTERM
69
+        - 02 308df2bf Handle SIGINT and SIGTERM in l3fwd.
70
+        - 03 da82ee17 tools: fix unbinding failure handling
71
+        - 04 16c1814c tools: support Python 3 in bind script
72
+        - 05 bb9f4085 tools: support binding to built-in kernel modules
73
+        - 06 6e7caa1a eal/linux: support built-in kernel modules
74
+        - 07 86f36ff9 mempool: fix leak when creation fails
75
+        - 08 ca67ed28 vhost: fix leak of fds and mmaps
76
+        - 09 fa11a8a7 port: fix crash for ring writer nodrop
77
+        - 10 04f36690 port: fix crash for ethdev writer nodrop
78
+        - 11 c7a4ff80 i40e: fix overflow
79
+        - 12 097e920c i40e: fix inverted check for no refcount
80
+        - 13 330aa319 i40e: fix VLAN filtering
81
+        - 14 9f44dd3d i40e/base: fix missing check for stopped admin queue
82
+        - 15 8a880736 i40e/base: fix driver load failure
83
+        - 16 7656a546 fm10k: fix VLAN flag in scattered Rx
84
+        - 17 c6fb0e55 pcap: fix captured frame length
85
+        - 18 6e027237 bonding: fix detach of bonded device
86
+        - 19 df3e8ad7 bonding: fix detach of slave devices
87
+        - 20 786c990a bonding: copy entire config structure in mode 4
88
+        - 21 6698820b bonding: do not ignore multicast in mode 4
89
+        - 22 8997a10b bonding: fix active slaves with no primary
90
+        - 23 7a7122ed bonding: do not activate slave twice
91
+        - 24 2186fff3 bonding: fix crash when no slave device
92
+        - 25 c680a4a8 virtio: fix crash in statistics functions
93
+        - 26 3b1e3e4e virtio: fix descriptors pointing to the same buffer
94
+  * d/p/ubuntu-backport-27-virtio-fix-restart.patch for (LP: #1559981):
95
+     - fixing re-initializing the ethdev as openvswitch-dpdk does in the
96
+       virtio pmd driver by moving the detection of already being initialized
97
+       from virtio_dev_close to virtio_dev_start/stop
98
+     - this will be in the following dpdk release and delta can then be dropped
99
+  * d/rules build with debuginfo (LP: #1560839):
100
+     - exporting CFLAGS for all dpdk build processes
101
+     - dh_strip will automatically and create -dbgsym packages accordingly
102
+
103
+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com>  Wed, 23 Mar 2016 10:34:50 +0100
104
+
105
+dpdk (2.2.0-0ubuntu5) xenial; urgency=medium
106
+
107
+  * d/t/test-initscripts fix issues regarding 1G hugepages
108
+     - the dep8 was already taking care of 1G hugepages being not supported in
109
+       some environments. But it was failing when supported, but not enough
110
+       memory available.
111
+
112
+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com>  Wed, 09 Mar 2016 17:19:24 +0000
113
+
114
+dpdk (2.2.0-0ubuntu4) xenial; urgency=medium
115
+
116
+  * harden d/dpdk-init for configuration issues (LP: #1551601):
117
+     - detect and warn about bad bus specifications.
118
+     - detect and warn about incomplete device specifications.
119
+     - detect and warn about non existing pci IDs.
120
+     - avoid failing when working with unassigned devices.
121
+     - d/t/test-initscripts now testing various misconfigs.
122
+     - d/t/test-initscripts now also verifying service status.
123
+  * d/dpdk-init d/dpdk.conf now also support 1G hugepages (LP: #1551767):
124
+     - detect and warn if 1G pages are not available but configured.
125
+     - d/t/test-initscripts now also testing hugepage allocations.
126
+     - d/dpdk.conf has an option to drop caches to incease the likeliness of
127
+       successful 1G hugepage allocations (default off).
128
+  * d/rules replaced uname -m with DEB_HOST_GNU_CPU (LP: #1551796):
129
+  * fix testpmd to run without Xen environment (LP: #1551752):
130
+     - upstream discussion is slow, but we need a fix now. We can drop this
131
+       and change to the upstream solution when it is available.
132
+  * avoid errors due to missing modules (LP: #1554397):
133
+     - d/dpdk-init gracefully warns about missing modules.
134
+     - d/control now suggests linux-image-generic.
135
+     - d/dpdk.interfaces has a comment that makes the user aware.
136
+  * d/dpdk-init fix failure loading vfio-pci (LP: #1554214):
137
+     - d/dpdk-init no more converts "-" to "_" to make vfio-pci work
138
+     - d/dpdk.interfaces enhanced comments and updated examples
139
+     - d/dpdk-doc.README.debian got extra notes about using some modules
140
+  * unify whitespace/tabs in packaging and scripts
141
+     - tabs/spaces to just spaces in d/dpdk-init and d/dpdk.init.
142
+     - few remaining spaces to tabs in d/rules
143
+  * d/t/test-* now satisfy shellcheck
144
+  * d/* fix various comments and guides to be more readable
145
+  * d/dpdk-init and d/copyright updated copyright information
146
+
147
+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com>  Wed, 09 Mar 2016 08:48:58 +0000
148
+
149
+dpdk (2.2.0-0ubuntu3) xenial; urgency=medium
150
+
151
+  * Guard dep8 tests against non supported platforms (LP: #1551158):
152
+    - d/t/control now avoids failing due to "dependencies are unsatisfiable"
153
+      when fetching packages. The packages architecture restrictions got added
154
+      to avoid that.
155
+    - d/t/check-dpdk-supported-arch.sh is called by all DPDK tests to ensure
156
+      the platform is supported. If not it skips the test.
157
+
158
+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com>  Mon, 29 Feb 2016 11:03:39 +0000
159
+
160
+dpdk (2.2.0-0ubuntu2) xenial; urgency=medium
161
+
162
+  [ Christian Ehrhardt ]
163
+  * fix libdpdk.so library linking (LP: #1547517)
164
+    - libdpdk.so now has proper linkage information (was underlinked)
165
+      Note: this can be dropped when moving to DPDK 2.3 with linker script
166
+            instead of combined shared lib.
167
+    - remove reference to extra linkage needed when building against -ldpdk
168
+      in dpdk-doc README.
169
+    - add dep8 d/t/test-linkage to verify linking dpdk works as expected.
170
+  * d/control remove ${shlibs:Depends} on package with no linked binary
171
+    avoiding dpkg-gencontrol build warning about unknown ${shlibs:Depends}.
172
+  * d/dpdk-doc.README.debian fix path to DPDK build environment variable
173
+    helper script in README file.
174
+  * Update VCS Info in d/control to include our repositories.
175
+
176
+  [  James Page ]
177
+  * d/*: wrap-and-sort.
178
+  * d/control: Trim trailing whitespace.
179
+
180
+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com>  Thu, 25 Feb 2016 16:07:21 +0000
181
+
182
+dpdk (2.2.0-0ubuntu1) xenial; urgency=low
183
+
184
+  * Merge from Upstream to DPDK 2.2
185
+    Remaining changes:
186
+    - Set soabi for the combined shared library
187
+  * Drop changes:
188
+    - configuring RTE_LIBNAME to dpdk as it is the upstream default now
189
+    - enabled formerly non building components as they build properly in 2.2
190
+    - d/p/ubunut-avoid-texlive-fonts-extra, d/control:
191
+      Replace use of DejaVuSansMono is no more needed as upstream changed the
192
+      font. Thereby we can drop our delta.
193
+    - d/p/ubuntu-fix-gcc5-ftbs.patch no more needed with DPDK 2.2
194
+  * Added changes
195
+    - Disable CONFIG_RTE_NEXT_ABI as required for packaging (git 506f51cc)
196
+    - Enable LIBRTE_PMD_PCAP which is useful for some DPDK testcase examples
197
+      this adds a build dependency to libpcap-dev
198
+    - Fully support DH_VERBOSE for build debugging convenience
199
+    - adapt to new make infrastructure of dpdk 2.2
200
+    - d/README.debian: convert into d/dpdk-doc.README.debian
201
+    - d/dpdk-doc.README.debian: update recommendations about sdk env variables
202
+    - d/dpdk-sdk-env.sh: now deployed in /usr/share/dpdk to be opt in
203
+    - enable XEN support for dpdk (LP: #1521289).
204
+
205
+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com>  Wed, 17 Feb 2016 09:29:28 +0100
206
+
207
+dpdk (2.0.0-0ubuntu3) xenial; urgency=medium
208
+
209
+  * Only generate HTML documentation, easing backports to 14.04 and
210
+    reducing the time to build and size of the -doc package (LP: #1524700).
211
+
212
+ -- James Page <james.page@ubuntu.com>  Thu, 10 Dec 2015 10:23:51 +0000
213
+
214
+dpdk (2.0.0-0ubuntu2) xenial; urgency=low
215
+
216
+  * d/p/ubunut-avoid-texlive-fonts-extra, d/control:
217
+    Replace use of DejaVuSansMono by courier and drop dependency on the
218
+    texlive-fonts-extra package (which is in universe).
219
+  * d/watch added to allow use of uscan to check for upstream releases.
220
+  * d/dpdk-init: fix error if bash variables could not be resolved that
221
+    appeared as "[: -gt: unexpected operator" (had no functional impact)
222
+  * d/dpdk-init:
223
+    Replace use of head and cut (in /usr/bin) commands with sed (in /bin)
224
+    while also adding /usr/bin to the PATH used on direct /etc/init.d/dpdk
225
+    invocation. The PATH is only updated to be on the safe side, there
226
+    should be no other commands from /usr/bin used (LP: #1516543).
227
+  * d/t/test-mountpoint: add dep8 test to cover the issue of LP #1517075.
228
+  * d/dpdk-dev.install: Copy the SDK makefiles into place (LP: #1517075).
229
+
230
+ -- Stefan Bader <stefan.bader@canonical.com>  Tue, 17 Nov 2015 11:50:15 +0100
231
+
232
+dpdk (2.0.0-0ubuntu1) wily; urgency=low
233
+
234
+  * Initial release (LP: #1487538)
235
+
236
+ -- Stefan Bader <stefan.bader@canonical.com>  Mon, 01 Jun 2015 18:46:38 +0200

+ 1
- 0
ovs_build/dpdk_2.2.0/debian/compat View File

@@ -0,0 +1 @@
1
+9

+ 81
- 0
ovs_build/dpdk_2.2.0/debian/control View File

@@ -0,0 +1,81 @@
1
+Source: dpdk
2
+Priority: optional
3
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
4
+Build-Depends: debhelper (>= 9),
5
+               dh-python,
6
+               dh-systemd (>= 1.5),
7
+               doxygen,
8
+               graphviz,
9
+               inkscape,
10
+               libcap-dev,
11
+               libpcap-dev,
12
+               libxen-dev,
13
+               libxenstore3.0,
14
+               python,
15
+               python-sphinx,
16
+               texlive-fonts-recommended,
17
+               texlive-latex-extra
18
+Standards-Version: 3.9.6
19
+Section: libs
20
+Homepage: http://www.dpdk.org
21
+Vcs-Original-Git: git://dpdk.org/dpdk
22
+Vcs-Original-Browser: http://www.dpdk.org/browse/dpdk/refs/
23
+Vcs-Git: https://git.launchpad.net/~ubuntu-server/dpdk
24
+Vcs-Browser: https://code.launchpad.net/~ubuntu-server/dpdk/+git/dpdk
25
+
26
+Package: dpdk
27
+Section: devel
28
+Architecture: amd64 i386
29
+Depends: libdpdk0 (= ${binary:Version}),
30
+         lsb-base (>= 3.2-14),
31
+         ${misc:Depends},
32
+         ${python:Depends},
33
+         ${shlibs:Depends}
34
+Suggests: linux-image-generic
35
+Description: Data Plane Development Kit (runtime)
36
+ DPDK is a set of libraries for fast packet processing. Applications run
37
+ in user-space and communicate directly with dedicated network interfaces.
38
+ This package contains the runtime environment to run DPDK applications.
39
+
40
+Package: dpdk-dev
41
+Section: devel
42
+Architecture: amd64 i386
43
+Depends: libdpdk0 (= ${binary:Version}), ${misc:Depends}
44
+Description: Data Plane Development Kit (development files)
45
+ DPDK is a set of libraries for fast packet processing. Applications run
46
+ in user-space and communicate directly with dedicated network interfaces.
47
+ This package contains examples and the upstream build environment. It is
48
+ not strictly required in order to build external applications.
49
+
50
+Package: dpdk-doc
51
+Section: doc
52
+Architecture: all
53
+Depends: libjs-jquery, libjs-underscore, ${misc:Depends}
54
+Description: Data Plane Development Kit (documentation)
55
+ DPDK is a set of libraries for fast packet processing. Applications run
56
+ in user-space and communicate directly with dedicated network interfaces.
57
+ This package contains the complete set of documentation and guides.
58
+
59
+Package: libdpdk0
60
+Architecture: amd64 i386
61
+Multi-Arch: same
62
+Pre-Depends: ${misc:Pre-Depends}
63
+Depends: ${misc:Depends}, ${shlibs:Depends}
64
+Description: Data Plane Development Kit (runtime libraries)
65
+ DPDK is a set of libraries for fast packet processing. Applications run
66
+ in user-space and communicate directly with dedicated network interfaces.
67
+ This package contains the runtime libraries which require at least SSE3
68
+ support in the CPU.
69
+
70
+Package: libdpdk-dev
71
+Section: libdevel
72
+Architecture: amd64 i386
73
+Multi-Arch: same
74
+Pre-Depends: ${misc:Pre-Depends}
75
+Depends: libdpdk0 (= ${binary:Version}), ${misc:Depends}
76
+Description: Data Plane Development Kit (basic development files)
77
+ DPDK is a set of libraries for fast packet processing. Applications run
78
+ in user-space and communicate directly with dedicated network interfaces.
79
+ This package contains the basic headers and library files required to
80
+ build external applications which will also require at least SSE3 support
81
+ when running.

+ 48
- 0
ovs_build/dpdk_2.2.0/debian/copyright View File

@@ -0,0 +1,48 @@
1
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2
+Upstream-Name: dpdk
3
+Source: http://dpdk.org
4
+
5
+Files: *
6
+Copyright: 2008-2014 Cisco Systems, Inc.
7
+           2012-2014 6WIND S.A.
8
+           1999-2015 Intel Corporation.
9
+           2010-2013 Tilera Corporation.
10
+           2012      Mellanox.
11
+           2007      VMware, Inc.
12
+           2007      Nuova Systems, Inc.
13
+           2014      IBM Corporation.
14
+License: BSD+GPLv2+LGPLv2
15
+ On Debian systems, the complete text of the BSD License can be
16
+ found in "/usr/share/common-licenses/BSD".
17
+ .
18
+ This package is free software; you can redistribute it and/or modify
19
+ it under the terms of the GNU General Public License as published by
20
+ the Free Software Foundation; either version 2 of the License, or
21
+ (at your option) any later version.
22
+ .
23
+ This package is distributed in the hope that it will be useful,
24
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
25
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26
+ GNU General Public License for more details.
27
+ .
28
+ You should have received a copy of the GNU General Public License
29
+ along with this program. If not, see <http://www.gnu.org/licenses/>
30
+ .
31
+ On Debian systems, the complete text of the GNU General
32
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
33
+
34
+Files: debian/*
35
+Copyright: 2015 Canonical Ltd. <stefan.bader@canonical.com>
36
+Copyright: 2015, 2016 Canonical Ltd. <christian.ehrhardt@canonical.com>
37
+License: GPL-3
38
+ This program is free software: you can redistribute it and/or modify it
39
+ under the terms of the GNU General Public License version 3, as published
40
+ by the Free Software Foundation.
41
+ .
42
+ This program is distributed in the hope that it will be useful, but
43
+ WITHOUT ANY WARRANTY; without even the implied warranties of
44
+ MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
45
+ PURPOSE.  See the GNU General Public License for more details.
46
+ .
47
+ You should have received a copy of the GNU General Public License along
48
+ with this program.  If not, see <http://www.gnu.org/licenses/>.

+ 1
- 0
ovs_build/dpdk_2.2.0/debian/dpdk-dev.dirs View File

@@ -0,0 +1 @@
1
+usr/share/dpdk

+ 1
- 0
ovs_build/dpdk_2.2.0/debian/dpdk-dev.install View File

@@ -0,0 +1 @@
1
+debian/dpdk-sdk-env.sh	/usr/share/dpdk/

+ 52
- 0
ovs_build/dpdk_2.2.0/debian/dpdk-doc.README.Debian View File

@@ -0,0 +1,52 @@
1
+dpdk for Debian
2
+---------------
3
+
4
+This package is currently compiled for the lowest possible CPU requirements.
5
+Which still requires at least SSE3 to be supported by the CPU.
6
+
7
+dpdk (runtime) / libdpdk0:
8
+
9
+For runtime /etc/dpdk/interfaces holds a list of PCI devices to be assigned
10
+to DPDK compatible drivers and /etc/dpdk/dpdk.conf allows one to define the
11
+number of hugepages to be reserved at boot.
12
+The runtime environment is not required to build applications that use
13
+DPDK but if those applications get packaged they should depend on the
14
+runtime.
15
+
16
+Since DPDK technically would be able to use all of your compatible card/driver
17
+combination it is required that you take care of blacklisting / whitelisting
18
+network cards to tell dpdk which it has to to initialize (especially true for
19
+virtio-pci as the normal kernel driver is considered compatible).
20
+
21
+If you are working with virtio-pci network cards it isn't a hard requirement to
22
+assign them to a dpdk compatible userspace driver like uio_pci_generic. But you
23
+have to at least unbind them from the default kernel driver (virtio-pci) to
24
+avoid bugs by dpdk and the kernel working on them simultaneously. It is
25
+recommended to reassign them to dpdk compatible drivers using
26
+/etc/dpdk/interfaces (just as you would with any physical card).
27
+
28
+libdpdk0 contains the shared object needed to run a program in terms of symbol
29
+resolution, but none of the other runtime environment pieces.
30
+
31
+dpdk-dev / libdpdk-dev:
32
+
33
+The minimum requirement for developing external applications is libdpdk-dev,
34
+which brings the headers and library files.
35
+
36
+In dpdk-dev is the upstream makefile environment. Sample applications, which
37
+are shipped in dpdk-doc, are providing makefiles.
38
+Those makefiles need to find the dpdk build system. To do so they need some
39
+environment variables defined:
40
+ export RTE_TARGET="$(uname -m)-default-linuxapp-gcc"
41
+ export RTE_SDK="/usr/share/dpdk/"
42
+ export RTE_INCLUDE="/usr/include/dpdk"
43
+Those can be set by the user to overwrite with a custom path/config. If no
44
+custom environment is used it is recommended to source the file
45
+/usr/share/dpdk/dpdk-sdk-env.sh which comes with dpdk-dev.
46
+If the paths ever change or there will be more/less variables needed to build
47
+against dpdk-dev that file will be adjusted for you.
48
+
49
+Alternatively /usr/include/dpdk/rte_config.h has to be pre-included:
50
+CFLAGS  += -I/usr/include/dpdk -irte_config.h
51
+
52
+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com>  Thu, 04 Feb 2016 09:16:11 +0100

+ 1
- 0
ovs_build/dpdk_2.2.0/debian/dpdk-doc.dirs View File

@@ -0,0 +1 @@
1
+usr/share/doc/dpdk

+ 251
- 0
ovs_build/dpdk_2.2.0/debian/dpdk-init View File

@@ -0,0 +1,251 @@
1
+#!/bin/sh
2
+#
3
+# dpdk-init: startup script to initialize a dpdk runtime environment
4
+#
5
+# Copyright 2015-2016 Canonical Ltd.
6
+# Autor: Stefan Bader <stefan.bader@canonical.com>
7
+# Autor: Christian Ehrhardt <christian.ehrhardt@canonical.com>
8
+#
9
+#    This program is free software: you can redistribute it and/or modify
10
+#    it under the terms of the GNU General Public License version 3,
11
+#    as published by the Free Software Foundation.
12
+#
13
+#    This program is distributed in the hope that it will be useful,
14
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+#    GNU General Public License for more details.
17
+#
18
+#    You should have received a copy of the GNU General Public License
19
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+#
21
+set -e
22
+
23
+DPDK_BIND="/sbin/dpdk_nic_bind"
24
+DPDK_INTERF="/etc/dpdk/interfaces"
25
+
26
+
27
+# pagesize supports [G|g]/[M|m]/[K|k]
28
+get_kbytes() {
29
+    local unit
30
+    local num
31
+    unit=$(echo "${1}" | sed 's/[0-9]*//g')
32
+    num=$(echo "${1}" | sed 's/[^0-9]*//g')
33
+    case ${unit} in
34
+    *g | *G)
35
+        echo $((num*1024*1024))
36
+        ;;
37
+    *m | *M)
38
+        echo $((num*1024))
39
+        ;;
40
+    *k | *K)
41
+        echo $((num))
42
+        ;;
43
+    *)
44
+        echo $((num/1024))
45
+        ;;
46
+    esac
47
+}
48
+
49
+get_default_hpgsz() {
50
+    default_hpgsz=$(grep "Hugepagesize:" /proc/meminfo \
51
+        | sed 's/^Hugepagesize:\s*//g' | sed 's/\s*kB$//g')
52
+    echo "${default_hpgsz}"
53
+}
54
+
55
+get_hugetlbfs_mountpoint() {
56
+    local requested_hpgsz
57
+    local mp_hpgsz
58
+    requested_hpgsz=$(get_kbytes "${1}")
59
+
60
+    grep hugetlbfs /proc/mounts | while read \
61
+        mntfrom mntpoint mntfstype mntopt mntdump mntfsck; do
62
+
63
+        # check if the current muntpoint is of the requested huge page size
64
+        case ${mntopt} in
65
+        *pagesize=*)
66
+            mp_hpgsz=$(echo "${mntopt}" | sed 's/.*pagesize=//g' | sed 's/,.*//g')
67
+            mp_hpgsz=$(get_kbytes "${mp_hpgsz}")
68
+            ;;
69
+        *)
70
+            mp_hpgsz=$(get_default_hpgsz)
71
+            ;;
72
+        esac
73
+        if [ "${requested_hpgsz}" -eq "${mp_hpgsz}" ]; then
74
+            echo "${mntpoint}"
75
+            return
76
+        fi
77
+    done
78
+}
79
+
80
+_mount_hugetlbfs() {
81
+    local MNT="/dev/hugepages"
82
+    local MNTOPTS=""
83
+    local requested_hpgsz
84
+    local default_hpgsz
85
+    requested_hpgsz=$(get_kbytes "${1}")
86
+    default_hpgsz=$(get_default_hpgsz)
87
+
88
+    # kernel might not support the requested size
89
+    if [ ! -d "/sys/kernel/mm/hugepages/hugepages-${requested_hpgsz}kB" ]; then
90
+        echo "WARNING: requested page size of ${requested_hpgsz}kB " \
91
+             "not supported by the kernel"
92
+        return 0
93
+    fi
94
+
95
+    # special case if this is not the default huge page size
96
+    if [ "${requested_hpgsz}" -ne "${default_hpgsz}" ]; then
97
+        MNT="${MNT}-${requested_hpgsz}"
98
+        MNTOPTS="pagesize=${requested_hpgsz}K"
99
+    fi
100
+
101
+    if [ ! -e "${MNT}" ]; then
102
+        mkdir "${MNT}"
103
+        if [ $? -ne 0 ]; then
104
+            echo "Could not create directory ${MNT}!" >&2
105
+            return 1
106
+        fi
107
+    fi
108
+    mount -thugetlbfs hugetlbfs "${MNT}" -o "${MNTOPTS}"
109
+    return $?
110
+}
111
+
112
+#
113
+# The DPDK library will use the first mounted instance it finds for a given
114
+# page size. so if there is already one for a given size there is no need to
115
+# create another for the same huge page size.
116
+#
117
+mount_hugetlbfs() {
118
+    if [ ! -r /etc/dpdk/dpdk.conf ]; then
119
+        return 1
120
+    fi
121
+    . /etc/dpdk/dpdk.conf
122
+
123
+    # if a page size is requested, there has to be a mountpoint for that size
124
+    if [ -n "${NR_2M_PAGES}" -a -z "$(get_hugetlbfs_mountpoint '2M')" ]; then
125
+        _mount_hugetlbfs 2M
126
+    fi
127
+    if [ -n "${NR_1G_PAGES}" -a -z "$(get_hugetlbfs_mountpoint '1G')" ]; then
128
+        _mount_hugetlbfs 1G
129
+    fi
130
+}
131
+
132
+_setup_hugepages() {
133
+    MMDIR="/sys/kernel/mm/hugepages/${1}"
134
+    PAGES=${2}
135
+
136
+    if [ "$PAGES" != "" ]; then
137
+        if [ "$PAGES" -gt 0 ]; then
138
+            if [ -d "$MMDIR" -a -w "$MMDIR/nr_hugepages" ]; then
139
+                # increases the chance to allocate enough huge pages
140
+                # configurable, since it comes at a perf penality
141
+                if [ "$DROPCACHE_BEFORE_HP_ALLOC" = "1" ]; then
142
+                    echo 3 > /proc/sys/vm/drop_caches
143
+                fi
144
+
145
+                echo "$PAGES" > "$MMDIR/nr_hugepages"
146
+
147
+                GOTPAGES=$(cat "$MMDIR/nr_hugepages")
148
+                if [ "$GOTPAGES" -lt "$PAGES" ]; then
149
+                    echo "WARNING: could not allocate $PAGES at " \
150
+                         "$MMDIR/nr_hugepages (only got $GOTPAGES)."
151
+                fi
152
+            else
153
+                echo "WARNING: $MMDIR/nr_hugepages not found/writable"
154
+            fi
155
+        fi
156
+    fi
157
+}
158
+
159
+#
160
+# Reserve a certain amount of hugepages (defined in /etc/dpdk.conf)
161
+#
162
+setup_hugepages() {
163
+    if [ ! -r /etc/dpdk/dpdk.conf ]; then
164
+        return 1
165
+    fi
166
+    . /etc/dpdk/dpdk.conf
167
+
168
+    _setup_hugepages "hugepages-2048kB" "$NR_2M_PAGES"
169
+    _setup_hugepages "hugepages-1048576kB" "$NR_1G_PAGES"
170
+
171
+    # dpdk uses 2*#hugepages mappings, increase for huge systems LP #1507921
172
+    if [ -d /sys/kernel/mm/hugepages ]; then
173
+        max_map_count=$(awk -v pad=65530 '{tot+=$1}END{print tot*2+pad}' \
174
+            /sys/kernel/mm/hugepages/hugepages-*/nr_hugepages)
175
+        sysctl -q vm.max_map_count="${max_map_count:-65530}"
176
+    fi
177
+
178
+    return 0
179
+}
180
+
181
+#
182
+# Allow NICs to be automatically bound to DPDK compatible drivers on boot.
183
+#
184
+bind_interfaces() {
185
+    if [ ! -r "$DPDK_INTERF" ]; then
186
+        return 0
187
+    fi
188
+    grep -v '^[ \t]*#' "$DPDK_INTERF" | while read BUS ID MOD; do
189
+        if [ "$BUS" = "" -o "$ID" = "" -o "$MOD" = "" ]; then
190
+            echo "WARNING: incomplete spec in $DPDK_INTERF" \
191
+                " - BUS '$BUS' ID '$ID' MOD '$MOD'"
192
+            continue
193
+        fi
194
+        if [ "$BUS" != "pci" ]; then
195
+            echo "WARNING: incompatible bus '$BUS' in $DPDK_INTERF"
196
+            continue
197
+        fi
198
+
199
+        SYSFSPATH="/sys/bus/$BUS/devices/$ID"
200
+        if [ ! -e "$SYSFSPATH" ]; then
201
+            echo "WARNING: invalid pci ID '$ID' in $DPDK_INTERF" \
202
+                " - '$SYSFSPATH' does not exist"
203
+            continue
204
+        fi
205
+        if [ -L "$SYSFSPATH/driver" ]; then
206
+            CUR=$(readlink "$SYSFSPATH/driver")
207
+            CUR=$(basename "$CUR")
208
+        else
209
+            # device existing, but currently unregistered
210
+            CUR=""
211
+        fi
212
+        if [ "$MOD" != "$CUR" ]; then
213
+            modprobe -q "$MOD" || true
214
+            # cloud img have no linux-image-extra initially (uip_pci_generic)
215
+            # so check if the module is available (loadable/built in)
216
+            if [ -e "/sys/bus/pci/drivers/${MOD}" ]; then
217
+                echo "Reassigning pci:$ID to $MOD"
218
+                $DPDK_BIND -b "$MOD" "$ID"
219
+            else
220
+                echo "Warning: failed assigning pci:$ID," \
221
+                     " module $MOD not available"
222
+            fi
223
+        else
224
+            echo "pci:$ID already assigned to $MOD"
225
+        fi
226
+    done
227
+}
228
+
229
+
230
+
231
+case "$1" in
232
+start)
233
+    mount_hugetlbfs
234
+    setup_hugepages
235
+    bind_interfaces
236
+    ;;
237
+stop)
238
+    ;;
239
+reload|force-reload)
240
+    setup_hugepages
241
+    bind_interfaces
242
+    ;;
243
+status)
244
+    $DPDK_BIND --status
245
+    ;;
246
+*)
247
+    echo "Usage: $0 {start|stop|reload|force-reload|status}"
248
+    exit 1
249
+    ;;
250
+esac
251
+

+ 3
- 0
ovs_build/dpdk_2.2.0/debian/dpdk-sdk-env.sh View File

@@ -0,0 +1,3 @@
1
+export RTE_TARGET="$(uname -m)-default-linuxapp-gcc"
2
+export RTE_SDK="/usr/share/dpdk/"
3
+export RTE_INCLUDE="/usr/include/dpdk"

+ 54
- 0
ovs_build/dpdk_2.2.0/debian/dpdk.conf View File

@@ -0,0 +1,54 @@
1
+#
2
+# The number of 2M hugepages to reserve on system boot
3
+#
4
+# Default is 0
5
+# To e.g. let it reserve 64x 2M Hugepages set:
6
+# NR_2M_PAGES=64
7
+
8
+#
9
+# The number of 1G hugepages to reserve on system boot
10
+#
11
+# Default is 0
12
+# To e.g. let it reserve 2x 1G Hugepages set:
13
+# NR_1G_PAGES=2
14
+
15
+#
16
+# Dropping slab and pagecache can help to successfully allocate hugepages,
17
+# especially later in the lifecycle of a system.
18
+# This comes at the cost of loosing all slab and pagecache on (re)start
19
+# of the dpdk service - therefore the default is off.
20
+#
21
+# Default is 0
22
+# Set to 1 to enable it
23
+#DROPCACHE_BEFORE_HP_ALLOC=0
24
+
25
+# The DPDK library will use the first mounted hugetlbfs.
26
+# The init scripts try to ensure there is at least one default hugetlbfs
27
+# mountpoint on start.
28
+# If you have multiple hugetlbfs mountpoints for a complex (e.g. specific numa
29
+# policies) setup it should be controlled by the admin instead of this init
30
+# script. In that case specific mountpoints can be provided as parameters to
31
+# the DPDK library.
32
+
33
+# Hardware may support other granularities of hugepages (like 4M). But the
34
+# larger the hugepages the earlier those should be allocated.
35
+# Note: the dpdk init scripts will report warnings, but not fail if they could
36
+# not allocate the requested amount of hugepages.
37
+# The more or the larger the hugepages to be allocated are, the more it is
38
+# recommended to do the reservation as kernel commandline arguments.
39
+# To do so edit /etc/default/grub: GRUB_CMDLINE_LINUX_DEFAULT
40
+# and add [hugepagesz=xx] hugepages=yy ...
41
+#
42
+# Kernel commandline config:
43
+# hugepagesz sets the size for the next hugepages reservation (default 2M)
44
+# hugepages  reserves the given number of hugepages of the size set before
45
+#
46
+# After modifying /etc/default/grub, the command "update-grub" has to be
47
+# run in order to re-generate the grub config files. The new values will
48
+# be used after next reboot.
49
+#
50
+# example:
51
+# GRUB_CMDLINE_LINUX_DEFAULT="... hugepages=16 hugepagesz=1G hugepages=2"
52
+#
53
+# If the system supports it, this will reserve 16x 2M pages and 2x 1G pages.
54
+#

+ 5
- 0
ovs_build/dpdk_2.2.0/debian/dpdk.dirs View File

@@ -0,0 +1,5 @@
1
+etc/dpdk
2
+lib/dpdk
3
+sbin
4
+usr/bin
5
+usr/lib/dpdk

+ 57
- 0
ovs_build/dpdk_2.2.0/debian/dpdk.init View File

@@ -0,0 +1,57 @@
1
+#!/bin/sh
2
+
3
+### BEGIN INIT INFO
4
+# Provides:          dpdk
5
+# Required-Start:    $local_fs
6
+# Required-Stop:     $local_fs
7
+# Default-Start:     S
8
+# Default-Stop:      0 1 6
9
+# Short-Description: start dpdk runtime environment
10
+### END INIT INFO
11
+
12
+set -e
13
+
14
+PATH="/sbin:/bin:/usr/bin"
15
+
16
+[ -d /lib/dpdk ] || exit 0
17
+
18
+# Define LSB log_* functions.
19
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
20
+# and status_of_proc is working.
21
+. /lib/lsb/init-functions
22
+
23
+error=0
24
+case "$1" in
25
+start)
26
+    log_action_begin_msg "Starting DPDK environment" "dpdk"
27
+    output=$(/lib/dpdk/dpdk-init start 2>&1) || error="$?"
28
+    if [ ! -z "$output" ]; then
29
+        echo "$output" | while read line; do
30
+            log_action_cont_msg "$line"
31
+        done
32
+    fi
33
+    log_action_end_msg $error
34
+    exit $error
35
+    ;;
36
+stop)
37
+    ;;
38
+restart|force-reload)
39
+    ;;
40
+status)
41
+    output=$(/lib/dpdk/dpdk-init --status 2>&1) || error="$?"
42
+    if [ ! -z "$output" ]; then
43
+        echo "$output" | while read line; do
44
+            log_action_cont_msg "$line"
45
+        done
46
+    fi
47
+    log_action_end_msg $error
48
+    exit $error
49
+    ;;
50
+*)
51
+    echo "Usage: $0 {start|stop|restart|force-reload|status}"
52
+    exit 1
53
+    ;;
54
+esac
55
+
56
+exit 0
57
+

+ 2
- 0
ovs_build/dpdk_2.2.0/debian/dpdk.install View File

@@ -0,0 +1,2 @@
1
+debian/dpdk-init	lib/dpdk/
2
+debian/dpdk.conf	etc/dpdk/

+ 13
- 0
ovs_build/dpdk_2.2.0/debian/dpdk.interfaces View File

@@ -0,0 +1,13 @@
1
+#
2
+# <bus>		Currently only "pci" is supported
3
+# <id>		Device ID on the specified bus
4
+# <driver>	Driver to bind against (vfio-pci or uio_pci_generic)
5
+#
6
+# Be aware that the two dpdk compatible drivers uio_pci_generic and vfio-pci are
7
+# part of linux-image-extra-<VERSION> package.
8
+# This package is not always installed by default - for example in cloud-images.
9
+# So please install it in case you run into missing module issues.
10
+#
11
+# <bus>	<id>		<driver>
12
+# pci	0000:04:00.0	vfio-pci
13
+# pci	0000:04:00.1	uio_pci_generic

+ 12
- 0
ovs_build/dpdk_2.2.0/debian/dpdk.service View File

@@ -0,0 +1,12 @@
1
+[Unit]
2
+Description=DPDK runtime environment
3
+DefaultDependencies=false
4
+After=network-pre.target local-fs.target
5
+
6
+[Service]
7
+Type=oneshot
8
+RemainAfterExit=yes
9
+ExecStart=/lib/dpdk/dpdk-init start
10
+
11
+[Install]
12
+WantedBy=multi-user.target

+ 1
- 0
ovs_build/dpdk_2.2.0/debian/libdpdk-dev.dirs View File

@@ -0,0 +1 @@
1
+usr/include

+ 1
- 0
ovs_build/dpdk_2.2.0/debian/libdpdk0.dirs View File

@@ -0,0 +1 @@
1
+usr/lib

+ 580
- 0
ovs_build/dpdk_2.2.0/debian/libdpdk0.symbols.amd64 View File

@@ -0,0 +1,580 @@
1
+libdpdk.so.0 libdpdk0 #MINVER#
2
+* Build-Depends-Package: libdpdk-dev
3
+ DPDK_2.0@DPDK_2.0 2.2
4
+ DPDK_2.1@DPDK_2.1 2.2
5
+ DPDK_2.2@DPDK_2.2 2.2
6
+ __rte_panic@DPDK_2.0 2.2
7
+ _rte_eth_dev_callback_process@DPDK_2.2 2.2
8
+ cirbuf_add_buf_head@DPDK_2.0 2.2
9
+ cirbuf_add_buf_tail@DPDK_2.0 2.2
10
+ cirbuf_add_head@DPDK_2.0 2.2
11
+ cirbuf_add_head_safe@DPDK_2.0 2.2
12
+ cirbuf_add_tail@DPDK_2.0 2.2
13
+ cirbuf_add_tail_safe@DPDK_2.0 2.2
14
+ cirbuf_align_left@DPDK_2.0 2.2
15
+ cirbuf_align_right@DPDK_2.0 2.2
16
+ cirbuf_del_buf_head@DPDK_2.0 2.2
17
+ cirbuf_del_buf_tail@DPDK_2.0 2.2
18
+ cirbuf_del_head@DPDK_2.0 2.2
19
+ cirbuf_del_head_safe@DPDK_2.0 2.2
20
+ cirbuf_del_tail@DPDK_2.0 2.2
21
+ cirbuf_del_tail_safe@DPDK_2.0 2.2
22
+ cirbuf_get_buf_head@DPDK_2.0 2.2
23
+ cirbuf_get_buf_tail@DPDK_2.0 2.2
24
+ cirbuf_get_head@DPDK_2.0 2.2
25
+ cirbuf_get_tail@DPDK_2.0 2.2
26
+ cirbuf_init@DPDK_2.0 2.2
27
+ cmdline_complete@DPDK_2.0 2.2
28
+ cmdline_complete_get_elt_string@DPDK_2.0 2.2
29
+ cmdline_complete_get_nb_string@DPDK_2.0 2.2
30
+ cmdline_file_new@DPDK_2.0 2.2
31
+ cmdline_free@DPDK_2.0 2.2
32
+ cmdline_get_help_etheraddr@DPDK_2.0 2.2
33
+ cmdline_get_help_ipaddr@DPDK_2.0 2.2
34
+ cmdline_get_help_num@DPDK_2.0 2.2
35
+ cmdline_get_help_portlist@DPDK_2.0 2.2
36
+ cmdline_get_help_string@DPDK_2.0 2.2
37
+ cmdline_in@DPDK_2.0 2.2
38
+ cmdline_interact@DPDK_2.0 2.2
39
+ cmdline_isendoftoken@DPDK_2.0 2.2
40
+ cmdline_new@DPDK_2.0 2.2
41
+ cmdline_parse@DPDK_2.0 2.2
42
+ cmdline_parse_etheraddr@DPDK_2.0 2.2
43
+ cmdline_parse_ipaddr@DPDK_2.0 2.2
44
+ cmdline_parse_num@DPDK_2.0 2.2
45
+ cmdline_parse_portlist@DPDK_2.0 2.2
46
+ cmdline_parse_string@DPDK_2.0 2.2
47
+ cmdline_poll@DPDK_2.1 2.2
48
+ cmdline_printf@DPDK_2.0 2.2
49
+ cmdline_quit@DPDK_2.0 2.2
50
+ cmdline_set_prompt@DPDK_2.0 2.2
51
+ cmdline_stdin_exit@DPDK_2.0 2.2
52
+ cmdline_stdin_new@DPDK_2.0 2.2
53
+ cmdline_token_etheraddr_ops@DPDK_2.0 2.2
54
+ cmdline_token_ipaddr_ops@DPDK_2.0 2.2
55
+ cmdline_token_num_ops@DPDK_2.0 2.2
56
+ cmdline_token_portlist_ops@DPDK_2.0 2.2
57
+ cmdline_token_string_ops@DPDK_2.0 2.2
58
+ cmdline_write_char@DPDK_2.0 2.2
59
+ devargs_list@DPDK_2.0 2.2
60
+ eal_parse_sysfs_value@DPDK_2.0 2.2
61
+ eal_timer_source@DPDK_2.0 2.2
62
+ eth_dev_null_create@DPDK_2.2 2.2
63
+ lcore_config@DPDK_2.0 2.2
64
+ pci_device_list@DPDK_2.0 2.2
65
+ pci_driver_list@DPDK_2.0 2.2
66
+ per_lcore__lcore_id@DPDK_2.0 2.2
67
+ per_lcore__rte_errno@DPDK_2.0 2.2
68
+ rdline_add_history@DPDK_2.0 2.2
69
+ rdline_char_in@DPDK_2.0 2.2
70
+ rdline_clear_history@DPDK_2.0 2.2
71
+ rdline_get_buffer@DPDK_2.0 2.2
72
+ rdline_get_history_item@DPDK_2.0 2.2
73
+ rdline_init@DPDK_2.0 2.2
74
+ rdline_newline@DPDK_2.0 2.2
75
+ rdline_quit@DPDK_2.0 2.2
76
+ rdline_redisplay@DPDK_2.0 2.2
77
+ rdline_reset@DPDK_2.0 2.2
78
+ rdline_restart@DPDK_2.0 2.2
79
+ rdline_stop@DPDK_2.0 2.2
80
+ rte_acl_add_rules@DPDK_2.0 2.2
81
+ rte_acl_build@DPDK_2.0 2.2
82
+ rte_acl_classify@DPDK_2.0 2.2
83
+ rte_acl_classify_alg@DPDK_2.0 2.2
84
+ rte_acl_classify_scalar@DPDK_2.0 2.2
85
+ rte_acl_create@DPDK_2.0 2.2
86
+ rte_acl_dump@DPDK_2.0 2.2
87
+ rte_acl_find_existing@DPDK_2.0 2.2
88
+ rte_acl_free@DPDK_2.0 2.2
89
+ rte_acl_list_dump@DPDK_2.0 2.2
90
+ rte_acl_reset@DPDK_2.0 2.2
91
+ rte_acl_reset_rules@DPDK_2.0 2.2
92
+ rte_acl_set_ctx_classify@DPDK_2.0 2.2
93
+ rte_approx@DPDK_2.0 2.2
94
+ rte_calloc@DPDK_2.0 2.2
95
+ rte_calloc_socket@DPDK_2.0 2.2
96
+ rte_cfgfile_close@DPDK_2.0 2.2
97
+ rte_cfgfile_get_entry@DPDK_2.0 2.2
98
+ rte_cfgfile_has_entry@DPDK_2.0 2.2
99
+ rte_cfgfile_has_section@DPDK_2.0 2.2
100
+ rte_cfgfile_load@DPDK_2.0 2.2
101
+ rte_cfgfile_num_sections@DPDK_2.0 2.2
102
+ rte_cfgfile_section_entries@DPDK_2.0 2.2
103
+ rte_cfgfile_section_num_entries@DPDK_2.0 2.2
104
+ rte_cfgfile_sections@DPDK_2.0 2.2
105
+ rte_cpu_check_supported@DPDK_2.0 2.2
106
+ rte_cryptodev_callback_register@DPDK_2.2 2.2
107
+ rte_cryptodev_callback_unregister@DPDK_2.2 2.2
108
+ rte_cryptodev_close@DPDK_2.2 2.2
109
+ rte_cryptodev_configure@DPDK_2.2 2.2
110
+ rte_cryptodev_count@DPDK_2.2 2.2
111
+ rte_cryptodev_count_devtype@DPDK_2.2 2.2
112
+ rte_cryptodev_create_vdev@DPDK_2.2 2.2
113
+ rte_cryptodev_get_dev_id@DPDK_2.2 2.2
114
+ rte_cryptodev_info_get@DPDK_2.2 2.2
115
+ rte_cryptodev_pmd_allocate@DPDK_2.2 2.2
116
+ rte_cryptodev_pmd_callback_process@DPDK_2.2 2.2
117
+ rte_cryptodev_pmd_driver_register@DPDK_2.2 2.2
118
+ rte_cryptodev_pmd_release_device@DPDK_2.2 2.2
119
+ rte_cryptodev_pmd_virtual_dev_init@DPDK_2.2 2.2
120
+ rte_cryptodev_queue_pair_count@DPDK_2.2 2.2
121
+ rte_cryptodev_queue_pair_setup@DPDK_2.2 2.2
122
+ rte_cryptodev_queue_pair_start@DPDK_2.2 2.2
123
+ rte_cryptodev_queue_pair_stop@DPDK_2.2 2.2
124
+ rte_cryptodev_session_create@DPDK_2.2 2.2
125
+ rte_cryptodev_session_free@DPDK_2.2 2.2
126
+ rte_cryptodev_socket_id@DPDK_2.2 2.2
127
+ rte_cryptodev_start@DPDK_2.2 2.2
128
+ rte_cryptodev_stats_get@DPDK_2.2 2.2
129
+ rte_cryptodev_stats_reset@DPDK_2.2 2.2
130
+ rte_cryptodev_stop@DPDK_2.2 2.2
131
+ rte_cryptodevs@DPDK_2.2 2.2
132
+ rte_ctrlmbuf_init@DPDK_2.0 2.2
133
+ rte_cycles_vmware_tsc_map@DPDK_2.0 2.2
134
+ rte_delay_us@DPDK_2.0 2.2
135
+ rte_distributor_clear_returns@DPDK_2.0 2.2
136
+ rte_distributor_create@DPDK_2.0 2.2
137
+ rte_distributor_flush@DPDK_2.0 2.2
138
+ rte_distributor_get_pkt@DPDK_2.0 2.2
139
+ rte_distributor_poll_pkt@DPDK_2.0 2.2
140
+ rte_distributor_process@DPDK_2.0 2.2
141
+ rte_distributor_request_pkt@DPDK_2.0 2.2
142
+ rte_distributor_return_pkt@DPDK_2.0 2.2
143
+ rte_distributor_returned_pkts@DPDK_2.0 2.2
144
+ rte_dom0_mempool_create@DPDK_2.0 2.2
145
+ rte_dump_physmem_layout@DPDK_2.0 2.2
146
+ rte_dump_registers@DPDK_2.0 2.2
147
+ rte_dump_stack@DPDK_2.0 2.2
148
+ rte_dump_tailq@DPDK_2.0 2.2
149
+ rte_eal_alarm_cancel@DPDK_2.0 2.2
150
+ rte_eal_alarm_set@DPDK_2.0 2.2
151
+ rte_eal_dev_init@DPDK_2.0 2.2
152
+ rte_eal_devargs_add@DPDK_2.0 2.2
153
+ rte_eal_devargs_dump@DPDK_2.0 2.2
154
+ rte_eal_devargs_type_count@DPDK_2.0 2.2
155
+ rte_eal_driver_register@DPDK_2.0 2.2
156
+ rte_eal_driver_unregister@DPDK_2.0 2.2
157
+ rte_eal_get_configuration@DPDK_2.0 2.2
158
+ rte_eal_get_lcore_state@DPDK_2.0 2.2
159
+ rte_eal_get_physmem_layout@DPDK_2.0 2.2
160
+ rte_eal_get_physmem_size@DPDK_2.0 2.2
161
+ rte_eal_has_hugepages@DPDK_2.0 2.2
162
+ rte_eal_init@DPDK_2.0 2.2
163
+ rte_eal_iopl_init@DPDK_2.0 2.2
164
+ rte_eal_lcore_role@DPDK_2.0 2.2
165
+ rte_eal_mp_remote_launch@DPDK_2.0 2.2
166
+ rte_eal_mp_wait_lcore@DPDK_2.0 2.2
167
+ rte_eal_parse_devargs_str@DPDK_2.0 2.2
168
+ rte_eal_pci_detach@DPDK_2.1 2.2
169
+ rte_eal_pci_dump@DPDK_2.0 2.2
170
+ rte_eal_pci_probe@DPDK_2.0 2.2
171
+ rte_eal_pci_probe_one@DPDK_2.0 2.2
172
+ rte_eal_pci_read_config@DPDK_2.1 2.2
173
+ rte_eal_pci_register@DPDK_2.0 2.2
174
+ rte_eal_pci_scan@DPDK_2.0 2.2
175
+ rte_eal_pci_unregister@DPDK_2.0 2.2
176
+ rte_eal_pci_write_config@DPDK_2.1 2.2
177
+ rte_eal_process_type@DPDK_2.0 2.2
178
+ rte_eal_remote_launch@DPDK_2.0 2.2
179
+ rte_eal_tailq_lookup@DPDK_2.0 2.2
180
+ rte_eal_tailq_register@DPDK_2.0 2.2
181
+ rte_eal_vdev_init@DPDK_2.0 2.2
182
+ rte_eal_vdev_uninit@DPDK_2.0 2.2
183
+ rte_eal_wait_lcore@DPDK_2.0 2.2
184
+ rte_epoll_ctl@DPDK_2.1 2.2
185
+ rte_epoll_wait@DPDK_2.1 2.2
186
+ rte_eth_add_rx_callback@DPDK_2.2 2.2
187
+ rte_eth_add_tx_callback@DPDK_2.2 2.2
188
+ rte_eth_allmulticast_disable@DPDK_2.2 2.2
189
+ rte_eth_allmulticast_enable@DPDK_2.2 2.2
190
+ rte_eth_allmulticast_get@DPDK_2.2 2.2
191
+ rte_eth_bond_8023ad_conf_get@DPDK_2.0 2.2
192
+ rte_eth_bond_8023ad_setup@DPDK_2.0 2.2
193
+ rte_eth_bond_active_slaves_get@DPDK_2.0 2.2
194
+ rte_eth_bond_create@DPDK_2.0 2.2
195
+ rte_eth_bond_free@DPDK_2.1 2.2
196
+ rte_eth_bond_link_monitoring_set@DPDK_2.0 2.2
197
+ rte_eth_bond_mac_address_reset@DPDK_2.0 2.2
198
+ rte_eth_bond_mac_address_set@DPDK_2.0 2.2
199
+ rte_eth_bond_mode_get@DPDK_2.0 2.2
200
+ rte_eth_bond_mode_set@DPDK_2.0 2.2
201
+ rte_eth_bond_primary_get@DPDK_2.0 2.2
202
+ rte_eth_bond_primary_set@DPDK_2.0 2.2
203
+ rte_eth_bond_slave_add@DPDK_2.0 2.2
204
+ rte_eth_bond_slave_remove@DPDK_2.0 2.2
205
+ rte_eth_bond_slaves_get@DPDK_2.0 2.2
206
+ rte_eth_bond_xmit_policy_get@DPDK_2.0 2.2
207
+ rte_eth_bond_xmit_policy_set@DPDK_2.0 2.2
208
+ rte_eth_copy_pci_info@DPDK_2.2 2.2
209
+ rte_eth_dev_allocate@DPDK_2.2 2.2
210
+ rte_eth_dev_allocated@DPDK_2.2 2.2
211
+ rte_eth_dev_attach@DPDK_2.2 2.2
212
+ rte_eth_dev_callback_register@DPDK_2.2 2.2
213
+ rte_eth_dev_callback_unregister@DPDK_2.2 2.2
214
+ rte_eth_dev_close@DPDK_2.2 2.2
215
+ rte_eth_dev_configure@DPDK_2.2 2.2
216
+ rte_eth_dev_count@DPDK_2.2 2.2
217
+ rte_eth_dev_default_mac_addr_set@DPDK_2.2 2.2
218
+ rte_eth_dev_detach@DPDK_2.2 2.2
219
+ rte_eth_dev_filter_ctrl@DPDK_2.2 2.2
220
+ rte_eth_dev_filter_supported@DPDK_2.2 2.2
221
+ rte_eth_dev_flow_ctrl_get@DPDK_2.2 2.2
222
+ rte_eth_dev_flow_ctrl_set@DPDK_2.2 2.2
223
+ rte_eth_dev_get_dcb_info@DPDK_2.2 2.2
224
+ rte_eth_dev_get_eeprom@DPDK_2.2 2.2
225
+ rte_eth_dev_get_eeprom_length@DPDK_2.2 2.2
226
+ rte_eth_dev_get_mtu@DPDK_2.2 2.2
227
+ rte_eth_dev_get_reg_info@DPDK_2.2 2.2
228
+ rte_eth_dev_get_reg_length@DPDK_2.2 2.2
229
+ rte_eth_dev_get_vlan_offload@DPDK_2.2 2.2
230
+ rte_eth_dev_info_get@DPDK_2.2 2.2
231
+ rte_eth_dev_is_valid_port@DPDK_2.2 2.2
232
+ rte_eth_dev_mac_addr_add@DPDK_2.2 2.2
233
+ rte_eth_dev_mac_addr_remove@DPDK_2.2 2.2
234
+ rte_eth_dev_priority_flow_ctrl_set@DPDK_2.2 2.2
235
+ rte_eth_dev_release_port@DPDK_2.2 2.2
236
+ rte_eth_dev_rss_hash_conf_get@DPDK_2.2 2.2
237
+ rte_eth_dev_rss_hash_update@DPDK_2.2 2.2
238
+ rte_eth_dev_rss_reta_query@DPDK_2.2 2.2
239
+ rte_eth_dev_rss_reta_update@DPDK_2.2 2.2
240
+ rte_eth_dev_rx_intr_ctl@DPDK_2.2 2.2
241
+ rte_eth_dev_rx_intr_ctl_q@DPDK_2.2 2.2
242
+ rte_eth_dev_rx_intr_disable@DPDK_2.2 2.2
243
+ rte_eth_dev_rx_intr_enable@DPDK_2.2 2.2
244
+ rte_eth_dev_rx_queue_start@DPDK_2.2 2.2
245
+ rte_eth_dev_rx_queue_stop@DPDK_2.2 2.2
246
+ rte_eth_dev_set_eeprom@DPDK_2.2 2.2
247
+ rte_eth_dev_set_link_down@DPDK_2.2 2.2
248
+ rte_eth_dev_set_link_up@DPDK_2.2 2.2
249
+ rte_eth_dev_set_mc_addr_list@DPDK_2.2 2.2
250
+ rte_eth_dev_set_mtu@DPDK_2.2 2.2
251
+ rte_eth_dev_set_rx_queue_stats_mapping@DPDK_2.2 2.2
252
+ rte_eth_dev_set_tx_queue_stats_mapping@DPDK_2.2 2.2
253
+ rte_eth_dev_set_vf_rx@DPDK_2.2 2.2
254
+ rte_eth_dev_set_vf_rxmode@DPDK_2.2 2.2
255
+ rte_eth_dev_set_vf_tx@DPDK_2.2 2.2
256
+ rte_eth_dev_set_vf_vlan_filter@DPDK_2.2 2.2
257
+ rte_eth_dev_set_vlan_ether_type@DPDK_2.2 2.2
258
+ rte_eth_dev_set_vlan_offload@DPDK_2.2 2.2
259
+ rte_eth_dev_set_vlan_pvid@DPDK_2.2 2.2
260
+ rte_eth_dev_set_vlan_strip_on_queue@DPDK_2.2 2.2
261
+ rte_eth_dev_socket_id@DPDK_2.2 2.2
262
+ rte_eth_dev_start@DPDK_2.2 2.2
263
+ rte_eth_dev_stop@DPDK_2.2 2.2
264
+ rte_eth_dev_tx_queue_start@DPDK_2.2 2.2
265
+ rte_eth_dev_tx_queue_stop@DPDK_2.2 2.2
266
+ rte_eth_dev_uc_all_hash_table_set@DPDK_2.2 2.2
267
+ rte_eth_dev_uc_hash_table_set@DPDK_2.2 2.2
268
+ rte_eth_dev_udp_tunnel_add@DPDK_2.2 2.2
269
+ rte_eth_dev_udp_tunnel_delete@DPDK_2.2 2.2
270
+ rte_eth_dev_vlan_filter@DPDK_2.2 2.2
271
+ rte_eth_devices@DPDK_2.2 2.2
272
+ rte_eth_dma_zone_reserve@DPDK_2.2 2.2
273
+ rte_eth_driver_register@DPDK_2.2 2.2
274
+ rte_eth_from_ring@DPDK_2.2 2.2
275
+ rte_eth_from_rings@DPDK_2.0 2.2
276
+ rte_eth_led_off@DPDK_2.2 2.2
277
+ rte_eth_led_on@DPDK_2.2 2.2
278
+ rte_eth_link_get@DPDK_2.2 2.2
279
+ rte_eth_link_get_nowait@DPDK_2.2 2.2
280
+ rte_eth_macaddr_get@DPDK_2.2 2.2
281
+ rte_eth_mirror_rule_reset@DPDK_2.2 2.2
282
+ rte_eth_mirror_rule_set@DPDK_2.2 2.2
283
+ rte_eth_promiscuous_disable@DPDK_2.2 2.2
284
+ rte_eth_promiscuous_enable@DPDK_2.2 2.2
285
+ rte_eth_promiscuous_get@DPDK_2.2 2.2
286
+ rte_eth_remove_rx_callback@DPDK_2.2 2.2
287
+ rte_eth_remove_tx_callback@DPDK_2.2 2.2
288
+ rte_eth_rx_queue_info_get@DPDK_2.2 2.2
289
+ rte_eth_rx_queue_setup@DPDK_2.2 2.2
290
+ rte_eth_set_queue_rate_limit@DPDK_2.2 2.2
291
+ rte_eth_set_vf_rate_limit@DPDK_2.2 2.2
292
+ rte_eth_stats_get@DPDK_2.2 2.2
293
+ rte_eth_stats_reset@DPDK_2.2 2.2
294
+ rte_eth_timesync_adjust_time@DPDK_2.2 2.2
295
+ rte_eth_timesync_disable@DPDK_2.2 2.2
296
+ rte_eth_timesync_enable@DPDK_2.2 2.2
297
+ rte_eth_timesync_read_rx_timestamp@DPDK_2.2 2.2
298
+ rte_eth_timesync_read_time@DPDK_2.2 2.2
299
+ rte_eth_timesync_read_tx_timestamp@DPDK_2.2 2.2
300
+ rte_eth_timesync_write_time@DPDK_2.2 2.2
301
+ rte_eth_tx_queue_info_get@DPDK_2.2 2.2
302
+ rte_eth_tx_queue_setup@DPDK_2.2 2.2
303
+ rte_eth_xstats_get@DPDK_2.2 2.2
304
+ rte_eth_xstats_reset@DPDK_2.2 2.2
305
+ rte_exit@DPDK_2.0 2.2
306
+ rte_fbk_hash_create@DPDK_2.0 2.2
307
+ rte_fbk_hash_find_existing@DPDK_2.0 2.2
308
+ rte_fbk_hash_free@DPDK_2.0 2.2
309
+ rte_free@DPDK_2.0 2.2
310
+ rte_get_rx_ol_flag_name@DPDK_2.0 2.2
311
+ rte_get_tsc_hz@DPDK_2.0 2.2
312
+ rte_get_tx_ol_flag_name@DPDK_2.0 2.2
313
+ rte_hash_add_key@DPDK_2.0 2.2
314
+ rte_hash_add_key_data@DPDK_2.1 2.2
315
+ rte_hash_add_key_with_hash@DPDK_2.0 2.2
316
+ rte_hash_add_key_with_hash_data@DPDK_2.1 2.2
317
+ rte_hash_create@DPDK_2.0 2.2
318
+ rte_hash_del_key@DPDK_2.0 2.2
319
+ rte_hash_del_key_with_hash@DPDK_2.0 2.2
320
+ rte_hash_find_existing@DPDK_2.0 2.2
321
+ rte_hash_free@DPDK_2.0 2.2
322
+ rte_hash_hash@DPDK_2.0 2.2
323
+ rte_hash_iterate@DPDK_2.1 2.2
324
+ rte_hash_lookup@DPDK_2.0 2.2
325
+ rte_hash_lookup_bulk@DPDK_2.0 2.2
326
+ rte_hash_lookup_bulk_data@DPDK_2.1 2.2
327
+ rte_hash_lookup_data@DPDK_2.1 2.2
328
+ rte_hash_lookup_with_hash@DPDK_2.0 2.2
329
+ rte_hash_lookup_with_hash_data@DPDK_2.1 2.2
330
+ rte_hash_reset@DPDK_2.1 2.2
331
+ rte_hash_set_cmp_func@DPDK_2.2 2.2
332
+ rte_hexdump@DPDK_2.0 2.2
333
+ rte_intr_allow_others@DPDK_2.1 2.2
334
+ rte_intr_callback_register@DPDK_2.0 2.2
335
+ rte_intr_callback_unregister@DPDK_2.0 2.2
336
+ rte_intr_cap_multiple@DPDK_2.2 2.2
337
+ rte_intr_disable@DPDK_2.0 2.2
338
+ rte_intr_dp_is_en@DPDK_2.1 2.2
339
+ rte_intr_efd_disable@DPDK_2.1 2.2
340
+ rte_intr_efd_enable@DPDK_2.1 2.2
341
+ rte_intr_enable@DPDK_2.0 2.2
342
+ rte_intr_rx_ctl@DPDK_2.1 2.2
343
+ rte_intr_tls_epfd@DPDK_2.1 2.2
344
+ rte_ip_frag_free_death_row@DPDK_2.0 2.2
345
+ rte_ip_frag_table_create@DPDK_2.0 2.2
346
+ rte_ip_frag_table_statistics_dump@DPDK_2.0 2.2
347
+ rte_ipv4_frag_reassemble_packet@DPDK_2.0 2.2
348
+ rte_ipv4_fragment_packet@DPDK_2.0 2.2
349
+ rte_ipv6_frag_reassemble_packet@DPDK_2.0 2.2
350
+ rte_ipv6_fragment_packet@DPDK_2.0 2.2
351
+ rte_jobstats_context_finish@DPDK_2.0 2.2
352
+ rte_jobstats_context_init@DPDK_2.0 2.2
353
+ rte_jobstats_context_reset@DPDK_2.0 2.2
354
+ rte_jobstats_context_start@DPDK_2.0 2.2
355
+ rte_jobstats_finish@DPDK_2.0 2.2
356
+ rte_jobstats_init@DPDK_2.0 2.2
357
+ rte_jobstats_reset@DPDK_2.0 2.2
358
+ rte_jobstats_set_max@DPDK_2.0 2.2
359
+ rte_jobstats_set_min@DPDK_2.0 2.2
360
+ rte_jobstats_set_period@DPDK_2.0 2.2
361
+ rte_jobstats_set_target@DPDK_2.0 2.2
362
+ rte_jobstats_set_update_period_function@DPDK_2.0 2.2
363
+ rte_jobstats_start@DPDK_2.0 2.2
364
+ rte_keepalive_create@DPDK_2.2 2.2
365
+ rte_keepalive_dispatch_pings@DPDK_2.2 2.2
366
+ rte_keepalive_register_core@DPDK_2.2 2.2
367
+ rte_kni_alloc@DPDK_2.0 2.2
368
+ rte_kni_close@DPDK_2.0 2.2
369
+ rte_kni_get@DPDK_2.0 2.2
370
+ rte_kni_get_name@DPDK_2.0 2.2
371
+ rte_kni_handle_request@DPDK_2.0 2.2
372
+ rte_kni_init@DPDK_2.0 2.2
373
+ rte_kni_register_handlers@DPDK_2.0 2.2
374
+ rte_kni_release@DPDK_2.0 2.2
375
+ rte_kni_rx_burst@DPDK_2.0 2.2
376
+ rte_kni_tx_burst@DPDK_2.0 2.2
377
+ rte_kni_unregister_handlers@DPDK_2.0 2.2
378
+ rte_kvargs_count@DPDK_2.0 2.2
379
+ rte_kvargs_free@DPDK_2.0 2.2
380
+ rte_kvargs_parse@DPDK_2.0 2.2
381
+ rte_kvargs_process@DPDK_2.0 2.2
382
+ rte_log@DPDK_2.0 2.2
383
+ rte_log_add_in_history@DPDK_2.0 2.2
384
+ rte_log_cur_msg_loglevel@DPDK_2.0 2.2
385
+ rte_log_cur_msg_logtype@DPDK_2.0 2.2
386
+ rte_log_dump_history@DPDK_2.0 2.2
387
+ rte_log_set_history@DPDK_2.0 2.2
388
+ rte_logs@DPDK_2.0 2.2
389
+ rte_lpm6_add@DPDK_2.0 2.2
390
+ rte_lpm6_create@DPDK_2.0 2.2
391
+ rte_lpm6_delete@DPDK_2.0 2.2
392
+ rte_lpm6_delete_all@DPDK_2.0 2.2
393
+ rte_lpm6_delete_bulk_func@DPDK_2.0 2.2
394
+ rte_lpm6_find_existing@DPDK_2.0 2.2
395
+ rte_lpm6_free@DPDK_2.0 2.2
396
+ rte_lpm6_is_rule_present@DPDK_2.0 2.2
397
+ rte_lpm6_lookup@DPDK_2.0 2.2
398
+ rte_lpm6_lookup_bulk_func@DPDK_2.0 2.2
399
+ rte_lpm_add@DPDK_2.0 2.2
400
+ rte_lpm_create@DPDK_2.0 2.2
401
+ rte_lpm_delete@DPDK_2.0 2.2
402
+ rte_lpm_delete_all@DPDK_2.0 2.2
403
+ rte_lpm_find_existing@DPDK_2.0 2.2
404
+ rte_lpm_free@DPDK_2.0 2.2
405
+ rte_lpm_is_rule_present@DPDK_2.0 2.2
406
+ rte_malloc@DPDK_2.0 2.2
407
+ rte_malloc_dump_stats@DPDK_2.0 2.2
408
+ rte_malloc_get_socket_stats@DPDK_2.0 2.2
409
+ rte_malloc_set_limit@DPDK_2.0 2.2
410
+ rte_malloc_socket@DPDK_2.0 2.2
411
+ rte_malloc_validate@DPDK_2.0 2.2
412
+ rte_malloc_virt2phy@DPDK_2.0 2.2
413
+ rte_mbuf_sanity_check@DPDK_2.0 2.2
414
+ rte_mem_lock_page@DPDK_2.0 2.2
415
+ rte_mem_virt2phy@DPDK_2.0 2.2
416
+ rte_memdump@DPDK_2.0 2.2
417
+ rte_memory_get_nchannel@DPDK_2.0 2.2
418
+ rte_memory_get_nrank@DPDK_2.0 2.2
419
+ rte_mempool_audit@DPDK_2.0 2.2
420
+ rte_mempool_calc_obj_size@DPDK_2.0 2.2
421
+ rte_mempool_count@DPDK_2.0 2.2
422
+ rte_mempool_create@DPDK_2.0 2.2
423
+ rte_mempool_dump@DPDK_2.0 2.2
424
+ rte_mempool_gntalloc_create@DPDK_2.0 2.2
425
+ rte_mempool_list_dump@DPDK_2.0 2.2
426
+ rte_mempool_lookup@DPDK_2.0 2.2
427
+ rte_mempool_obj_iter@DPDK_2.0 2.2
428
+ rte_mempool_walk@DPDK_2.0 2.2
429
+ rte_mempool_xmem_create@DPDK_2.0 2.2
430
+ rte_mempool_xmem_size@DPDK_2.0 2.2
431
+ rte_mempool_xmem_usage@DPDK_2.0 2.2
432
+ rte_memzone_dump@DPDK_2.0 2.2
433
+ rte_memzone_free@DPDK_2.1 2.2
434
+ rte_memzone_lookup@DPDK_2.0 2.2
435
+ rte_memzone_reserve@DPDK_2.0 2.2
436
+ rte_memzone_reserve_aligned@DPDK_2.0 2.2
437
+ rte_memzone_reserve_bounded@DPDK_2.0 2.2
438
+ rte_memzone_walk@DPDK_2.0 2.2
439
+ rte_meter_srtcm_config@DPDK_2.0 2.2
440
+ rte_meter_trtcm_config@DPDK_2.0 2.2
441
+ rte_openlog_stream@DPDK_2.0 2.2
442
+ rte_pipeline_check@DPDK_2.0 2.2
443
+ rte_pipeline_create@DPDK_2.0 2.2
444
+ rte_pipeline_flush@DPDK_2.0 2.2
445
+ rte_pipeline_free@DPDK_2.0 2.2
446
+ rte_pipeline_port_in_connect_to_table@DPDK_2.0 2.2
447
+ rte_pipeline_port_in_create@DPDK_2.0 2.2
448
+ rte_pipeline_port_in_disable@DPDK_2.0 2.2
449
+ rte_pipeline_port_in_enable@DPDK_2.0 2.2
450
+ rte_pipeline_port_in_stats_read@DPDK_2.1 2.2
451
+ rte_pipeline_port_out_create@DPDK_2.0 2.2
452
+ rte_pipeline_port_out_packet_insert@DPDK_2.0 2.2
453
+ rte_pipeline_port_out_stats_read@DPDK_2.1 2.2
454
+ rte_pipeline_run@DPDK_2.0 2.2
455
+ rte_pipeline_table_create@DPDK_2.0 2.2
456
+ rte_pipeline_table_default_entry_add@DPDK_2.0 2.2
457
+ rte_pipeline_table_default_entry_delete@DPDK_2.0 2.2
458
+ rte_pipeline_table_entry_add@DPDK_2.0 2.2
459
+ rte_pipeline_table_entry_add_bulk@DPDK_2.2 2.2
460
+ rte_pipeline_table_entry_delete@DPDK_2.0 2.2
461
+ rte_pipeline_table_entry_delete_bulk@DPDK_2.2 2.2
462
+ rte_pipeline_table_stats_read@DPDK_2.1 2.2
463
+ rte_pktmbuf_dump@DPDK_2.0 2.2
464
+ rte_pktmbuf_init@DPDK_2.0 2.2
465
+ rte_pktmbuf_offload_pool_create@DPDK_2.2 2.2
466
+ rte_pktmbuf_pool_create@DPDK_2.1 2.2
467
+ rte_pktmbuf_pool_init@DPDK_2.0 2.2
468
+ rte_pmd_af_packet_devinit@DPDK_2.0 2.2
469
+ rte_port_ethdev_reader_ops@DPDK_2.0 2.2
470
+ rte_port_ethdev_writer_nodrop_ops@DPDK_2.1 2.2
471
+ rte_port_ethdev_writer_ops@DPDK_2.0 2.2
472
+ rte_port_ring_multi_reader_ops@DPDK_2.2 2.2
473
+ rte_port_ring_multi_writer_nodrop_ops@DPDK_2.2 2.2
474
+ rte_port_ring_multi_writer_ops@DPDK_2.2 2.2
475
+ rte_port_ring_reader_ipv4_frag_ops@DPDK_2.0 2.2
476
+ rte_port_ring_reader_ipv6_frag_ops@DPDK_2.1 2.2
477
+ rte_port_ring_reader_ops@DPDK_2.0 2.2
478
+ rte_port_ring_writer_ipv4_ras_ops@DPDK_2.0 2.2
479
+ rte_port_ring_writer_ipv6_ras_ops@DPDK_2.1 2.2
480
+ rte_port_ring_writer_nodrop_ops@DPDK_2.1 2.2
481
+ rte_port_ring_writer_ops@DPDK_2.0 2.2
482
+ rte_port_sched_reader_ops@DPDK_2.0 2.2
483
+ rte_port_sched_writer_ops@DPDK_2.0 2.2
484
+ rte_port_sink_ops@DPDK_2.0 2.2
485
+ rte_port_source_ops@DPDK_2.0 2.2
486
+ rte_power_exit@DPDK_2.0 2.2
487
+ rte_power_freq_down@DPDK_2.0 2.2
488
+ rte_power_freq_max@DPDK_2.0 2.2
489
+ rte_power_freq_min@DPDK_2.0 2.2
490
+ rte_power_freq_up@DPDK_2.0 2.2
491
+ rte_power_freqs@DPDK_2.0 2.2
492
+ rte_power_get_env@DPDK_2.0 2.2
493
+ rte_power_get_freq@DPDK_2.0 2.2
494
+ rte_power_init@DPDK_2.0 2.2
495
+ rte_power_set_env@DPDK_2.0 2.2
496
+ rte_power_set_freq@DPDK_2.0 2.2
497
+ rte_power_unset_env@DPDK_2.0 2.2
498
+ rte_realloc@DPDK_2.0 2.2
499
+ rte_red_config_init@DPDK_2.0 2.2
500
+ rte_red_log2_1_minus_Wq@DPDK_2.0 2.2
501
+ rte_red_pow2_frac_inv@DPDK_2.0 2.2
502
+ rte_red_rand_seed@DPDK_2.0 2.2
503
+ rte_red_rand_val@DPDK_2.0 2.2
504
+ rte_red_rt_data_init@DPDK_2.0 2.2
505
+ rte_reorder_create@DPDK_2.0 2.2
506
+ rte_reorder_drain@DPDK_2.0 2.2
507
+ rte_reorder_find_existing@DPDK_2.0 2.2
508
+ rte_reorder_free@DPDK_2.0 2.2
509
+ rte_reorder_init@DPDK_2.0 2.2
510
+ rte_reorder_insert@DPDK_2.0 2.2
511
+ rte_reorder_reset@DPDK_2.0 2.2
512
+ rte_ring_create@DPDK_2.0 2.2
513
+ rte_ring_dump@DPDK_2.0 2.2
514
+ rte_ring_free@DPDK_2.2 2.2
515
+ rte_ring_get_memsize@DPDK_2.0 2.2
516
+ rte_ring_init@DPDK_2.0 2.2
517
+ rte_ring_list_dump@DPDK_2.0 2.2
518
+ rte_ring_lookup@DPDK_2.0 2.2
519
+ rte_ring_set_water_mark@DPDK_2.0 2.2
520
+ rte_sched_pipe_config@DPDK_2.0 2.2
521
+ rte_sched_port_config@DPDK_2.0 2.2
522
+ rte_sched_port_dequeue@DPDK_2.0 2.2
523
+ rte_sched_port_enqueue@DPDK_2.0 2.2
524
+ rte_sched_port_free@DPDK_2.0 2.2
525
+ rte_sched_port_get_memory_footprint@DPDK_2.0 2.2
526
+ rte_sched_port_pkt_read_color@DPDK_2.1 2.2
527
+ rte_sched_port_pkt_read_tree_path@DPDK_2.1 2.2
528
+ rte_sched_port_pkt_write@DPDK_2.1 2.2
529
+ rte_sched_queue_read_stats@DPDK_2.0 2.2
530
+ rte_sched_subport_config@DPDK_2.0 2.2
531
+ rte_sched_subport_read_stats@DPDK_2.0 2.2
532
+ rte_set_application_usage_hook@DPDK_2.0 2.2
533
+ rte_set_log_level@DPDK_2.0 2.2
534
+ rte_set_log_type@DPDK_2.0 2.2
535
+ rte_socket_id@DPDK_2.0 2.2
536
+ rte_strerror@DPDK_2.0 2.2
537
+ rte_strsplit@DPDK_2.0 2.2
538
+ rte_sys_gettid@DPDK_2.0 2.2
539
+ rte_table_acl_ops@DPDK_2.0 2.2
540
+ rte_table_array_ops@DPDK_2.0 2.2
541
+ rte_table_hash_ext_ops@DPDK_2.0 2.2
542
+ rte_table_hash_key16_ext_dosig_ops@DPDK_2.2 2.2
543
+ rte_table_hash_key16_ext_ops@DPDK_2.0 2.2
544
+ rte_table_hash_key16_lru_ops@DPDK_2.0 2.2
545
+ rte_table_hash_key32_ext_ops@DPDK_2.0 2.2
546
+ rte_table_hash_key32_lru_ops@DPDK_2.0 2.2
547
+ rte_table_hash_key8_ext_dosig_ops@DPDK_2.0 2.2
548
+ rte_table_hash_key8_ext_ops@DPDK_2.0 2.2
549
+ rte_table_hash_key8_lru_dosig_ops@DPDK_2.0 2.2
550
+ rte_table_hash_key8_lru_ops@DPDK_2.0 2.2
551
+ rte_table_hash_lru_ops@DPDK_2.0 2.2
552
+ rte_table_lpm_ipv6_ops@DPDK_2.0 2.2
553
+ rte_table_lpm_ops@DPDK_2.0 2.2
554
+ rte_table_stub_ops@DPDK_2.0 2.2
555
+ rte_thread_get_affinity@DPDK_2.0 2.2
556
+ rte_thread_set_affinity@DPDK_2.0 2.2
557
+ rte_timer_dump_stats@DPDK_2.0 2.2
558
+ rte_timer_init@DPDK_2.0 2.2
559
+ rte_timer_manage@DPDK_2.0 2.2
560
+ rte_timer_pending@DPDK_2.0 2.2
561
+ rte_timer_reset@DPDK_2.0 2.2
562
+ rte_timer_reset_sync@DPDK_2.0 2.2
563
+ rte_timer_stop@DPDK_2.0 2.2
564
+ rte_timer_stop_sync@DPDK_2.0 2.2
565
+ rte_timer_subsystem_init@DPDK_2.0 2.2
566
+ rte_vhost_dequeue_burst@DPDK_2.0 2.2
567
+ rte_vhost_driver_callback_register@DPDK_2.0 2.2
568
+ rte_vhost_driver_register@DPDK_2.0 2.2
569
+ rte_vhost_driver_session_start@DPDK_2.0 2.2
570
+ rte_vhost_driver_unregister@DPDK_2.1 2.2
571
+ rte_vhost_enable_guest_notification@DPDK_2.0 2.2
572
+ rte_vhost_enqueue_burst@DPDK_2.0 2.2
573
+ rte_vhost_feature_disable@DPDK_2.0 2.2
574
+ rte_vhost_feature_enable@DPDK_2.0 2.2
575
+ rte_vhost_feature_get@DPDK_2.0 2.2
576
+ rte_vlog@DPDK_2.0 2.2
577
+ rte_zmalloc@DPDK_2.0 2.2
578
+ rte_zmalloc_socket@DPDK_2.0 2.2
579
+ vt100_init@DPDK_2.0 2.2
580
+ vt100_parser@DPDK_2.0 2.2

+ 569
- 0
ovs_build/dpdk_2.2.0/debian/libdpdk0.symbols.i386 View File

@@ -0,0 +1,569 @@
1
+libdpdk.so.0 libdpdk0 #MINVER#
2
+* Build-Depends-Package: libdpdk-dev
3
+ DPDK_2.0@DPDK_2.0 2.2
4
+ DPDK_2.1@DPDK_2.1 2.2
5
+ DPDK_2.2@DPDK_2.2 2.2
6
+ __rte_panic@DPDK_2.0 2.2
7
+ _rte_eth_dev_callback_process@DPDK_2.2 2.2
8
+ cirbuf_add_buf_head@DPDK_2.0 2.2
9
+ cirbuf_add_buf_tail@DPDK_2.0 2.2
10
+ cirbuf_add_head@DPDK_2.0 2.2
11
+ cirbuf_add_head_safe@DPDK_2.0 2.2
12
+ cirbuf_add_tail@DPDK_2.0 2.2
13
+ cirbuf_add_tail_safe@DPDK_2.0 2.2
14
+ cirbuf_align_left@DPDK_2.0 2.2
15
+ cirbuf_align_right@DPDK_2.0 2.2
16
+ cirbuf_del_buf_head@DPDK_2.0 2.2
17
+ cirbuf_del_buf_tail@DPDK_2.0 2.2
18
+ cirbuf_del_head@DPDK_2.0 2.2
19
+ cirbuf_del_head_safe@DPDK_2.0 2.2
20
+ cirbuf_del_tail@DPDK_2.0 2.2
21
+ cirbuf_del_tail_safe@DPDK_2.0 2.2
22
+ cirbuf_get_buf_head@DPDK_2.0 2.2
23
+ cirbuf_get_buf_tail@DPDK_2.0 2.2
24
+ cirbuf_get_head@DPDK_2.0 2.2
25
+ cirbuf_get_tail@DPDK_2.0 2.2
26
+ cirbuf_init@DPDK_2.0 2.2
27
+ cmdline_complete@DPDK_2.0 2.2
28
+ cmdline_complete_get_elt_string@DPDK_2.0 2.2
29
+ cmdline_complete_get_nb_string@DPDK_2.0 2.2
30
+ cmdline_file_new@DPDK_2.0 2.2
31
+ cmdline_free@DPDK_2.0 2.2
32
+ cmdline_get_help_etheraddr@DPDK_2.0 2.2
33
+ cmdline_get_help_ipaddr@DPDK_2.0 2.2
34
+ cmdline_get_help_num@DPDK_2.0 2.2
35
+ cmdline_get_help_portlist@DPDK_2.0 2.2
36
+ cmdline_get_help_string@DPDK_2.0 2.2
37
+ cmdline_in@DPDK_2.0 2.2
38
+ cmdline_interact@DPDK_2.0 2.2
39
+ cmdline_isendoftoken@DPDK_2.0 2.2
40
+ cmdline_new@DPDK_2.0 2.2
41
+ cmdline_parse@DPDK_2.0 2.2
42
+ cmdline_parse_etheraddr@DPDK_2.0 2.2
43
+ cmdline_parse_ipaddr@DPDK_2.0 2.2
44
+ cmdline_parse_num@DPDK_2.0 2.2
45
+ cmdline_parse_portlist@DPDK_2.0 2.2
46
+ cmdline_parse_string@DPDK_2.0 2.2
47
+ cmdline_poll@DPDK_2.1 2.2
48
+ cmdline_printf@DPDK_2.0 2.2
49
+ cmdline_quit@DPDK_2.0 2.2
50
+ cmdline_set_prompt@DPDK_2.0 2.2
51
+ cmdline_stdin_exit@DPDK_2.0 2.2
52
+ cmdline_stdin_new@DPDK_2.0 2.2
53
+ cmdline_token_etheraddr_ops@DPDK_2.0 2.2
54
+ cmdline_token_ipaddr_ops@DPDK_2.0 2.2
55
+ cmdline_token_num_ops@DPDK_2.0 2.2
56
+ cmdline_token_portlist_ops@DPDK_2.0 2.2
57
+ cmdline_token_string_ops@DPDK_2.0 2.2
58
+ cmdline_write_char@DPDK_2.0 2.2
59
+ devargs_list@DPDK_2.0 2.2
60
+ eal_parse_sysfs_value@DPDK_2.0 2.2
61
+ eal_timer_source@DPDK_2.0 2.2
62
+ eth_dev_null_create@DPDK_2.2 2.2
63
+ lcore_config@DPDK_2.0 2.2
64
+ pci_device_list@DPDK_2.0 2.2
65
+ pci_driver_list@DPDK_2.0 2.2
66
+ per_lcore__lcore_id@DPDK_2.0 2.2
67
+ per_lcore__rte_errno@DPDK_2.0 2.2
68
+ rdline_add_history@DPDK_2.0 2.2
69
+ rdline_char_in@DPDK_2.0 2.2
70
+ rdline_clear_history@DPDK_2.0 2.2
71
+ rdline_get_buffer@DPDK_2.0 2.2
72
+ rdline_get_history_item@DPDK_2.0 2.2
73
+ rdline_init@DPDK_2.0 2.2
74
+ rdline_newline@DPDK_2.0 2.2
75
+ rdline_quit@DPDK_2.0 2.2
76
+ rdline_redisplay@DPDK_2.0 2.2
77
+ rdline_reset@DPDK_2.0 2.2
78
+ rdline_restart@DPDK_2.0 2.2
79
+ rdline_stop@DPDK_2.0 2.2
80
+ rte_acl_add_rules@DPDK_2.0 2.2
81
+ rte_acl_build@DPDK_2.0 2.2
82
+ rte_acl_classify@DPDK_2.0 2.2
83
+ rte_acl_classify_alg@DPDK_2.0 2.2
84
+ rte_acl_classify_scalar@DPDK_2.0 2.2
85
+ rte_acl_create@DPDK_2.0 2.2
86
+ rte_acl_dump@DPDK_2.0 2.2
87
+ rte_acl_find_existing@DPDK_2.0 2.2
88
+ rte_acl_free@DPDK_2.0 2.2
89
+ rte_acl_list_dump@DPDK_2.0 2.2
90
+ rte_acl_reset@DPDK_2.0 2.2
91
+ rte_acl_reset_rules@DPDK_2.0 2.2
92
+ rte_acl_set_ctx_classify@DPDK_2.0 2.2
93
+ rte_approx@DPDK_2.0 2.2
94
+ rte_calloc@DPDK_2.0 2.2
95
+ rte_calloc_socket@DPDK_2.0 2.2
96
+ rte_cfgfile_close@DPDK_2.0 2.2
97
+ rte_cfgfile_get_entry@DPDK_2.0 2.2
98
+ rte_cfgfile_has_entry@DPDK_2.0 2.2
99
+ rte_cfgfile_has_section@DPDK_2.0 2.2
100
+ rte_cfgfile_load@DPDK_2.0 2.2
101
+ rte_cfgfile_num_sections@DPDK_2.0 2.2
102
+ rte_cfgfile_section_entries@DPDK_2.0 2.2
103
+ rte_cfgfile_section_num_entries@DPDK_2.0 2.2
104
+ rte_cfgfile_sections@DPDK_2.0 2.2
105
+ rte_cpu_check_supported@DPDK_2.0 2.2
106
+ rte_cryptodev_callback_register@DPDK_2.2 2.2
107
+ rte_cryptodev_callback_unregister@DPDK_2.2 2.2
108
+ rte_cryptodev_close@DPDK_2.2 2.2
109
+ rte_cryptodev_configure@DPDK_2.2 2.2
110
+ rte_cryptodev_count@DPDK_2.2 2.2
111
+ rte_cryptodev_count_devtype@DPDK_2.2 2.2
112
+ rte_cryptodev_create_vdev@DPDK_2.2 2.2
113
+ rte_cryptodev_get_dev_id@DPDK_2.2 2.2
114
+ rte_cryptodev_info_get@DPDK_2.2 2.2
115
+ rte_cryptodev_pmd_allocate@DPDK_2.2 2.2
116
+ rte_cryptodev_pmd_callback_process@DPDK_2.2 2.2
117
+ rte_cryptodev_pmd_driver_register@DPDK_2.2 2.2
118
+ rte_cryptodev_pmd_release_device@DPDK_2.2 2.2
119
+ rte_cryptodev_pmd_virtual_dev_init@DPDK_2.2 2.2
120
+ rte_cryptodev_queue_pair_count@DPDK_2.2 2.2
121
+ rte_cryptodev_queue_pair_setup@DPDK_2.2 2.2
122
+ rte_cryptodev_queue_pair_start@DPDK_2.2 2.2
123
+ rte_cryptodev_queue_pair_stop@DPDK_2.2 2.2
124
+ rte_cryptodev_session_create@DPDK_2.2 2.2
125
+ rte_cryptodev_session_free@DPDK_2.2 2.2
126
+ rte_cryptodev_socket_id@DPDK_2.2 2.2
127
+ rte_cryptodev_start@DPDK_2.2 2.2
128
+ rte_cryptodev_stats_get@DPDK_2.2 2.2
129
+ rte_cryptodev_stats_reset@DPDK_2.2 2.2
130
+ rte_cryptodev_stop@DPDK_2.2 2.2
131
+ rte_cryptodevs@DPDK_2.2 2.2
132
+ rte_ctrlmbuf_init@DPDK_2.0 2.2
133
+ rte_cycles_vmware_tsc_map@DPDK_2.0 2.2
134
+ rte_delay_us@DPDK_2.0 2.2
135
+ rte_distributor_clear_returns@DPDK_2.0 2.2
136
+ rte_distributor_create@DPDK_2.0 2.2
137
+ rte_distributor_flush@DPDK_2.0 2.2
138
+ rte_distributor_get_pkt@DPDK_2.0 2.2
139
+ rte_distributor_poll_pkt@DPDK_2.0 2.2
140
+ rte_distributor_process@DPDK_2.0 2.2
141
+ rte_distributor_request_pkt@DPDK_2.0 2.2
142
+ rte_distributor_return_pkt@DPDK_2.0 2.2
143
+ rte_distributor_returned_pkts@DPDK_2.0 2.2
144
+ rte_dom0_mempool_create@DPDK_2.0 2.2
145
+ rte_dump_physmem_layout@DPDK_2.0 2.2
146
+ rte_dump_registers@DPDK_2.0 2.2
147
+ rte_dump_stack@DPDK_2.0 2.2
148
+ rte_dump_tailq@DPDK_2.0 2.2
149
+ rte_eal_alarm_cancel@DPDK_2.0 2.2
150
+ rte_eal_alarm_set@DPDK_2.0 2.2
151
+ rte_eal_dev_init@DPDK_2.0 2.2
152
+ rte_eal_devargs_add@DPDK_2.0 2.2
153
+ rte_eal_devargs_dump@DPDK_2.0 2.2
154
+ rte_eal_devargs_type_count@DPDK_2.0 2.2
155
+ rte_eal_driver_register@DPDK_2.0 2.2
156
+ rte_eal_driver_unregister@DPDK_2.0 2.2
157
+ rte_eal_get_configuration@DPDK_2.0 2.2
158
+ rte_eal_get_lcore_state@DPDK_2.0 2.2
159
+ rte_eal_get_physmem_layout@DPDK_2.0 2.2
160
+ rte_eal_get_physmem_size@DPDK_2.0 2.2
161
+ rte_eal_has_hugepages@DPDK_2.0 2.2
162
+ rte_eal_init@DPDK_2.0 2.2
163
+ rte_eal_iopl_init@DPDK_2.0 2.2
164
+ rte_eal_lcore_role@DPDK_2.0 2.2
165
+ rte_eal_mp_remote_launch@DPDK_2.0 2.2
166
+ rte_eal_mp_wait_lcore@DPDK_2.0 2.2
167
+ rte_eal_parse_devargs_str@DPDK_2.0 2.2
168
+ rte_eal_pci_detach@DPDK_2.1 2.2
169
+ rte_eal_pci_dump@DPDK_2.0 2.2
170
+ rte_eal_pci_probe@DPDK_2.0 2.2
171
+ rte_eal_pci_probe_one@DPDK_2.0 2.2
172
+ rte_eal_pci_read_config@DPDK_2.1 2.2
173
+ rte_eal_pci_register@DPDK_2.0 2.2
174
+ rte_eal_pci_scan@DPDK_2.0 2.2
175
+ rte_eal_pci_unregister@DPDK_2.0 2.2
176
+ rte_eal_pci_write_config@DPDK_2.1 2.2
177
+ rte_eal_process_type@DPDK_2.0 2.2
178
+ rte_eal_remote_launch@DPDK_2.0 2.2
179
+ rte_eal_tailq_lookup@DPDK_2.0 2.2
180
+ rte_eal_tailq_register@DPDK_2.0 2.2
181
+ rte_eal_vdev_init@DPDK_2.0 2.2
182
+ rte_eal_vdev_uninit@DPDK_2.0 2.2
183
+ rte_eal_wait_lcore@DPDK_2.0 2.2
184
+ rte_epoll_ctl@DPDK_2.1 2.2
185
+ rte_epoll_wait@DPDK_2.1 2.2
186
+ rte_eth_add_rx_callback@DPDK_2.2 2.2
187
+ rte_eth_add_tx_callback@DPDK_2.2 2.2
188
+ rte_eth_allmulticast_disable@DPDK_2.2 2.2
189
+ rte_eth_allmulticast_enable@DPDK_2.2 2.2
190
+ rte_eth_allmulticast_get@DPDK_2.2 2.2
191
+ rte_eth_bond_8023ad_conf_get@DPDK_2.0 2.2
192
+ rte_eth_bond_8023ad_setup@DPDK_2.0 2.2
193
+ rte_eth_bond_active_slaves_get@DPDK_2.0 2.2
194
+ rte_eth_bond_create@DPDK_2.0 2.2
195
+ rte_eth_bond_free@DPDK_2.1 2.2
196
+ rte_eth_bond_link_monitoring_set@DPDK_2.0 2.2
197
+ rte_eth_bond_mac_address_reset@DPDK_2.0 2.2
198
+ rte_eth_bond_mac_address_set@DPDK_2.0 2.2
199
+ rte_eth_bond_mode_get@DPDK_2.0 2.2
200
+ rte_eth_bond_mode_set@DPDK_2.0 2.2
201
+ rte_eth_bond_primary_get@DPDK_2.0 2.2
202
+ rte_eth_bond_primary_set@DPDK_2.0 2.2
203
+ rte_eth_bond_slave_add@DPDK_2.0 2.2
204
+ rte_eth_bond_slave_remove@DPDK_2.0 2.2
205
+ rte_eth_bond_slaves_get@DPDK_2.0 2.2
206
+ rte_eth_bond_xmit_policy_get@DPDK_2.0 2.2
207
+ rte_eth_bond_xmit_policy_set@DPDK_2.0 2.2
208
+ rte_eth_copy_pci_info@DPDK_2.2 2.2
209
+ rte_eth_dev_allocate@DPDK_2.2 2.2
210
+ rte_eth_dev_allocated@DPDK_2.2 2.2
211
+ rte_eth_dev_attach@DPDK_2.2 2.2
212
+ rte_eth_dev_callback_register@DPDK_2.2 2.2
213
+ rte_eth_dev_callback_unregister@DPDK_2.2 2.2
214
+ rte_eth_dev_close@DPDK_2.2 2.2
215
+ rte_eth_dev_configure@DPDK_2.2 2.2
216
+ rte_eth_dev_count@DPDK_2.2 2.2
217
+ rte_eth_dev_default_mac_addr_set@DPDK_2.2 2.2
218
+ rte_eth_dev_detach@DPDK_2.2 2.2
219
+ rte_eth_dev_filter_ctrl@DPDK_2.2 2.2
220
+ rte_eth_dev_filter_supported@DPDK_2.2 2.2
221
+ rte_eth_dev_flow_ctrl_get@DPDK_2.2 2.2
222
+ rte_eth_dev_flow_ctrl_set@DPDK_2.2 2.2
223
+ rte_eth_dev_get_dcb_info@DPDK_2.2 2.2
224
+ rte_eth_dev_get_eeprom@DPDK_2.2 2.2
225
+ rte_eth_dev_get_eeprom_length@DPDK_2.2 2.2
226
+ rte_eth_dev_get_mtu@DPDK_2.2 2.2
227
+ rte_eth_dev_get_reg_info@DPDK_2.2 2.2
228
+ rte_eth_dev_get_reg_length@DPDK_2.2 2.2
229
+ rte_eth_dev_get_vlan_offload@DPDK_2.2 2.2
230
+ rte_eth_dev_info_get@DPDK_2.2 2.2
231
+ rte_eth_dev_is_valid_port@DPDK_2.2 2.2
232
+ rte_eth_dev_mac_addr_add@DPDK_2.2 2.2
233
+ rte_eth_dev_mac_addr_remove@DPDK_2.2 2.2
234
+ rte_eth_dev_priority_flow_ctrl_set@DPDK_2.2 2.2
235
+ rte_eth_dev_release_port@DPDK_2.2 2.2
236
+ rte_eth_dev_rss_hash_conf_get@DPDK_2.2 2.2
237
+ rte_eth_dev_rss_hash_update@DPDK_2.2 2.2
238
+ rte_eth_dev_rss_reta_query@DPDK_2.2 2.2
239
+ rte_eth_dev_rss_reta_update@DPDK_2.2 2.2
240
+ rte_eth_dev_rx_intr_ctl@DPDK_2.2 2.2
241
+ rte_eth_dev_rx_intr_ctl_q@DPDK_2.2 2.2
242
+ rte_eth_dev_rx_intr_disable@DPDK_2.2 2.2
243
+ rte_eth_dev_rx_intr_enable@DPDK_2.2 2.2
244
+ rte_eth_dev_rx_queue_start@DPDK_2.2 2.2
245
+ rte_eth_dev_rx_queue_stop@DPDK_2.2 2.2
246
+ rte_eth_dev_set_eeprom@DPDK_2.2 2.2
247
+ rte_eth_dev_set_link_down@DPDK_2.2 2.2
248
+ rte_eth_dev_set_link_up@DPDK_2.2 2.2
249
+ rte_eth_dev_set_mc_addr_list@DPDK_2.2 2.2
250
+ rte_eth_dev_set_mtu@DPDK_2.2 2.2
251
+ rte_eth_dev_set_rx_queue_stats_mapping@DPDK_2.2 2.2
252
+ rte_eth_dev_set_tx_queue_stats_mapping@DPDK_2.2 2.2
253
+ rte_eth_dev_set_vf_rx@DPDK_2.2 2.2
254
+ rte_eth_dev_set_vf_rxmode@DPDK_2.2 2.2
255
+ rte_eth_dev_set_vf_tx@DPDK_2.2 2.2
256
+ rte_eth_dev_set_vf_vlan_filter@DPDK_2.2 2.2
257
+ rte_eth_dev_set_vlan_ether_type@DPDK_2.2 2.2
258
+ rte_eth_dev_set_vlan_offload@DPDK_2.2 2.2
259
+ rte_eth_dev_set_vlan_pvid@DPDK_2.2 2.2
260
+ rte_eth_dev_set_vlan_strip_on_queue@DPDK_2.2 2.2
261
+ rte_eth_dev_socket_id@DPDK_2.2 2.2
262
+ rte_eth_dev_start@DPDK_2.2 2.2
263
+ rte_eth_dev_stop@DPDK_2.2 2.2
264
+ rte_eth_dev_tx_queue_start@DPDK_2.2 2.2
265
+ rte_eth_dev_tx_queue_stop@DPDK_2.2 2.2
266
+ rte_eth_dev_uc_all_hash_table_set@DPDK_2.2 2.2
267
+ rte_eth_dev_uc_hash_table_set@DPDK_2.2 2.2
268
+ rte_eth_dev_udp_tunnel_add@DPDK_2.2 2.2
269
+ rte_eth_dev_udp_tunnel_delete@DPDK_2.2 2.2
270
+ rte_eth_dev_vlan_filter@DPDK_2.2 2.2
271
+ rte_eth_devices@DPDK_2.2 2.2
272
+ rte_eth_dma_zone_reserve@DPDK_2.2 2.2
273
+ rte_eth_driver_register@DPDK_2.2 2.2
274
+ rte_eth_from_ring@DPDK_2.2 2.2
275
+ rte_eth_from_rings@DPDK_2.0 2.2
276
+ rte_eth_led_off@DPDK_2.2 2.2
277
+ rte_eth_led_on@DPDK_2.2 2.2
278
+ rte_eth_link_get@DPDK_2.2 2.2
279
+ rte_eth_link_get_nowait@DPDK_2.2 2.2
280
+ rte_eth_macaddr_get@DPDK_2.2 2.2
281
+ rte_eth_mirror_rule_reset@DPDK_2.2 2.2
282
+ rte_eth_mirror_rule_set@DPDK_2.2 2.2
283
+ rte_eth_promiscuous_disable@DPDK_2.2 2.2
284
+ rte_eth_promiscuous_enable@DPDK_2.2 2.2
285
+ rte_eth_promiscuous_get@DPDK_2.2 2.2
286
+ rte_eth_remove_rx_callback@DPDK_2.2 2.2
287
+ rte_eth_remove_tx_callback@DPDK_2.2 2.2
288
+ rte_eth_rx_queue_info_get@DPDK_2.2 2.2
289
+ rte_eth_rx_queue_setup@DPDK_2.2 2.2
290
+ rte_eth_set_queue_rate_limit@DPDK_2.2 2.2
291
+ rte_eth_set_vf_rate_limit@DPDK_2.2 2.2
292
+ rte_eth_stats_get@DPDK_2.2 2.2
293
+ rte_eth_stats_reset@DPDK_2.2 2.2
294
+ rte_eth_timesync_adjust_time@DPDK_2.2 2.2
295
+ rte_eth_timesync_disable@DPDK_2.2 2.2
296
+ rte_eth_timesync_enable@DPDK_2.2 2.2
297
+ rte_eth_timesync_read_rx_timestamp@DPDK_2.2 2.2
298
+ rte_eth_timesync_read_time@DPDK_2.2 2.2
299
+ rte_eth_timesync_read_tx_timestamp@DPDK_2.2 2.2
300
+ rte_eth_timesync_write_time@DPDK_2.2 2.2
301
+ rte_eth_tx_queue_info_get@DPDK_2.2 2.2
302
+ rte_eth_tx_queue_setup@DPDK_2.2 2.2
303
+ rte_eth_xstats_get@DPDK_2.2 2.2
304
+ rte_eth_xstats_reset@DPDK_2.2 2.2
305
+ rte_exit@DPDK_2.0 2.2
306
+ rte_fbk_hash_create@DPDK_2.0 2.2
307
+ rte_fbk_hash_find_existing@DPDK_2.0 2.2
308
+ rte_fbk_hash_free@DPDK_2.0 2.2
309
+ rte_free@DPDK_2.0 2.2
310
+ rte_get_rx_ol_flag_name@DPDK_2.0 2.2
311
+ rte_get_tsc_hz@DPDK_2.0 2.2
312
+ rte_get_tx_ol_flag_name@DPDK_2.0 2.2
313
+ rte_hash_add_key@DPDK_2.0 2.2
314
+ rte_hash_add_key_data@DPDK_2.1 2.2
315
+ rte_hash_add_key_with_hash@DPDK_2.0 2.2
316
+ rte_hash_add_key_with_hash_data@DPDK_2.1 2.2
317
+ rte_hash_create@DPDK_2.0 2.2
318
+ rte_hash_del_key@DPDK_2.0 2.2
319
+ rte_hash_del_key_with_hash@DPDK_2.0 2.2
320
+ rte_hash_find_existing@DPDK_2.0 2.2
321
+ rte_hash_free@DPDK_2.0 2.2
322
+ rte_hash_hash@DPDK_2.0 2.2
323
+ rte_hash_iterate@DPDK_2.1 2.2
324
+ rte_hash_lookup@DPDK_2.0 2.2
325
+ rte_hash_lookup_bulk@DPDK_2.0 2.2
326
+ rte_hash_lookup_bulk_data@DPDK_2.1 2.2
327
+ rte_hash_lookup_data@DPDK_2.1 2.2
328
+ rte_hash_lookup_with_hash@DPDK_2.0 2.2
329
+ rte_hash_lookup_with_hash_data@DPDK_2.1 2.2
330
+ rte_hash_reset@DPDK_2.1 2.2
331
+ rte_hash_set_cmp_func@DPDK_2.2 2.2
332
+ rte_hexdump@DPDK_2.0 2.2
333
+ rte_intr_allow_others@DPDK_2.1 2.2
334
+ rte_intr_callback_register@DPDK_2.0 2.2
335
+ rte_intr_callback_unregister@DPDK_2.0 2.2
336
+ rte_intr_cap_multiple@DPDK_2.2 2.2
337
+ rte_intr_disable@DPDK_2.0 2.2
338
+ rte_intr_dp_is_en@DPDK_2.1 2.2
339
+ rte_intr_efd_disable@DPDK_2.1 2.2
340
+ rte_intr_efd_enable@DPDK_2.1 2.2
341
+ rte_intr_enable@DPDK_2.0 2.2
342
+ rte_intr_rx_ctl@DPDK_2.1 2.2
343
+ rte_intr_tls_epfd@DPDK_2.1 2.2
344
+ rte_ip_frag_free_death_row@DPDK_2.0 2.2
345
+ rte_ip_frag_table_create@DPDK_2.0 2.2
346
+ rte_ip_frag_table_statistics_dump@DPDK_2.0 2.2
347
+ rte_ipv4_frag_reassemble_packet@DPDK_2.0 2.2
348
+ rte_ipv4_fragment_packet@DPDK_2.0 2.2
349
+ rte_ipv6_frag_reassemble_packet@DPDK_2.0 2.2
350
+ rte_ipv6_fragment_packet@DPDK_2.0 2.2
351
+ rte_jobstats_context_finish@DPDK_2.0 2.2
352
+ rte_jobstats_context_init@DPDK_2.0 2.2
353
+ rte_jobstats_context_reset@DPDK_2.0 2.2
354
+ rte_jobstats_context_start@DPDK_2.0 2.2
355
+ rte_jobstats_finish@DPDK_2.0 2.2
356
+ rte_jobstats_init@DPDK_2.0 2.2
357
+ rte_jobstats_reset@DPDK_2.0 2.2
358
+ rte_jobstats_set_max@DPDK_2.0 2.2
359
+ rte_jobstats_set_min@DPDK_2.0 2.2
360
+ rte_jobstats_set_period@DPDK_2.0 2.2
361
+ rte_jobstats_set_target@DPDK_2.0 2.2
362
+ rte_jobstats_set_update_period_function@DPDK_2.0 2.2
363
+ rte_jobstats_start@DPDK_2.0 2.2
364
+ rte_keepalive_create@DPDK_2.2 2.2
365
+ rte_keepalive_dispatch_pings@DPDK_2.2 2.2
366
+ rte_keepalive_register_core@DPDK_2.2 2.2
367
+ rte_kvargs_count@DPDK_2.0 2.2
368
+ rte_kvargs_free@DPDK_2.0 2.2
369
+ rte_kvargs_parse@DPDK_2.0 2.2
370
+ rte_kvargs_process@DPDK_2.0 2.2
371
+ rte_log@DPDK_2.0 2.2
372
+ rte_log_add_in_history@DPDK_2.0 2.2
373
+ rte_log_cur_msg_loglevel@DPDK_2.0 2.2
374
+ rte_log_cur_msg_logtype@DPDK_2.0 2.2
375
+ rte_log_dump_history@DPDK_2.0 2.2
376
+ rte_log_set_history@DPDK_2.0 2.2
377
+ rte_logs@DPDK_2.0 2.2
378
+ rte_lpm6_add@DPDK_2.0 2.2
379
+ rte_lpm6_create@DPDK_2.0 2.2
380
+ rte_lpm6_delete@DPDK_2.0 2.2
381
+ rte_lpm6_delete_all@DPDK_2.0 2.2
382
+ rte_lpm6_delete_bulk_func@DPDK_2.0 2.2
383
+ rte_lpm6_find_existing@DPDK_2.0 2.2
384
+ rte_lpm6_free@DPDK_2.0 2.2
385
+ rte_lpm6_is_rule_present@DPDK_2.0 2.2
386
+ rte_lpm6_lookup@DPDK_2.0 2.2
387
+ rte_lpm6_lookup_bulk_func@DPDK_2.0 2.2
388
+ rte_lpm_add@DPDK_2.0 2.2
389
+ rte_lpm_create@DPDK_2.0 2.2
390
+ rte_lpm_delete@DPDK_2.0 2.2
391
+ rte_lpm_delete_all@DPDK_2.0 2.2
392
+ rte_lpm_find_existing@DPDK_2.0 2.2
393
+ rte_lpm_free@DPDK_2.0 2.2
394
+ rte_lpm_is_rule_present@DPDK_2.0 2.2
395
+ rte_malloc@DPDK_2.0 2.2
396
+ rte_malloc_dump_stats@DPDK_2.0 2.2
397
+ rte_malloc_get_socket_stats@DPDK_2.0 2.2
398
+ rte_malloc_set_limit@DPDK_2.0 2.2
399
+ rte_malloc_socket@DPDK_2.0 2.2
400
+ rte_malloc_validate@DPDK_2.0 2.2
401
+ rte_malloc_virt2phy@DPDK_2.0 2.2
402
+ rte_mbuf_sanity_check@DPDK_2.0 2.2
403
+ rte_mem_lock_page@DPDK_2.0 2.2
404
+ rte_mem_virt2phy@DPDK_2.0 2.2
405
+ rte_memdump@DPDK_2.0 2.2
406
+ rte_memory_get_nchannel@DPDK_2.0 2.2
407
+ rte_memory_get_nrank@DPDK_2.0 2.2
408
+ rte_mempool_audit@DPDK_2.0 2.2
409
+ rte_mempool_calc_obj_size@DPDK_2.0 2.2
410
+ rte_mempool_count@DPDK_2.0 2.2
411
+ rte_mempool_create@DPDK_2.0 2.2
412
+ rte_mempool_dump@DPDK_2.0 2.2
413
+ rte_mempool_gntalloc_create@DPDK_2.0 2.2
414
+ rte_mempool_list_dump@DPDK_2.0 2.2
415
+ rte_mempool_lookup@DPDK_2.0 2.2
416
+ rte_mempool_obj_iter@DPDK_2.0 2.2
417
+ rte_mempool_walk@DPDK_2.0 2.2
418
+ rte_mempool_xmem_create@DPDK_2.0 2.2
419
+ rte_mempool_xmem_size@DPDK_2.0 2.2
420
+ rte_mempool_xmem_usage@DPDK_2.0 2.2
421
+ rte_memzone_dump@DPDK_2.0 2.2
422
+ rte_memzone_free@DPDK_2.1 2.2
423
+ rte_memzone_lookup@DPDK_2.0 2.2
424
+ rte_memzone_reserve@DPDK_2.0 2.2
425
+ rte_memzone_reserve_aligned@DPDK_2.0 2.2
426
+ rte_memzone_reserve_bounded@DPDK_2.0 2.2
427
+ rte_memzone_walk@DPDK_2.0 2.2
428
+ rte_meter_srtcm_config@DPDK_2.0 2.2
429
+ rte_meter_trtcm_config@DPDK_2.0 2.2
430
+ rte_openlog_stream@DPDK_2.0 2.2
431
+ rte_pipeline_check@DPDK_2.0 2.2
432
+ rte_pipeline_create@DPDK_2.0 2.2
433
+ rte_pipeline_flush@DPDK_2.0 2.2
434
+ rte_pipeline_free@DPDK_2.0 2.2
435
+ rte_pipeline_port_in_connect_to_table@DPDK_2.0 2.2
436
+ rte_pipeline_port_in_create@DPDK_2.0 2.2
437
+ rte_pipeline_port_in_disable@DPDK_2.0 2.2
438
+ rte_pipeline_port_in_enable@DPDK_2.0 2.2
439
+ rte_pipeline_port_in_stats_read@DPDK_2.1 2.2
440
+ rte_pipeline_port_out_create@DPDK_2.0 2.2
441
+ rte_pipeline_port_out_packet_insert@DPDK_2.0 2.2
442
+ rte_pipeline_port_out_stats_read@DPDK_2.1 2.2
443
+ rte_pipeline_run@DPDK_2.0 2.2
444
+ rte_pipeline_table_create@DPDK_2.0 2.2
445
+ rte_pipeline_table_default_entry_add@DPDK_2.0 2.2
446
+ rte_pipeline_table_default_entry_delete@DPDK_2.0 2.2
447
+ rte_pipeline_table_entry_add@DPDK_2.0 2.2
448
+ rte_pipeline_table_entry_add_bulk@DPDK_2.2 2.2
449
+ rte_pipeline_table_entry_delete@DPDK_2.0 2.2
450
+ rte_pipeline_table_entry_delete_bulk@DPDK_2.2 2.2
451
+ rte_pipeline_table_stats_read@DPDK_2.1 2.2
452
+ rte_pktmbuf_dump@DPDK_2.0 2.2
453
+ rte_pktmbuf_init@DPDK_2.0 2.2
454
+ rte_pktmbuf_offload_pool_create@DPDK_2.2 2.2
455
+ rte_pktmbuf_pool_create@DPDK_2.1 2.2
456
+ rte_pktmbuf_pool_init@DPDK_2.0 2.2
457
+ rte_pmd_af_packet_devinit@DPDK_2.0 2.2
458
+ rte_port_ethdev_reader_ops@DPDK_2.0 2.2
459
+ rte_port_ethdev_writer_nodrop_ops@DPDK_2.1 2.2
460
+ rte_port_ethdev_writer_ops@DPDK_2.0 2.2
461
+ rte_port_ring_multi_reader_ops@DPDK_2.2 2.2
462
+ rte_port_ring_multi_writer_nodrop_ops@DPDK_2.2 2.2
463
+ rte_port_ring_multi_writer_ops@DPDK_2.2 2.2
464
+ rte_port_ring_reader_ipv4_frag_ops@DPDK_2.0 2.2
465
+ rte_port_ring_reader_ipv6_frag_ops@DPDK_2.1 2.2
466
+ rte_port_ring_reader_ops@DPDK_2.0 2.2
467
+ rte_port_ring_writer_ipv4_ras_ops@DPDK_2.0 2.2
468
+ rte_port_ring_writer_ipv6_ras_ops@DPDK_2.1 2.2
469
+ rte_port_ring_writer_nodrop_ops@DPDK_2.1 2.2
470
+ rte_port_ring_writer_ops@DPDK_2.0 2.2
471
+ rte_port_sched_reader_ops@DPDK_2.0 2.2
472
+ rte_port_sched_writer_ops@DPDK_2.0 2.2
473
+ rte_port_sink_ops@DPDK_2.0 2.2
474
+ rte_port_source_ops@DPDK_2.0 2.2
475
+ rte_power_exit@DPDK_2.0 2.2
476
+ rte_power_freq_down@DPDK_2.0 2.2
477
+ rte_power_freq_max@DPDK_2.0 2.2
478
+ rte_power_freq_min@DPDK_2.0 2.2
479
+ rte_power_freq_up@DPDK_2.0 2.2
480
+ rte_power_freqs@DPDK_2.0 2.2
481
+ rte_power_get_env@DPDK_2.0 2.2
482
+ rte_power_get_freq@DPDK_2.0 2.2
483
+ rte_power_init@DPDK_2.0 2.2
484
+ rte_power_set_env@DPDK_2.0 2.2
485
+ rte_power_set_freq@DPDK_2.0 2.2
486
+ rte_power_unset_env@DPDK_2.0 2.2
487
+ rte_realloc@DPDK_2.0 2.2
488
+ rte_red_config_init@DPDK_2.0 2.2
489
+ rte_red_log2_1_minus_Wq@DPDK_2.0 2.2
490
+ rte_red_pow2_frac_inv@DPDK_2.0 2.2
491
+ rte_red_rand_seed@DPDK_2.0 2.2
492
+ rte_red_rand_val@DPDK_2.0 2.2
493
+ rte_red_rt_data_init@DPDK_2.0 2.2
494
+ rte_reorder_create@DPDK_2.0 2.2
495
+ rte_reorder_drain@DPDK_2.0 2.2
496
+ rte_reorder_find_existing@DPDK_2.0 2.2
497
+ rte_reorder_free@DPDK_2.0 2.2
498
+ rte_reorder_init@DPDK_2.0 2.2
499
+ rte_reorder_insert@DPDK_2.0 2.2
500
+ rte_reorder_reset@DPDK_2.0 2.2
501
+ rte_ring_create@DPDK_2.0 2.2
502
+ rte_ring_dump@DPDK_2.0 2.2
503
+ rte_ring_free@DPDK_2.2 2.2
504
+ rte_ring_get_memsize@DPDK_2.0 2.2
505
+ rte_ring_init@DPDK_2.0 2.2
506
+ rte_ring_list_dump@DPDK_2.0 2.2
507
+ rte_ring_lookup@DPDK_2.0 2.2
508
+ rte_ring_set_water_mark@DPDK_2.0 2.2
509
+ rte_sched_pipe_config@DPDK_2.0 2.2
510
+ rte_sched_port_config@DPDK_2.0 2.2
511
+ rte_sched_port_dequeue@DPDK_2.0 2.2
512
+ rte_sched_port_enqueue@DPDK_2.0 2.2
513
+ rte_sched_port_free@DPDK_2.0 2.2
514
+ rte_sched_port_get_memory_footprint@DPDK_2.0 2.2
515
+ rte_sched_port_pkt_read_color@DPDK_2.1 2.2
516
+ rte_sched_port_pkt_read_tree_path@DPDK_2.1 2.2
517
+ rte_sched_port_pkt_write@DPDK_2.1 2.2
518
+ rte_sched_queue_read_stats@DPDK_2.0 2.2
519
+ rte_sched_subport_config@DPDK_2.0 2.2
520
+ rte_sched_subport_read_stats@DPDK_2.0 2.2
521
+ rte_set_application_usage_hook@DPDK_2.0 2.2
522
+ rte_set_log_level@DPDK_2.0 2.2
523
+ rte_set_log_type@DPDK_2.0 2.2
524
+ rte_socket_id@DPDK_2.0 2.2
525
+ rte_strerror@DPDK_2.0 2.2
526
+ rte_strsplit@DPDK_2.0 2.2
527
+ rte_sys_gettid@DPDK_2.0 2.2
528
+ rte_table_acl_ops@DPDK_2.0 2.2
529
+ rte_table_array_ops@DPDK_2.0 2.2
530
+ rte_table_hash_ext_ops@DPDK_2.0 2.2
531
+ rte_table_hash_key16_ext_dosig_ops@DPDK_2.2 2.2
532
+ rte_table_hash_key16_ext_ops@DPDK_2.0 2.2
533
+ rte_table_hash_key16_lru_ops@DPDK_2.0 2.2
534
+ rte_table_hash_key32_ext_ops@DPDK_2.0 2.2
535
+ rte_table_hash_key32_lru_ops@DPDK_2.0 2.2
536
+ rte_table_hash_key8_ext_dosig_ops@DPDK_2.0 2.2
537
+ rte_table_hash_key8_ext_ops@DPDK_2.0 2.2
538
+ rte_table_hash_key8_lru_dosig_ops@DPDK_2.0 2.2
539
+ rte_table_hash_key8_lru_ops@DPDK_2.0 2.2
540
+ rte_table_hash_lru_ops@DPDK_2.0 2.2
541
+ rte_table_lpm_ipv6_ops@DPDK_2.0 2.2
542
+ rte_table_lpm_ops@DPDK_2.0 2.2
543
+ rte_table_stub_ops@DPDK_2.0 2.2
544
+ rte_thread_get_affinity@DPDK_2.0 2.2
545
+ rte_thread_set_affinity@DPDK_2.0 2.2
546
+ rte_timer_dump_stats@DPDK_2.0 2.2
547
+ rte_timer_init@DPDK_2.0 2.2
548
+ rte_timer_manage@DPDK_2.0 2.2
549
+ rte_timer_pending@DPDK_2.0 2.2
550
+ rte_timer_reset@DPDK_2.0 2.2
551
+ rte_timer_reset_sync@DPDK_2.0 2.2
552
+ rte_timer_stop@DPDK_2.0 2.2
553
+ rte_timer_stop_sync@DPDK_2.0 2.2
554
+ rte_timer_subsystem_init@DPDK_2.0 2.2
555
+ rte_vhost_dequeue_burst@DPDK_2.0 2.2
556
+ rte_vhost_driver_callback_register@DPDK_2.0 2.2
557
+ rte_vhost_driver_register@DPDK_2.0 2.2
558
+ rte_vhost_driver_session_start@DPDK_2.0 2.2
559
+ rte_vhost_driver_unregister@DPDK_2.1 2.2
560
+ rte_vhost_enable_guest_notification@DPDK_2.0 2.2
561
+ rte_vhost_enqueue_burst@DPDK_2.0 2.2
562
+ rte_vhost_feature_disable@DPDK_2.0 2.2
563
+ rte_vhost_feature_enable@DPDK_2.0 2.2
564
+ rte_vhost_feature_get@DPDK_2.0 2.2
565
+ rte_vlog@DPDK_2.0 2.2
566
+ rte_zmalloc@DPDK_2.0 2.2
567
+ rte_zmalloc_socket@DPDK_2.0 2.2
568
+ vt100_init@DPDK_2.0 2.2
569
+ vt100_parser@DPDK_2.0 2.2

+ 44
- 0
ovs_build/dpdk_2.2.0/debian/patches/series View File

@@ -0,0 +1,44 @@
1
+ubuntu-fix-doc-installpath.patch
2
+ubuntu-combined-shared-lib-abiversion.patch
3
+ubuntu-fix-library-linkage.patch
4
+ubuntu-fix-testpmd-without-xen.patch
5
+ubuntu-fix-lpm-use-after-free-and-leak.patch
6
+ubuntu-backport-01-app-testpmd-handle-SIGINT-and-SIGTERM.patch
7
+ubuntu-backport-02-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch
8
+ubuntu-backport-03-tools-fix-unbinding-failure-handling.patch
9
+ubuntu-backport-04-tools-support-Python-3-in-bind-script.patch
10
+ubuntu-backport-05-tools-support-binding-to-built-in-kernel-modules.patch
11
+ubuntu-backport-06-eal-linux-support-built-in-kernel-modules.patch
12
+ubuntu-backport-07-mempool-fix-leak-when-creation-fails.patch
13
+ubuntu-backport-08-vhost-fix-leak-of-fds-and-mmaps.patch
14
+ubuntu-backport-09-port-fix-crash-for-ring-writer-nodrop.patch
15
+ubuntu-backport-10-port-fix-crash-for-ethdev-writer-nodrop.patch
16
+ubuntu-backport-11-i40e-fix-overflow.patch
17
+ubuntu-backport-12-i40e-fix-inverted-check-for-no-refcount.patch
18
+ubuntu-backport-13-i40e-fix-VLAN-filtering.patch
19
+ubuntu-backport-14-i40e-base-fix-missing-check-for-stopped-admin-queue.patch
20
+ubuntu-backport-15-i40e-base-fix-driver-load-failure.patch
21
+ubuntu-backport-16-fm10k-fix-VLAN-flag-in-scattered-Rx.patch
22
+ubuntu-backport-17-pcap-fix-captured-frame-length.patch
23
+ubuntu-backport-18-bonding-fix-detach-of-bonded-device.patch
24
+ubuntu-backport-19-bonding-fix-detach-of-slave-devices.patch
25
+ubuntu-backport-20-bonding-copy-entire-config-structure-in-mode-4.patch
26
+ubuntu-backport-21-bonding-do-not-ignore-multicast-in-mode-4.patch
27
+ubuntu-backport-22-bonding-fix-active-slaves-with-no-primary.patch
28
+ubuntu-backport-23-bonding-do-not-activate-slave-twice.patch
29
+ubuntu-backport-24-bonding-fix-crash-when-no-slave-device.patch
30
+ubuntu-backport-25-virtio-fix-crash-in-statistics-functions.patch
31
+ubuntu-backport-26-virtio-fix-descriptors-pointing-to-the-same-buffer.patch
32
+ubuntu-backport-27-virtio-fix-restart.patch
33
+ubuntu-backport-28-lpm-fix-allocation-of-an-existing-object.patch
34
+ubuntu-backport-29-hash-fix-multi-process-support.patch
35
+ubuntu-backport-30-hash-fix-allocation-of-an-existing-object.patch
36
+ubuntu-backport-31-hash-fix-race-condition-at-creation.patch
37
+ubuntu-backport-32-eal-fix-resource-leak.patch
38
+ubuntu-backport-33-vhost-user-add-error-handling-for-fd-1023.patch
39
+ubuntu-backport-34-port-fix-ring-writer-buffer-overflow.patch
40
+ubuntu-backport-35-port-fix-burst-size-mask-type.patch
41
+ubuntu-backport-36-pci-identify-devices-not-managed-by-any-kernel-drive.patch
42
+ubuntu-backport-37-pci-ignore-devices-already-managed-in-Linux-when-map.patch
43
+ubuntu-backport-38-dpdk-dev-Memory-leak-when-adding-removing-vhost_user-ports.patch
44
+ubuntu-fix-vhost-user-socket-permission.patch

+ 146
- 0
ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-01-app-testpmd-handle-SIGINT-and-SIGTERM.patch View File

@@ -0,0 +1,146 @@
1
+Description: backport of dpdk 16.04-rc1 fix for LP: #1559981
2
+
3
+Forwarded: n/a (already upstream)
4
+Author: Christian Ehrhardt <christian.ehrhardt@canonical.com>
5
+Last-Update: 2016-03-20
6
+
7
+From d3a274ce9dee28118b8647e0db72ef0f4b6a6323 Mon Sep 17 00:00:00 2001
8
+From: Zhihong Wang <zhihong.wang@intel.com>
9
+Date: Wed, 30 Dec 2015 16:59:49 -0500
10
+Subject: [PATCH] app/testpmd: handle SIGINT and SIGTERM
11
+
12
+Handle SIGINT and SIGTERM in testpmd.
13
+
14
+Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
15
+Acked-by: Michael Qiu <michael.qiu@intel.com>
16
+---
17
+ app/test-pmd/cmdline.c | 20 +++++++++++++-------
18
+ app/test-pmd/testpmd.c | 39 +++++++++++++++++++++++++++++++++------
19
+ app/test-pmd/testpmd.h |  1 +
20
+ 3 files changed, 47 insertions(+), 13 deletions(-)
21
+
22
+Index: dpdk/app/test-pmd/cmdline.c
23
+===================================================================
24
+--- dpdk.orig/app/test-pmd/cmdline.c
25
++++ dpdk/app/test-pmd/cmdline.c
26
+@@ -90,6 +90,8 @@
27
+ 
28
+ #include "testpmd.h"
29
+ 
30
++static struct cmdline *testpmd_cl;
31
++
32
+ static void cmd_reconfig_device_queue(portid_t id, uint8_t dev, uint8_t queue);
33
+ 
34
+ #ifdef RTE_NIC_BYPASS
35
+@@ -9778,17 +9780,21 @@ cmdline_parse_ctx_t main_ctx[] = {
36
+ void
37
+ prompt(void)
38
+ {
39
+-	struct cmdline *cl;
40
+-
41
+ 	/* initialize non-constant commands */
42
+ 	cmd_set_fwd_mode_init();
43
+ 
44
+-	cl = cmdline_stdin_new(main_ctx, "testpmd> ");
45
+-	if (cl == NULL) {
46
++	testpmd_cl = cmdline_stdin_new(main_ctx, "testpmd> ");
47
++	if (testpmd_cl == NULL)
48
+ 		return;
49
+-	}
50
+-	cmdline_interact(cl);
51
+-	cmdline_stdin_exit(cl);
52
++	cmdline_interact(testpmd_cl);
53
++	cmdline_stdin_exit(testpmd_cl);
54
++}
55
++
56
++void
57
++prompt_exit(void)
58
++{
59
++	if (testpmd_cl != NULL)
60
++		cmdline_quit(testpmd_cl);
61
+ }
62
+ 
63
+ static void
64
+Index: dpdk/app/test-pmd/testpmd.c
65
+===================================================================
66
+--- dpdk.orig/app/test-pmd/testpmd.c
67
++++ dpdk/app/test-pmd/testpmd.c
68
+@@ -1569,13 +1569,16 @@ pmd_test_exit(void)
69
+ 	if (test_done == 0)
70
+ 		stop_packet_forwarding();
71
+ 
72
+-	FOREACH_PORT(pt_id, ports) {
73
+-		printf("Stopping port %d...", pt_id);
74
+-		fflush(stdout);
75
+-		rte_eth_dev_close(pt_id);
76
+-		printf("done\n");
77
++	if (ports != NULL) {
78
++		no_link_check = 1;
79
++		FOREACH_PORT(pt_id, ports) {
80
++			printf("\nShutting down port %d...\n", pt_id);
81
++			fflush(stdout);
82
++			stop_port(pt_id);
83
++			close_port(pt_id);
84
++		}
85
+ 	}
86
+-	printf("bye...\n");
87
++	printf("\nBye...\n");
88
+ }
89
+ 
90
+ typedef void (*cmd_func_t)(void);
91
+@@ -1983,12 +1986,35 @@ init_port(void)
92
+ 		ports[pid].enabled = 1;
93
+ }
94
+ 
95
++static void
96
++force_quit(void)
97
++{
98
++	pmd_test_exit();
99
++	prompt_exit();
100
++}
101
++
102
++static void
103
++signal_handler(int signum)
104
++{
105
++	if (signum == SIGINT || signum == SIGTERM) {
106
++		printf("\nSignal %d received, preparing to exit...\n",
107
++				signum);
108
++		force_quit();
109
++		/* exit with the expected status */
110
++		signal(signum, SIG_DFL);
111
++		kill(getpid(), signum);
112
++	}
113
++}
114
++
115
+ int
116
+ main(int argc, char** argv)
117
+ {
118
+ 	int  diag;
119
+ 	uint8_t port_id;
120
+ 
121
++	signal(SIGINT, signal_handler);
122
++	signal(SIGTERM, signal_handler);
123
++
124
+ 	diag = rte_eal_init(argc, argv);
125
+ 	if (diag < 0)
126
+ 		rte_panic("Cannot init EAL\n");
127
+@@ -2040,6 +2066,7 @@ main(int argc, char** argv)
128
+ 		start_packet_forwarding(0);
129
+ 		printf("Press enter to exit\n");
130
+ 		rc = read(0, &c, 1);
131
++		pmd_test_exit();
132
+ 		if (rc < 0)
133
+ 			return 1;
134
+ 	}
135
+Index: dpdk/app/test-pmd/testpmd.h
136
+===================================================================
137
+--- dpdk.orig/app/test-pmd/testpmd.h
138
++++ dpdk/app/test-pmd/testpmd.h
139
+@@ -462,6 +462,7 @@ unsigned int parse_item_list(char* str,
140
+ 			unsigned int *parsed_items, int check_unique_values);
141
+ void launch_args_parse(int argc, char** argv);
142
+ void prompt(void);
143
++void prompt_exit(void);
144
+ void nic_stats_display(portid_t port_id);
145
+ void nic_stats_clear(portid_t port_id);
146
+ void nic_xstats_display(portid_t port_id);

+ 134
- 0
ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-02-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch View File

@@ -0,0 +1,134 @@
1
+Description: backport of dpdk 16.04-rc1 fix for LP: #1559981
2
+
3
+Forwarded: n/a (already upstream)
4
+Author: Christian Ehrhardt <christian.ehrhardt@canonical.com>
5
+Last-Update: 2016-03-20
6
+
7
+From 308df2bfba3d238fc1d2d16cc10c84681803b408 Mon Sep 17 00:00:00 2001
8
+From: Zhihong Wang <zhihong.wang@intel.com>
9
+Date: Wed, 30 Dec 2015 16:59:51 -0500
10
+Subject: [PATCH] examples/l3fwd: handle SIGINT and SIGTERM
11
+
12
+Handle SIGINT and SIGTERM in l3fwd.
13
+
14
+Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
15
+Acked-by: Michael Qiu <michael.qiu@intel.com>
16
+Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
17
+---
18
+ examples/l3fwd/main.c | 46 ++++++++++++++++++++++++++++++++++++++++++----
19
+ 1 file changed, 42 insertions(+), 4 deletions(-)
20
+
21
+diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
22
+index 5b0c2dd..21a5782 100644
23
+--- a/examples/l3fwd/main.c
24
++++ b/examples/l3fwd/main.c
25
+@@ -41,6 +41,8 @@
26
+ #include <stdarg.h>
27
+ #include <errno.h>
28
+ #include <getopt.h>
29
++#include <signal.h>
30
++#include <stdbool.h>
31
+ 
32
+ #include <rte_common.h>
33
+ #include <rte_vect.h>
34
+@@ -75,6 +77,8 @@
35
+ #include <cmdline_parse.h>
36
+ #include <cmdline_parse_etheraddr.h>
37
+ 
38
++static volatile bool force_quit;
39
++
40
+ #define APP_LOOKUP_EXACT_MATCH          0
41
+ #define APP_LOOKUP_LPM                  1
42
+ #define DO_RFC_1812_CHECKS
43
+@@ -1553,7 +1557,7 @@ main_loop(__attribute__((unused)) void *dummy)
44
+ 			portid, queueid);
45
+ 	}
46
+ 
47
+-	while (1) {
48
++	while (!force_quit) {
49
+ 
50
+ 		cur_tsc = rte_rdtsc();
51
+ 
52
+@@ -1781,6 +1785,8 @@ main_loop(__attribute__((unused)) void *dummy)
53
+ 
54
+ 		}
55
+ 	}
56
++
57
++	return 0;
58
+ }
59
+ 
60
+ static int
61
+@@ -2516,8 +2522,12 @@ check_all_ports_link_status(uint8_t port_num, uint32_t port_mask)
62
+ 	printf("\nChecking link status");
63
+ 	fflush(stdout);
64
+ 	for (count = 0; count <= MAX_CHECK_TIME; count++) {
65
++		if (force_quit)
66
++			return;
67
+ 		all_ports_up = 1;
68
+ 		for (portid = 0; portid < port_num; portid++) {
69
++			if (force_quit)
70
++				return;
71
+ 			if ((port_mask & (1 << portid)) == 0)
72
+ 				continue;
73
+ 			memset(&link, 0, sizeof(link));
74
+@@ -2559,6 +2569,16 @@ check_all_ports_link_status(uint8_t port_num, uint32_t port_mask)
75
+ 	}
76
+ }
77
+ 
78
++static void
79
++signal_handler(int signum)
80
++{
81
++	if (signum == SIGINT || signum == SIGTERM) {
82
++		printf("\n\nSignal %d received, preparing to exit...\n",
83
++				signum);
84
++		force_quit = true;
85
++	}
86
++}
87
++
88
+ int
89
+ main(int argc, char **argv)
90
+ {
91
+@@ -2579,6 +2599,10 @@ main(int argc, char **argv)
92
+ 	argc -= ret;
93
+ 	argv += ret;
94
+ 
95
++	force_quit = false;
96
++	signal(SIGINT, signal_handler);
97
++	signal(SIGTERM, signal_handler);
98
++
99
+ 	/* pre-init dst MACs for all ports to 02:00:00:00:00:xx */
100
+ 	for (portid = 0; portid < RTE_MAX_ETHPORTS; portid++) {
101
+ 		dest_eth_addr[portid] = ETHER_LOCAL_ADMIN_ADDR + ((uint64_t)portid << 40);
102
+@@ -2733,12 +2757,26 @@ main(int argc, char **argv)
103
+ 
104
+ 	check_all_ports_link_status((uint8_t)nb_ports, enabled_port_mask);
105
+ 
106
++	ret = 0;
107
+ 	/* launch per-lcore init on every lcore */
108
+ 	rte_eal_mp_remote_launch(main_loop, NULL, CALL_MASTER);
109
+ 	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
110
+-		if (rte_eal_wait_lcore(lcore_id) < 0)
111
+-			return -1;
112
++		if (rte_eal_wait_lcore(lcore_id) < 0) {
113
++			ret = -1;
114
++			break;
115
++		}
116
+ 	}
117
+ 
118
+-	return 0;
119
++	/* stop ports */
120
++	for (portid = 0; portid < nb_ports; portid++) {
121
++		if ((enabled_port_mask & (1 << portid)) == 0)
122
++			continue;
123
++		printf("Closing port %d...", portid);
124
++		rte_eth_dev_stop(portid);
125
++		rte_eth_dev_close(portid);
126
++		printf(" Done\n");
127
++	}
128
++	printf("Bye...\n");
129
++
130
++	return ret;
131
+ }
132
+-- 
133
+2.7.3
134
+

+ 35
- 0
ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-03-tools-fix-unbinding-failure-handling.patch View File

@@ -0,0 +1,35 @@
1
+Description: backport of dpdk 16.04-rc1 fix for LP: #1559981
2
+
3
+Forwarded: n/a (already upstream)
4
+Author: Christian Ehrhardt <christian.ehrhardt@canonical.com>
5
+Last-Update: 2016-03-20
6
+
7
+From da82ee17e6ea99bf2931383ac33b0caccaaaefce Mon Sep 17 00:00:00 2001
8
+From: Jeff Shaw <jeffrey.b.shaw@intel.com>
9
+Date: Mon, 8 Feb 2016 16:33:46 -0800
10
+Subject: [PATCH] tools: fix unbinding failure handling
11
+
12
+We should call sys.exit(), not divide sys by exit().
13
+
14
+Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
15
+Acked-by: Bruce Richardson <bruce.richardson@intel.com>
16
+---
17
+ tools/dpdk_nic_bind.py | 2 +-
18
+ 1 file changed, 1 insertion(+), 1 deletion(-)
19
+
20
+diff --git a/tools/dpdk_nic_bind.py b/tools/dpdk_nic_bind.py
21
+index f02454e..a1923c5 100755
22
+--- a/tools/dpdk_nic_bind.py
23
++++ b/tools/dpdk_nic_bind.py
24
+@@ -317,7 +317,7 @@ def unbind_one(dev_id, force):
25
+         f = open(filename, "a")
26
+     except:
27
+         print "Error: unbind failed for %s - Cannot open %s" % (dev_id, filename)
28
+-        sys/exit(1)
29
++        sys.exit(1)
30
+     f.write(dev_id)
31
+     f.close()
32
+ 
33
+-- 
34
+2.7.3
35
+

+ 259
- 0
ovs_build/dpdk_2.2.0/debian/patches/ubuntu-backport-04-tools-support-Python-3-in-bind-script.patch View File

@@ -0,0 +1,259 @@
1
+Description: backport of dpdk 16.04-rc1 fix for LP: #1559981
2
+
3
+Forwarded: n/a (already upstream)
4
+Author: Christian Ehrhardt <christian.ehrhardt@canonical.com>
5
+Last-Update: 2016-03-20
6
+
7
+From 16c1814c802c205f6d3c32e3d3d10de9f87e7f22 Mon Sep 17 00:00:00 2001
8
+From: Dawid Jurczak <dawid_jurek@vp.pl>
9
+Date: Wed, 27 Jan 2016 20:59:44 +0100
10
+Subject: [PATCH] tools: support Python 3 in bind script
11
+
12
+This patch fixes syntax errors during binding ethernet device
13
+on systems where Python 3 is default.
14
+Backward compatibility with Python 2 is preserved.
15
+
16
+Signed-off-by: Dawid Jurczak <dawid_jurek@vp.pl>
17
+---
18
+ tools/dpdk_nic_bind.py | 74 +++++++++++++++++++++++++-------------------------
19
+ 1 file changed, 37 insertions(+), 37 deletions(-)
20
+
21
+diff --git a/tools/dpdk_nic_bind.py b/tools/dpdk_nic_bind.py
22
+index a1923c5..dfefdae 100755
23
+--- a/tools/dpdk_nic_bind.py
24
++++ b/tools/dpdk_nic_bind.py
25
+@@ -54,7 +54,7 @@ args = []
26
+ def usage():
27
+     '''Print usage information for the program'''
28
+     argv0 = basename(sys.argv[0])
29
+-    print """
30
++    print ("""
31
+ Usage:
32
+ ------
33
+ 
34
+@@ -110,7 +110,7 @@ To unbind 0000:01:00.0 from using any driver
35
+ To bind 0000:02:00.0 and 0000:02:00.1 to the ixgbe kernel driver
36
+         %(argv0)s -b ixgbe 02:00.0 02:00.1
37
+ 
38
+-    """ % locals() # replace items from local variables
39
++    """ % locals()) # replace items from local variables
40
+ 
41
+ # This is roughly compatible with check_output function in subprocess module
42
+ # which is only available in python 2.7.
43
+@@ -156,7 +156,7 @@ def check_modules():
44
+     '''Checks that igb_uio is loaded'''
45
+     global dpdk_drivers
46
+ 
47
+-    fd = file("/proc/modules")
48
++    fd = open("/proc/modules", 'r')
49
+     loaded_mods = fd.readlines()
50
+     fd.close()
51
+ 
52
+@@ -176,10 +176,10 @@ def check_modules():
53
+     # check if we have at least one loaded module
54
+     if True not in [mod["Found"] for mod in mods] and b_flag is not None:
55
+         if b_flag in dpdk_drivers:
56
+-            print "Error - no supported modules(DPDK driver) are loaded"
57
++            print ("Error - no supported modules(DPDK driver) are loaded")
58
+             sys.exit(1)
59
+         else:
60
+-            print "Warning - no supported modules(DPDK driver) are loaded"
61
++            print ("Warning - no supported modules(DPDK driver) are loaded")
62
+ 
63
+     # change DPDK driver list to only contain drivers that are loaded
64
+     dpdk_drivers = [mod["Name"] for mod in mods if mod["Found"]]
65
+@@ -198,7 +198,7 @@ def get_pci_device_details(dev_id):
66
+     for line in extra_info:
67
+         if len(line) == 0:
68
+             continue
69
+-        name, value = line.split("\t", 1)
70
++        name, value = line.decode().split("\t", 1)
71
+         name = name.strip(":") + "_str"
72
+         device[name] = value
73
+     # check for a unix interface name
74
+@@ -234,7 +234,7 @@ def get_nic_details():
75
+                 dev["Device"] = int(dev["Device"],16)
76
+                 devices[dev["Slot"]] = dict(dev) # use dict to make copy of dev
77
+         else:
78
+-            name, value = dev_line.split("\t", 1)
79
++            name, value = dev_line.decode().split("\t", 1)
80
+             dev[name.rstrip(":")] = value
81
+ 
82
+     # check what is the interface if any for an ssh connection if
83
+@@ -243,17 +243,17 @@ def get_nic_details():
84
+     route = check_output(["ip", "-o", "route"])
85
+     # filter out all lines for 169.254 routes
86
+     route = "\n".join(filter(lambda ln: not ln.startswith("169.254"),
87
+-                             route.splitlines()))
88
++                             route.decode().splitlines()))
89
+     rt_info = route.split()
90
+-    for i in xrange(len(rt_info) - 1):
91
++    for i in range(len(rt_info) - 1):
92
+         if rt_info[i] == "dev":
93
+             ssh_if.append(rt_info[i+1])
94
+ 
95
+     # based on the basic info, get extended text details
96
+     for d in devices.keys():
97
+         # get additional info and add it to existing data
98
+-        devices[d] = dict(devices[d].items() +
99
+-                          get_pci_device_details(d).items())
100
++        devices[d] = devices[d].copy()
101
++        devices[d].update(get_pci_device_details(d).items())
102
+ 
103
+         for _if in ssh_if:
104
+             if _if in devices[d]["Interface"].split(","):
105
+@@ -293,22 +293,22 @@ def dev_id_from_dev_name(dev_name):
106
+             if dev_name in devices[d]["Interface"].split(","):
107
+                 return devices[d]["Slot"]
108
+     # if nothing else matches - error
109
+-    print "Unknown device: %s. " \
110
+-        "Please specify device in \"bus:slot.func\" format" % dev_name
111
++    print ("Unknown device: %s. " \
112
++        "Please specify device in \"bus:slot.func\" format" % dev_name)
113
+     sys.exit(1)
114
+ 
115
+ def unbind_one(dev_id, force):
116
+     '''Unbind the device identified by "dev_id" from its current driver'''
117
+     dev = devices[dev_id]
118
+     if not has_driver(dev_id):
119
+-        print "%s %s %s is not currently managed by any driver\n" % \
120
+-            (dev["Slot"], dev["Device_str"], dev["Interface"])
121
++        print ("%s %s %s is not currently managed by any driver\n" % \
122
++            (dev["Slot"], dev["Device_str"], dev["Interface"]))
123
+         return
124
+ 
125
+     # prevent us disconnecting ourselves
126
+     if dev["Ssh_if"] and not force:
127
+-        print "Routing table indicates that interface %s is active" \
128
+-            ". Skipping unbind" % (dev_id)
129
++        print ("Routing table indicates that interface %s is active" \
130
++            ". Skipping unbind" % (dev_id))
131
+         return
132
+ 
133
+     # write to /sys to unbind
134
+@@ -316,7 +316,7 @@ def unbind_one(dev_id, force):
135
+     try:
136
+         f = open(filename, "a")
137
+     except:
138
+-        print "Error: unbind failed for %s - Cannot open %s" % (dev_id, filename)
139
++        print ("Error: unbind failed for %s - Cannot open %s" % (dev_id, filename))
140
+         sys.exit(1)
141
+     f.write(dev_id)
142
+     f.close()
143
+@@ -329,14 +329,14 @@ def bind_one(dev_id, driver, force):
144