dpdk-19.11.4-150300.16.1<>,c$)p9|t Q1Y%eȈmJ}跱-ũ1*+aB\e  D;Zr5+>S#:U8dGnŸbv 5ddڟ:lXesxfѵ@5 F"m@"$[7s d6А}[H^rg4-.S8FN&ޑb^_l[ KA`\"ܑ2ۂ/5>??d  S> Teu{     (@^|HHH8<E(F8PF9hF:FG8HPIhXpY|\]^bcd8e=f@lBuTvlwdx|yxtx~Cdpdk19.11.4150300.16.1Set of libraries and drivers for fast packet processingThe Data Plane Development Kit is a set of libraries and drivers for fast packet processing in the user space.c$)sheep74SUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/System/Librarieshttp://dpdk.orglinuxx86_64[h HpZPc$(c$(c$(c$(c$(c$(f13368ab054c857946d8a90eb2ee63fe50ade2fd239a45022a11b74d97a8ceca8337273d5fc79246554e5a4d64f1668eff12638324aa8afdc571c3adff19d143347b3dcb941fc963a8c92807dfda293a83ab532f4c8b5adb7041547f381d58b36107c6c24f39a2e24ee023397cda46a28069ab3561453ee347a96df8ae22c5e8e4f2e46943c2c2570ebaeb7553733f3ffe9f5e168d2469e966b943ec6e067ab5dpdk-procinforootrootrootrootrootrootrootrootrootrootrootrootdpdk-19.11.4-150300.16.1.src.rpmdpdkdpdk(x86-64)dpdk-any@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    ld-linux-x86-64.so.2()(64bit)ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.7)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2.5)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)librte_bbdev.so.0.200()(64bit)librte_bbdev.so.0.200(EXPERIMENTAL)(64bit)librte_bitratestats.so.20.0()(64bit)librte_bitratestats.so.20.0(DPDK_20.0)(64bit)librte_bpf.so.0.200()(64bit)librte_bpf.so.0.200(EXPERIMENTAL)(64bit)librte_bus_vdev.so.20.0()(64bit)librte_bus_vdev.so.20.0(DPDK_20.0)(64bit)librte_cmdline.so.20.0()(64bit)librte_cmdline.so.20.0(DPDK_20.0)(64bit)librte_cryptodev.so.20.0()(64bit)librte_cryptodev.so.20.0(DPDK_20.0)(64bit)librte_eal.so.20.0()(64bit)librte_eal.so.20.0(DPDK_20.0)(64bit)librte_eal.so.20.0(EXPERIMENTAL)(64bit)librte_ethdev.so.20.0()(64bit)librte_ethdev.so.20.0(DPDK_20.0)(64bit)librte_ethdev.so.20.0(EXPERIMENTAL)(64bit)librte_gro.so.20.0()(64bit)librte_gro.so.20.0(DPDK_20.0)(64bit)librte_gso.so.20.0()(64bit)librte_gso.so.20.0(DPDK_20.0)(64bit)librte_ipsec.so.0.200()(64bit)librte_ipsec.so.0.200(EXPERIMENTAL)(64bit)librte_kvargs.so.20.0()(64bit)librte_kvargs.so.20.0(DPDK_20.0)(64bit)librte_latencystats.so.20.0()(64bit)librte_latencystats.so.20.0(DPDK_20.0)(64bit)librte_mbuf.so.20.0()(64bit)librte_mbuf.so.20.0(DPDK_20.0)(64bit)librte_mbuf.so.20.0(EXPERIMENTAL)(64bit)librte_mempool.so.20.0()(64bit)librte_mempool.so.20.0(DPDK_20.0)(64bit)librte_metrics.so.20.0()(64bit)librte_metrics.so.20.0(DPDK_20.0)(64bit)librte_net.so.20.0()(64bit)librte_net.so.20.0(DPDK_20.0)(64bit)librte_net.so.20.0(EXPERIMENTAL)(64bit)librte_pdump.so.20.0()(64bit)librte_pdump.so.20.0(DPDK_20.0)(64bit)librte_pmd_bbdev_fpga_lte_fec.so.20.0()(64bit)librte_pmd_bbdev_fpga_lte_fec.so.20.0(EXPERIMENTAL)(64bit)librte_pmd_bnxt.so.20.0()(64bit)librte_pmd_bnxt.so.20.0(DPDK_20.0)(64bit)librte_pmd_bond.so.20.0()(64bit)librte_pmd_bond.so.20.0(DPDK_20.0)(64bit)librte_pmd_i40e.so.20.0()(64bit)librte_pmd_i40e.so.20.0(DPDK_20.0)(64bit)librte_pmd_ixgbe.so.20.0()(64bit)librte_pmd_ixgbe.so.20.0(DPDK_20.0)(64bit)librte_pmd_softnic.so.20.0()(64bit)librte_pmd_softnic.so.20.0(DPDK_20.0)(64bit)librte_ring.so.20.0()(64bit)librte_ring.so.20.0(DPDK_20.0)(64bit)librte_security.so.20.0()(64bit)librte_security.so.20.0(DPDK_20.0)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-1dpdk-any4.14.3c@bk@bj_s!_i@_2@^@^l@^\@]@]@]\@\Y@\o@\I[Ѱ@[[['ZZ@ZZZH@Z\ZTZ@X6@W= SLES15 It needs rdma-core >= v16.- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since no longer referenced in .spec files - Added 0002-dpdk-eal-ppc-rte_smp_mb.patch to fix an issue on ppc64le platforms with v18.02 - Updated to version 18.02; some of the changes include: * Added function to allow releasing internal EAL resources on exit * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API * Updated i40e driver to support PPPoE/PPPoL2TP * Added MAC loopback support for i40e * Added support of run time determination of number of queues per i40e VF * Updated mlx5 driver * Updated mlx4 driver * Added NVGRE and UDP tunnels support in Solarflare network PMD * Added AVF (Adaptive Virtual Function) net PMD * Added feature supports for live migration from vhost-net to vhost-user * Updated the AESNI-MB PMD * Updated the DPAA_SEC crypto driver to support rte_security * Added Wireless Base Band Device (bbdev) abstraction * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD * Added new pipeline use case for dpdk-test-eventdev application * Updated Eventdev sample application to support event devices based on capability * Added Rawdev, a generic device support library * Added new multi-process communication channel * Added GRO support for VxLAN-tunneled packets * Increased default Rx and Tx ring size in sample applications * Added new DPDK build system using the tools “meson” and “ninja” [EXPERIMENTAL]- The vm_power example does not work for ppc64le since it uses the IXGBE PMD driver which is not available for that platform(bsc#1082154): * Disable CONFIG_RTE_LIBRTE_POWER for the sample application; * Disable CONFIG_RTE_LIBRTE_IXGBE_PMD for the actual PMD driver;- Upgraded to latest stable release 17.11.1 (LTS): some of the fixes include: * location changes of the GPL and LGPL licenses; * net/mlx4: - fix drop flow resources leak * net/bnxt: - double increment of idx during Tx ring alloc - group info usage - check for ether type - size of Tx ring in HW - number of pools for RSS - return code in MAC address set - link speed setting with autoneg off * net/nfp: - MTU settings - jumbo settings - CRC strip check behaviour * net/sfc: - multicast address list copy memory leak - DMA memory leak after kvarg processing failure - fix label name to be consistent * net/i40e: - VLAN offload setting issue - FDIR input set conflict - FDIR rule confiliction issue - setting MAC address of VF - flow director Rx resource defect - warn when writing global registers - multiple driver support - interrupt conflict with multi-driver - Rx interrupt - check multi-driver option parsing - flow director filter * net/qede: - enable LRO over tunnels - reject config with no Rx queue - check tunnel L3 header - tunnel header size in Tx BD configuration - VF LRO tunnel configuration * net/mlx5: - Tx checksum offloads - un-supported RSS hash fields use - device operation type - pedantic compilation - fix pedantic compilation - flow item validation - flow RSS configuration - UAR remapping on non configured queues - secondary process verification - port stop by verify flows are still present - flow priority on queue action- Enable(disabled by default) MLX4 and MLX5 pmd(fate#322609)- Upgraded to latest major 17.11(fate#322609); some of the fixes include: * Extended port_id range from uint8_t to uint16_t * Added a new driver for Marvell Armada 7k/8k devices * Updated mlx4 driver * Updated mlx5 driver * Added SoftNIC PMD * Added support for NXP DPAA Devices * Updated support for Cavium OCTEONTX Device * Added PF support to the Netronome NFP PMD * Updated bnxt PMD * Added bus agnostic functions to cryptodev for PMD initialization * Updated QAT crypto PMD * Updated the AESNI MB PMD * Updated the OpenSSL PMD * Added NXP DPAA SEC crypto PMD * Add new benchmarking mode to dpdk-test-crypto-perf application * Added IOMMU support to libvhost-user * Added the Generic Segmentation Offload Library * Added the Flow Classification Library - Removed 0002-kni-fix-build-on-SLE12-SP3.patch since patch merged upstream and available in 17.11- Added missing supported broadcom chipset family Broadcom NetXtreme II BCM57810- Upgraded to latest stable 17.08.1; some of the fixes include: * net/qede: disable per-VF Tx switching feature * revert "net/virtio: flush Rx queues on start" * various fixes for mlx5 PMD drivers * various fixes for bnxt PMD drivers * various fixes for i40e PMD drivers * various fixes for crypto PMD drivers * testpmd: fix for non-consecutive ports * ethdev: fix ABI version- Add missing libelf-devel dependency- Updated to 17.08(bsc#1050250, bsc#1046598, fate#322913, fate#322608) Some of the new features are listed below: * Increase minimum x86 ISA version to SSE4.2 * Added Fail-Safe PMD * Added support for generic flow API (rte_flow) on igb NICs * Added support for generic flow API (rte_flow) on enic * Added support for Chelsio T6 family of adapters * Added latency and performance improvements for cxgbe * Updated mlx5 driver * Added NXP DPAA2 Eventdev PMD * Added dpdk-test-eventdev test application * from 17.05: * Added mbuf raw free API * Added free Tx mbuf on demand API * Added VFIO hotplug support * Added PowerPC support for i40e and its vector PMD * Added VF max bandwidth setting in i40e * Added LiquidIO network PMD * Added support for NXP DPAA2 Network PMD * Added support for NXP DPAA2 - FSLMC bus * Added support for the Wind River Systems AVP PMD * Added vmxnet3 version 3 support * Added MTU feature support to Virtio and Vhost * Added event driven programming model library (rte_eventdev) * Added Software Eventdev PMD * Added Cavium OCTEONTX Eventdev PMD * Added NXP DPAA2 SEC crypto PMD * from 17.02: * Added generic EAL API for I/O device memory read/write operations * Added VF Daemon (VFD) for i40e. - EXPERIMENTAL * Added generic flow API (rte_flow) * Added APIs for MACsec offload support to the ixgbe PMD * Added Solarflare libefx-based network PMD. * Added support for Mellanox ConnectX-5 adapters (mlx5) * Added ARMv8 crypto PMD * Added crypto performance test application * more details can be found in http://dpdk.org/doc/guides/rel_notes/release_17_08.html http://dpdk.org/doc/guides/rel_notes/release_17_05.html http://dpdk.org/doc/guides/rel_notes/release_17_02.html [-0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch - 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch - 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch - 0005-kni-fix-build-with-gcc-7.1.patch - 0006-kni-fix-ethtool-build-with-kernel-4.11.patch - 0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch] - Use updated patch to enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+ 0002-kni-fix-build-on-SLE12-SP3.patch]- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version- Split libs into a subpackage to provide multiple installable versions on same sytem- Do not use obsolete pci_enable_msix for() kernel > 4.8 [+0006-kni-fix-ethtool-build-with-kernel-4.11.patch, +0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch]- Updated to 16.11.2 which provide bug fixes as below(fate#321541): * mbuf: fix missing includes in exported header * eal: fix debug macro redefinition * net/nfp: fix packet/data length conversion * net/i40e: fix setup when bulk is disabled * pci: fix device registration on FreeBSD * net/i40e: ensure vector mode is not used with QinQ * nic_uio: fix device binding at boot * net/bnx2x: fix transmit queue free threshold * net/vmxnet3: fix queue size changes * kni: fix build with kernel 4.11 * kni: fix possible memory leak * kni: fix crash caused by freeing mempool * net/i40e: fix allocation check * net/virtio: fix crash when closing twice * net/ixgbevf: set xstats id values * net/i40e: fix hash input set on X722 * eal/linux: fix build with glibc 2.25 * net/i40e: fix incorrect packet index reference * net/thunderx: fix 32-bit build * net/thunderx: fix build on FreeBSD * net/thunderx: fix deadlock in Rx path * net/ixgbe: fix setting MTU on stopped device * vfio: fix secondary process start * net/virtio-user: fix address on 32-bit system * net/virtio: fix MSI-X for modern devices * net/virtio: fix link status always down * net/ixgbe: fix multi-queue mode check in SRIOV mode * net/i40e/base: fix potential out of bound array access * vhost: fix false sharing * net/thunderx: fix stats access out of bounds * net/virtio: disable LSC interrupt if MSIX not enabled * net/i40e: fix mbuf alloc failed counter * net: fix stripped VLAN flag for offload emulation * vfio: fix disabling INTx * net/igb: fix VF MAC address setting * net/igb: fix VF MAC address setting * net/ixgbe: fix VF Rx mode for allmulticast disabled * net/bonding: fix updating slave link status * net/virtio-user: fix overflow * net/i40e: fix TC bitmap of VEB * net/ixgbe/base: fix build error * net/ixgbe: fix Rx queue blocking issue * net/ixgbe: fix all queues drop setting of DCB * net/ixgbe: fix TC bandwidth setting more details can be found in http://dpdk.org/ml/archives/stable/2017-May/001809.html [- 0005-kni-fix-build-with-kernel-4.11.patch] - use default gcc which is now gcc7 (bsc#1042372) [+0005-kni-fix-build-with-gcc-7.1.patch]- Add upstream patch to fix building against linux kernel 4.11 [+0005-kni-fix-build-with-kernel-4.11.patch]- sync mailbox definitions with Linux PF driver(bsc#1035993) [+0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch]- Enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch]- Fix dpdk KMP build fails(bsc#1031750) - enable igb_uio kernel module(fate#322394) - update kernel version for SLES12SP3 4.4.59 for bsc#1031705 [*0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Enable HAVE_VF_VLAN_PROTO for SLE12SP3(bsc#1031705). [+0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Disable dpdk-kmp package for ix86.- Upgrade to LTS release of 16.11 which contains fixes below(fate#321541): * app/test: fix symmetric session free in crypto perf tests * app/testpmd: fix check for invalid ports * app/testpmd: fix static build link ordering * crypto/aesni_gcm: fix IV size in capabilities * crypto/aesni_gcm: fix J0 padding bytes * crypto/aesni_mb: fix incorrect crypto session * crypto/openssl: fix extra bytes written at end of data * crypto/openssl: fix indentation in guide * crypto/qat: fix IV size in capabilities * crypto/qat: fix to avoid buffer overwrite in OOP case * cryptodev: fix crash on null dereference * cryptodev: fix loop in device query * devargs: reset driver name pointer on parsing failure * drivers/crypto: fix different auth/cipher keys * ethdev: check maximum number of queues for statistics * ethdev: fix extended statistics name index * ethdev: fix port data mismatched in multiple process model * ethdev: fix port lookup if none * ethdev: remove invalid function from version map * examples/ethtool: fix driver information * examples/ethtool: fix querying non-PCI devices * examples/ip_pipeline: fix coremask limitation * examples/ip_pipeline: fix parsing of pass-through pipeline * examples/l2fwd-crypto: fix overflow * examples/vhost: fix calculation of mbuf count * examples/vhost: fix lcore initialization * mempool: fix API documentation * mempool: fix stack handler dequeue * net/af_packet: fix fd use after free * net/bnx2x: fix Rx mode configuration * net/cxgbe/base: initialize variable before reading EEPROM * net/cxgbe: fix parenthesis on bitwise operation * net/ena: fix setting host attributes * net/enic: fix hardcoding of some flow director masks * net/enic: fix memory leak with oversized Tx packets * net/enic: remove unnecessary function parameter attributes * net/i40e: enable auto link update for 25G * net/i40e: fix Rx checksum flag * net/i40e: fix TC bandwidth definition * net/i40e: fix VF reset flow * net/i40e: fix checksum flag in x86 vector Rx * net/i40e: fix crash in close * net/i40e: fix deletion of all macvlan filters * net/i40e: fix ethertype filter on X722 * net/i40e: fix link update delay * net/i40e: fix logging for Tx free threshold check * net/i40e: fix segment number in reassemble process * net/i40e: fix wrong return value when handling PF message * net/i40e: fix xstats value mapping * net/i40evf: fix casting between structs * net/i40evf: fix reporting of imissed packets * net/ixgbe: fix blocked interrupts * net/ixgbe: fix received packets number for ARM * net/ixgbe: fix received packets number for ARM NEON * net/ixgbevf: fix max packet length * net/mlx5: fix RSS hash result for flows * net/mlx5: fix Rx packet validation and type * net/mlx5: fix Tx doorbell * net/mlx5: fix endianness in Tx completion queue * net/mlx5: fix inconsistent link status * net/mlx5: fix leak when starvation occurs * net/mlx5: fix link status query * net/mlx5: fix memory leak when parsing device params * net/mlx5: fix missing inline attributes * net/mlx5: fix updating total length of multi-packet send * net/mlx: fix IPv4 and IPv6 packet type * net/nfp: fix VLAN offload flags check * net/nfp: fix typo in Tx offload capabilities * net/pcap: fix timestamps in output pcap file * net/qede/base: fix FreeBSD build * net/qede: add vendor/device id info * net/qede: fix PF fastpath status block index * net/qede: fix filtering code * net/qede: fix function declaration * net/qede: fix per queue statisitics * net/qede: fix resource leak * net/vhost: fix socket file deleted on stop * net/vhost: fix unix socket not removed as closing * net/virtio-user: fix not properly reset device * net/virtio-user: fix wrongly get/set features * net/virtio: fix build without virtio-user * net/virtio: fix crash when number of virtio devices > 1 * net/virtio: fix multiple process support * net/virtio: fix performance regression due to TSO * net/virtio: fix rewriting LSC flag * net/virtio: fix wrong Rx/Tx method for secondary process * net/virtio: optimize header reset on any layout * net/virtio: store IO port info locally * net/virtio: store PCI operators pointer locally * net/vmxnet3: fix Rx deadlock * pci: fix check of mknod * pmdinfogen: fix endianness with cross-compilation * pmdinfogen: fix null dereference * sched: fix crash when freeing port * usertools: fix active interface detection when binding * vdev: fix detaching with alias * vfio: fix file descriptor leak in multi-process * vhost: allow many vhost-user ports * vhost: do not GSO when no header is present * vhost: fix dead loop in enqueue path * vhost: fix guest/host physical address mapping * vhost: fix long stall of negotiation * vhost: fix memory leak- Fix broken dpdk-pmd/* soft links(bsc#1026804).- Do not disable cryptodev as EXPREMENTAL tag has been removed. - Remove CONFIG_RTE_LIBRTE_MBUF_OFFLOAD as cryptodev is not depending on it anymore and its removed from the upstream.- Enable rte_kni kernel module for dpdk(fate#322394). [+preamble] - Build dpdk-thunderx only for aarch64- Update to version 16.11(fate#321541). Some of the new features are listed below: * Added software parser for packet type. * Improved offloads support in mbuf. * Added vhost-user dequeue zero copy support. * Added vhost-user indirect descriptors support. * Added vhost PMD xstats. * Added virtio NEON support for ARM. * Updated the ixgbe base driver. * Added APIs for VF management to the ixgbe PMD. * Updated the enic driver. * Added openssl PMD. * Added support for new gcc -march option. Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html - Resolved fixes in the updated versions are : * enic: Fixed several flow director issues. * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. * enic: Fixed high driver overhead when servicing Rx queues beyond the first.- Added gcc-6 as default compiler for CRC/mtune & other optimizations. - Fix possible parallel installation of dpdk subpackages.- Add pre_checkin.sh to generate the dpdk-thunderx.spec file- Fixed paths using %{name} to have the dpdk.spec aligned with dpdk-thunderx.spec- Added back in all the architectures to keep .spec files aligned * Driving thunderx platform architectural dependency via the ExclusiveArch tag- Added support to build code for Thunderx platform(fate#321960). - Introduced new dpdk-thunderx.spec file: * Removed architectures not supporting Thunderx platform (e.g. x86) * Added dependency on gcc v5.0 for armv8a-crc- Update to version 16.07.2. Some of the fixes are listed below: * ethdev: prevent duplicate event callback * hash: fix bucket size usage * hash: fix unlimited cuckoo path * lpm: fix freeing memory * lpm: fix freeing unused sub-table on rule delete * mempool: fix leak if populate fails * mempool: fix search of maximum contiguous pages * pci: fix probing error if no driver found * net/bnx2x: fix maximum PF queues * net/bnxt: fix bit shift size * net/bnxt: fix crash when closing * net/enic: fix Rx queue index when not using Rx scatter * net/enic: fix crash on MTU update or Rx queue reconfigure * net/enic: fix crash with removed flow director filters * net/enic: fix max packet length check * net/enic: fix multi-queue Rx performance * net/enic: revert truncated packets counter fix * net/fm10k: fix VF Tx queue initialization * net/i40e: fix Rx hang when disable LLDP * net/ixgbe: fix VF registers * net/thunderx: fix Tx checksum handling * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2]- Update to version 16.07.1. Some of the fixes are listed below: * contigmem: zero all pages during mmap * crypto/null: fix key size increment value * hash: fix false zero signature key hit lookup * mem: fix crash on hugepage mapping error * mbuf: fix error handling on pool creation * net/e1000: fix returned number of available Rx descriptors * net/enic: fix freeing memory for descriptor ring * net/i40e: fix dropping packets with ethertype 0x88A8 * net/i40e: fix mbuf leak during Rx queue release * net/i40e: fix null pointer dereferences when using VMDq+RSS * net/ixgbe/base: fix possible corruption of shadow RAM * net/ixgbe: fix VF reset to apply to correct VF * net/virtio_user: fix error management during init * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release]- Drop code for generating our own linker script. * Commit 948fd64befc3 (" mk: replace the combined library with a linker script") added upstream support for building and installing a linker script so we drop our code from the spec file which generated a much larger and possibly broken linker script resulting to linking issues (boo#1002534)- Update to version 16.07. Some of the new features are listed below: * Removed the mempool cache memory if caching is not being used. * Added mempool external cache for non-EAL thread. * Changed the memory allocation scheme in the mempool library. * Added a new driver for Broadcom NetXtreme-C devices. * Added a new driver for ThunderX nicvf devices. * Added mailbox interrupt support for ixgbe and igb VFs. * Updated the ixgbe base driver. * Updated the i40e base driver. * Updated the enic driver. * Updated the mlx5 driver. * Added support for virtio on IBM POWER8. * Added support for Virtio in containers. * Added vhost-user client mode. * Added NSH packet recognition in i40e. * Added AES-CTR support to AESNI MB PMD. * Added AES counter mode support for Intel QuickAssist devices. * Added KASUMI SW PMD. * Added multi-writer support for RTE Hash with Intel TSX. * Improved IP Pipeline Application. * Added keepalive enhancements. * Added packet capture framework. * Added floating VEB support for i40e PF driver. * Added support for live migration of a VM with SRIOV VF. * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides/rel_notes/release_16_07.html - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst - Or the doc/guides/rel_notes/release_16_07.rst file in the released tarball.] - Removed patches that are already avilable in dpdk-16.07 [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch - 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch - 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch - 0005-d293dac-vhost-claim-support-of-guest-announce.patch - 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch - 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch - 0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch - 0009-bonding-copy-entire-config-structure-in-mode-4.patch - 0010-bonding-fix-active-slaves-with-no-primary.patch - 0011-bonding-do-not-ignore-multicast-in-mode-4.patch - 0012-bonding-do-not-activate-slave-twice.patch - 0013-bonding-fix-crash-when-no-slave-device.patch - 0014-bonding-fix-detach-of-bonded-device.patch - 0015-bonding-fix-detach-of-slave-devices.patch - 0016-eal-linux-support-built-in-kernel-modules.patch - 0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch - 0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch - 0019-i40e-base-fix-driver-load-failure.patch - 0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch - 0021-i40e-fix-inverted-check-for-no-refcount.patch - 0022-i40e-fix-overflow.patch - 0023-i40e-fix-VLAN-filtering.patch - 0024-mempool-fix-leak-when-creation-fails.patch - 0025-pcap-fix-captured-frame-length.patch - 0026-port-fix-crash-for-ethdev-writer-nodrop.patch - 0027-port-fix-crash-for-ring-writer-nodrop.patch - 0028-tools-fix-unbinding-failure-handling.patch - 0029-tools-support-Python-3-in-bind-script.patch - 0030-tools-support-binding-to-built-in-kernel-modules.patch - 0031-vhost-fix-leak-of-fds-and-mmaps.patch - 0032-virtio-fix-crash-in-statistics-functions.patch - 0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch - 0034-virtio-fix-restart.patch - 0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch - 0036-examples-fix-build-dependencies.patch - 0037-examples-ethtool-fix-build.patch - 0099-mk-fix-gcc-5-version-on-suse.patch - 0100-kni-fix-build-with-gcc-6.patch - 0101-ixgbe-fix-uninitialized-warning.patch - 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch - 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch - 0104-igb-fix-constant-sign-in-left-shift-operator.patch - 0105-e1000-fix-missing-link-interrupt-check-brackets.patch - 0106-app-test-fix-missing-brackets.patch - 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch ] - Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, dpdk-devbind) to keep compatibility. - Added a new binary dpdk-pdump dpdk-procinfo- Add _constraints file to force build dpdk with sse3 enabled x86 machine(bsc#993462). - Enable compilation for ppc64le with the help of Rüdiger(ro@suse.de). - Enable example package for aarch64 using Rüdiger(ro@suse.de) changes. - Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings). - Disable examples that need LPM which is disabled on non-x86. [+0036-examples-fix-build-dependencies.patch, +0037-examples-ethtool-fix-build.patch, +_constraints]- Added support for aarch64 compilation. [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch] - Disabled aarch64 dpdk-examples package for the time being as it contains lots of Intel specific code. - Added proper "Group" field for the subpackages .- Add upstream patches to fix building with gcc >= 6 * 0100-kni-fix-build-with-gcc-6.patch * 0101-ixgbe-fix-uninitialized-warning.patch * 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch * 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch * 0104-igb-fix-constant-sign-in-left-shift-operator.patch * 0105-e1000-fix-missing-link-interrupt-check-brackets.patch * 0106-app-test-fix-missing-brackets.patch * 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch- Removed unwanted files(bsc#984437).- Added missing GPL-2.0 and LGPL-2.1 licenses.- Update tarball URL.- Applied all the fixes recommended by upstream for v2.2 stable release(bsc#981996). [+0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch, +0009-bonding-copy-entire-config-structure-in-mode-4.patch, +0010-bonding-fix-active-slaves-with-no-primary.patch, +0011-bonding-do-not-ignore-multicast-in-mode-4.patch, +0012-bonding-do-not-activate-slave-twice.patch, +0013-bonding-fix-crash-when-no-slave-device.patch, +0014-bonding-fix-detach-of-bonded-device.patch, +0015-bonding-fix-detach-of-slave-devices.patch, +0016-eal-linux-support-built-in-kernel-modules.patch, +0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch, +0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch, +0019-i40e-base-fix-driver-load-failure.patch, +0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch, +0021-i40e-fix-inverted-check-for-no-refcount.patch, +0022-i40e-fix-overflow.patch, +0023-i40e-fix-VLAN-filtering.patch, +0024-mempool-fix-leak-when-creation-fails.patch, +0025-pcap-fix-captured-frame-length.patch, +0026-port-fix-crash-for-ethdev-writer-nodrop.patch, +0027-port-fix-crash-for-ring-writer-nodrop.patch, +0028-tools-fix-unbinding-failure-handling.patch, +0029-tools-support-Python-3-in-bind-script.patch, +0030-tools-support-binding-to-built-in-kernel-modules.patch, +0031-vhost-fix-leak-of-fds-and-mmaps.patch, +0032-virtio-fix-crash-in-statistics-functions.patch, +0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch, +0034-virtio-fix-restart.patch]- Use fdupes to manage duplicate files- Create DPDK packages for 32 bit x86(bsc#977639).- Add upstream patch for the ixgbe driver * 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch: Fix VLAN filtering logic by adding the missing brackets in the 'if' statement.- DPDK is most common vhost-user backend, Adding upstream patches to help qemu vm live migration with vhost-user (fate#320713). [+ 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch + 0005-d293dac-vhost-claim-support-of-guest-announce.patch + 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch]- Move the combined library back to the devel package (bsc#975123) Ever since we dropped the CONFIG_RTE_BUILD_COMBINE_LIBS=y option, the libdpdk.so is no longer a shared object but rather a linker script generated by the spec file. This means that it is only used during linking and the linker will add the individual DPDK libraries to the DT_NEEDED tag on the dependent binaries.- Fix shared linking against libdpdk.so (bsc#975123) * Restore the 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch patch which sets the correct dependencies for the shared libraries. * Drop CONFIG_RTE_BUILD_COMBINE_LIBS since a custom linker script is used to create and install a more lightweight version of libdpdk.so. * Include the combined libdpdk.so library to the regular package since it is also necessary during runtime.- Removed unwnated patch and reformated patch file names(bsc#974903). [- dpdk-2.2-dtneeded.patch, - dpdk-2.2-examples.patch, - enic-pun-fix.patch, - dpdk-2.2-warningflags.patch, + 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch + 0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch] - Added CONFIG_RTE_BUILD_COMBINE_LIBS flags to club all all *.so into one library- Intial version 2.2.0(fate#319169)19.11.4-150300.16.119.11.4-150300.16.119.11.4dpdk-pdumpdpdk-procinfodpdk_proc_infotestbbdevtestpmdtestsad/usr/bin/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:25950/SUSE_SLE-15-SP3_Update/06e7d1a1371fa731af18a74b9731d929-dpdk.SUSE_SLE-15-SP3_Updatedrpmxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b6a9430c2cba414af431b69d0a51efabd5d2cdd6, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4d68805dc4bc74ae1325083270d8265b635a8be4, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=16fb0fee748819a13e5cac3643c879ae92585b65, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4609d398243ad39ad635e562975a76745ba89438, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=60d5105126a51084d408a5246ec50350995bf87c, for GNU/Linux 3.2.0, stripped&;n3 RAR%RR)R,R3RR RRR2R$R(RR+R@RR RRRCRARR,R RR.RRR-RRRBR+R@RR RR)R5R,RRR R RRRRRR4R(R R+RRR RRRRR.R?RR3RR!R1R0RR R9R7R;R*R)RRRRR=R,RARRR'RRR8RR2R-RR&RRR R(R/RR+R@RRR RRRRR R#RR"RR RRutf-86dd88d359cdc7a329eefabbc408ed53c817adaffa318d5670ba240d9f1abdd8e?7zXZ !t/ඌp]"k%w w=+}NEjM@/佄#8zrQgrhfWTݐz&JJuva_mzc!qf%yisMxv5~0i#5xx[+ftyiaʊB\ r-:t3 >}h>qz} *55nh2MQH_5< {ꐣ|7/HMѢ$JBWG!∝G$,*_`%P/M,/vQf wH֝}rayu>spIUv' N[ƣ*C+7rG8r/\Y W9̬nV$$}CB+zA͗Sj o0x!S:L'' *#.wpحFԶjYg۸ϟL'l]+n1x4g`cO1Kw7ϙ36 D6yfخYgqM"`VȽI g8E#?4P,ue ".]K|ìnl[ zk{[6՗rx/p&YroO̥uq9;'[8I‚tZBkޏtݠ;:&q;a2,'qܽKρ$~HjsEKNCZG62&(OctmhjhO v{^mɵ+Ժ,M~sIŽ(k1k;.bF0 P +@yG3bO;P0x~Y v'5 |1K3#6d+S[ua-gQnW~8s->w6 z//oh"D.Z:;˽Ft0CO.μex "soŦͫ8噖Zcp͞nHPN Z3uA7嵿_ tMwv@7?X k O٦/05kǶ{%J]8A̛2˽.mR uX"c:LV^-^CwʌtҲ0nVZY0Hoq#: FjD)J#Rv=2A^hzUҍHmፊCqJ߬ YKC@t<&PvbO:+h]mԘ12Mu\"C"٤.|&1E7d^J,< 6iibw2d~b1j>է}tl^âgjD?!'|1B8 z 9PƼ¶6KjTL"{+B4Slf>0Ϙw"Hfa<$h"4\R:d[hڡo ALb34e6_3gK^Q)TTF%*@oPP=J4QlgL9 Qo*\d[WWf ܕ㣺}=TmMDWH\ztՉ9:aAW@kq<9F@.=v?MTJSm\%$0͈\9@>dv|5nt Y?R4̙ ȲfFGc.#$! R${yD+5W S-;vy_>Nm@ |om0i6'cfMP QmZaf<`? -hqbĜĶ#@KŪ@|T8g4 xV?rE ,?pۍ" X DM_I>C + @Ȭ:|\{4 }ڽ%yfWIR}X٣$>lg(ў^uFE]㬪Q;G(^33b9LĦC+&:p6KQ2Fk[# {Up@{Q&_W!oc$Sժ J>{tʦA6gT_x)b ]q uEkFƈUDӣ|Kg9,Ĥw4#_޽^%I6bҨfVp-;}7fwI:-qRSдM0pF\&[Xo$t2@EL~8L|{΁VU*iGޟ unoPUT:&qmZB~ϳ#gN(x KLtiڥR쀃 l>Kw@T j{h}nȑ9]syQ(G66q5rm!Rѐ3y6XG@+(ęձUe֥T"?,M}k)17v!Mʰ:U[J_oW8Aeۥ9d[rI@,`-, 3l_wxg=lDJ; vfKxG_HL' 9ޟS/5Zb'Su! p}= U(o hCL"6E@D-X3dJ)]jGv33 XCEH*\;N ąs᙮+ql;M: 4叵D1t@+ *DTWX05c+PpmNk6PwWv,dIM37ӪzUgɽ>hQRovi4=C= V>߇-CW$Pttr"k|GM~poH`ذ_"s Rx4OzhuK܏Q>O݂{"݃N.qX IPiMOCuƦ&|.)n D- }׹-yh. _Չ~hNtP|``dcx-Rp|Z񇼽"^YF״͌mʗV>)5&dH԰;i Ȯժ}9aK_l#Ѻ7939 N&/씶K"Wk tӺ|۽M hs%i1i L||l(lFeBt,|?8Mܨ+6ɹ#4~J)Fś+gtr@Yv- 90< 䴞%wV06J'._Pz6B2lBFkڳ*dž 7[f?(K MI, U'N߳fAЬKj׎wЀݦ#ÛVJ[¿@)ˡ4<Ve]Bqx\SIT$]PVb(zͥĶ-q)5dhLR;O~> f]4'X NϦ &Wx˼=~px?T]h;O>wQ ~-Hc*U#qAvdܑ7#e=h:Y*LJ6(_[:B&o 9gwW H4Ftq Cc VK7tLk."Bz頞+x N5#S)Uc_:)ÔO@?Ť EWN^gv }Ak/CW8GMzʚX"F{.i"<8CO7CqEGÛ)d<^g;1,$~gu"#!yW:=Ȅw@AvaM<}h yB"쌄Ju$'{S! o@جwn*HIN`p%PrL86|^`H~~쥪+ v4E[WWo ODM$`]Ha) ͢GB&aBcğҩUd;mϻ[&[9R.bZR-Td7d48;/Aoa'ISm۠9w(/,@v~]m%ʯdqOz?Թb7V'#DKb$ gsZ,P RzYP + zփ>CЀ]ShInh]RF|XE18?] DK-Dxn1Mnĭ|+f=Al[_n["ac:NGS7$6ˣ4WxҊս?y\}0*%eIsV)n!yZy]~=J(XK=+sִXFnf ZuFڔV 쥏{0u0vRmC(htwr@~ݓ>BCdJq~>v!Ma %=[ep ,_Z) k#ZѢke~YOiQ6Wc8at ,J{xw>f ԹSBEur_0hwatݑL^>{oos˩Յ`UM}WRhcK._Š;zE<+>^R=y/Y4L$Q4 f.%6X`~}aarmr-Xq\$"Slv3Onr>P]?U 1Hd>@Wuzm)>'Qf3R-$yh2d-*x$P}ƚ?&om.İJa'e=K=eG]VZlL}$u|b&KY+iƽژ~,!,$pI}g6t⣢t :1!`7߬:⿻JP|hyr[\/hv`I)%ufZi4 zO'ah=O e&\;F<14Rf#q߻AOܣ_iPZ!|'.PJ4>.oO@Uʫ[n{>Oq`umMWp~W }4c~sEQ1&bњO4pr2ftx;K$UkN=ڔp 2Q=le1t'!Ϩ6'譪8RFR$C~r=e&zjJE+-^VkRK~& v6Z8#]8`}zzx[P73B;ؙ⃅*2P+*Psێ"gl{=ƒ,6_I2%\= vM60HaE"),28F򔭺&FN# jjvcᎸc -oR;FC(VuYC|gx!$R8C%"VIwȚE^^ ]"aL.s+6& yő>F|0c[Xeu2rM/I>;>tń Pb[}g Lb#Wf&LUKoCe{Rj؛.52)Ekj'(#p!tB^ծrs mvYDz_a_FG/Hf|$K_sw_Ę9z\ aw,dp?"6G=}h#R4\^cX VP"8!H[#N',G,oy5ݰlW6[JsP5s9K NJĈͺ-OPt;(5'9Szq4/x]5V FM i\oo0M1wׂН#5lWk7٫8Si} MoC6m<\ \@:#L}1?H1A$8ɠTtN't|T|":4TrGLq v\_%S8޳/$AE= XmXϑfkWD٥K{哶 lAAP.\l43b)pH~aErgA,OJ?5rDl|\Q{oLك݂z1Gl5e^0U0_TMi|4bKlvR|`'M?ʏJKLry ەX];eo-C0pAnkgg9L=\+GyZhg3VzgӑAfyk{[P6|^JfKr%4aDZ-Pun'N16|m-RCͷž.#kgqU^1R6!v4?Tz 4ڜ^+LӖm$uQr A%AN lʙb5>/7;ճ lc4~.| zƨḳf\'k-7縷@Y/}2MOj;]P9`YpD^Q?ª7ٝ3eaiq^-nA Mz:oU8sJZ:L-%FVt' vxrtwl8Aq"5K W] N軘NL3#`fg7ό0 1R8 n&(^#[1KાDxb%1 `sLcBbvXƢB=G2..#tމ@w%|b_YiH'rGVTwyR& EnL>(eG5~oV )NΓ)Eۋ2Ņa6srI\] ziڥ<3%Q&T,G-t]];-CoH[SvB\: &RCJĢVhMD?d(aVv9i쥱nJ\,3(:q"fM@oJ&5Z31{C hq@VMjGHA6Gxw"<~xsFzjsrjEXt0!`qVI)B+~c70c=Ϙ]C)Z1 ˷4@ b{=%\c'ߊ|] Í r}]lZyo Pa]\؇!ILIݬQS+S;щ^0lgr8]15U.K_͹ tfk*1i"BYP,ƒz̺aҰNї_t3oϩr3u~?ސ6q\Nnˠ<:Ќ?MESa.aL*rlXSgZȺ #׽'>p 3=r{= \|PDfvW=9x,Ml]aj{Pco3KG[*2ȴG4؎FO{#ePB7'K bPCv=`2@%siD]^<)*t[DL -P:J\bq.ꓞ9oa:L2PQMH@epX\C`I?~xjT䠨N9-2%lM֤Npf>oNME|s \d+,"ow-^a! i ;]YH`rD w?u׵34jv XE]kxf}1nRz< INwylW/ \)YlWr*׭SF b쮇v| XF~1a5{7yE T 2s)bV;Ґ Фf.P1 oF3{>'u.i-EBT  (Ppv0-kn^Ȗ̥8yɬ1͟4?cbEy<!^NZG67IsJh5XP/`F#)v@^&s/DFk4nYe/R+E^YǸ/ ) rOVWw\~?VvN&քhU5cC Mq0%DAv$Jo'cCN@^dP{-JW Nc/F74o8b% ?iv~S!#i4 ghZTȂ*RhC( F Z.=?XTsFQC4}*-XvZ.:͓<o(!CBĐ;Wd<O] hgWq`PAHkybеveD-)0'rT.m|/a(Y^/gAW!YDl^sgad9wѴgU9Eq*O"Jȹa.;ߑ{/O~ .RHkxi\jaPZpYw5\RC͘ fvKy0CBA^7XkeYaj|PfmR@E0Gȵv-ry%w\7:%:8CXF(&{{tO*]sd$,<*9QI~Hy˲M%y;ulCrʟ3U_t -}S-sk07xC}2NԢ:#Hd}`b9ʿ_| w&b/zG6#ufgɛbk\B`12hFz  ř_Li]h9tRJ/>d r%6j\ڮ0Fzj$uʠ[Wpa 0Ȭdjc#UHuvnup\@1<OQȾfѸ )s ,|kX^@p~9@E~g{jk ipd5aiuS%짜^ok>.4 ӜϜ&`W~ SGAW{,ɕDj*gNkj5As5SV:!,}GqqnÄ"1Q'ޟsC.j`[N%B:nyt@U !P }PxS3Ak-9ݻ\k'v jwl-֣ nN 8:<:xih*J[ N {~*EZEw l ~e#l5w:+^2B\XEfDy8u<'?Tm+ӄ˘*dž|ک_x[WpS~+("G7,O w&؋?ѹQMŁk3[f}%NrLڇN,3;vy5w:l}`F)G r%G3qj%@'IJ~)k쬔Kcݥrk85J-=Q~lC nq2 I)O%UF$%B؃n0qbğBtXft;F(Ӵ$acS풼By8N9L·O}f R A`ij_i@tLZ) w3uf+Al0)R}:+ RwnAyIXg|d#ИNWކEh3l!3QxiH$ƒqߐ8h'"ʶ6B`?z>NIAmxX  ;i:,d7S cvn>Q J0N{-DŠ=~*eUI Z#c?hLt0Ig|` f>}BSZ#8OMF'Z@t8I)uֹ>(@?`U~^p %'ì /, S:'ׁKkX~,QH\-J=ʠWda?%/iL:؅ϏGtT*>a ;?TSyPwiB2U:3*P(B—/lK)'v(d n7'"8[L.(%f2tP/ b@L9:;"GiE_eo u?+DYDtk-tvǾP/4o_@N&O:C_gl#horɧj//rj8Rng8h.;`A$L=Z%Qъ xȇPqKi<ljb7ǐ×- ~J _lQ I4Yp20m1X>yAu!!rUua\p5^=EeFR doȨӟ?L5ýe'#\T0Ć߳r&1&v;c `MB @x C/K$8t+n1t_ݦ<QHQSOFR!x)r{&p%HTl~'7^E'!7C1kLzQ:UqSjִ"\[б8WR3AKWMBSX\;M|ÄThΫ\b̗!AM^Q;_ cX—ob8y+&/<!_ p#V_@0%~\FZX~( &H$ޠM*oqX!8r0ʅD.GSw]gȖ|D:ۏǞjE螰3" }1)̑tsWnL~ڼu#';S)bn?Gnڢ+$ i d4ٵz#^M^IscF;BUu$Ydv-! | fR9\L, eraP:.HSA"{&:ʄ ;^Qn8컕U o(>3'/aȇ}V-"]KXhjnc;G \ጲb|]tt*56Xu J!&$V"Fr D3k1t+~EG`멱94b8cNW(mj?^ 1,?5Sݰ< r,"%wR.rпQٸqBL]4gFҹ6wvA.\7>ǶĶ O{_h3/xs0BJ:d.p2h#HQjRHDt"v 0G%nJ[( ^N}҆Un>yc[I?.Ҿ<ޓ9fWwWh6o񧛍sEK|ON`+1QANBW:.t&8U}u"I: =pkƜ6٭azpp\5О/dnU,:Ys,]o(B,f> %b6gDJV9XL^ާ'aQIh|.'p̌7d!\o>J]wR,q4@xkP& 9 2-?7Rk"fJe6g]H72 q}P՜v$TT-诬2,[$֓^TNbЏsbEv6ŷ(6g(6j&qlv"t侥S`IOD2]LiwFw}]%p=eJ6ho`'xv>z@=apܸx_sapV@^#|s$C<1d=hYX -A\P^1m1je؍l9&+~h s|MZ6ە#sXlC#=QJџcDbUsF)wCvJ|<0{p̍vKٝCU'ކ Ƭ']u>̤q +^.aRw\_e8D}nh5"K#1K\9AuQU2ߙivycV*šsnu*^y1?b22mDH w9C@i{)yeM N'b/M|Eu~t>cb5@|Z"\> p]bWH"6cȁ )³"Q,1|"pexy̮L" { أ,ҔzطÕ~i”;MR F yھemDwK-Nj*{ v/4` 2|i|Ēp'W.I» TfNL-2kCa2Gʓ`y?irا(+* 0jrqx2Ҏ* wſ/M9o$)=0>};qZ0@d?JtjI*{{@O:m*RjjliPfG+סc+ ot#Hp2^@|[$-3涿djpopaNB  /t -e3Fvos>8eGӕho^jSd5cZ6M: > *k9&$.R?ݸǧuBw(QU9B[-Q&cI fX%L X%9]jfg2+ҶƳ b^;l(O_o;Ű{J<I}ihSh3# b0^}v5= џ%%"x?~[Rw0zVt+:RQյU3kDPUiuZSzQ.qTC/F{+A2fPmQ@Fx䱅>$ġ0 ZoXXÔ u݉W}5TWPWt'oIk:%ضE01ٙwS56t҆AL (}`! eAw:ML bTPl 541/A }0H ASk1p>5 pI$34ڬ#}f<I-S+Q7%~v!oA5çj(dKm`'k2+v j̻F9n#LpYY,HJ zcgٝDL𭧆`FXs{p)@a[VW*<td D_5%۷:`a;;j`;(ٚuP;jh:"g ҧ,'V<5qtf8%\o/^hnFJ}?<8dJUi34jKwɸWDr,i#E WL< G5go{F1T9"FG?숾czV̻9Wֹ#˛ =rHXHs!7vc]ҰDIM)odyXf慼p] T4ߒF> l߮R.)}/c>A({a|R%R5>ɨnwIoޝ$ܰfoxJ_%7y>i5D!d nWCb rR;!Ag7 /@t  @#X=dJPQ@d"1E{6(<| {Bj7lLM@k_!'8J@r,igKIVFԇFqSvt~{2JqE֡^" o2~UFAe=hR%Nl =)ũ 6 j#f''h@¼b3)`ep޾:v䡕qי46#5׺Rsdr?AS :Rc P3~t0n+IJ5ӣ C7%+15XPJUD~go+"خ9 ! S$ +Dg֬O$#8v'a R~ǐU. eQg-\ mv@uޣ~"\_\(CșВʘ1ybØIيlwꘐDZ6Č=&4H7Yw?<+~hM*pEl.(]3*/<lh+83=Ӵ4ø.at\//lb@WƟ'E__jsL3ҙY*OtnZ5o?&I `P;c5|PȐmTg"O‰MX!Cj>EKNc?;qB%?ê`!]:Smu躢;?+b}$\z-XiQ֟L{~7V}=z|nAqe2m yxIǦsC5B5I1hEf=H.oCBF6)Ty( I|u3>GH仐˺[`E"Bz ;`2k\@K|?߬ _{ c$:bC5:>6ic#B"Cohg J{z _;$WL V^B;uɖ`YzbV-[" mc).<,BL~IxEN Kj:N=aG!1^u»*Ygɮwk2ojV\Ŭ`i:FJ@nO⻟fMYzYxFI&a[) ƒt\khfd>/8A&c-Ɩ(O Fr sCzS]uS\]Np r#_u}.0wǵ Q=n{< KlB@X(ڳU;mqX{G{Cz Ђ'.tnPg"BK2[jS-=P%.hF߷uohsûNkpEBrk^8`?(Euw n d48?V7Χv1Ŝo,稁jWWjBuafsP6YG5+;߽d6QXaoRcw)*A Mb؍ƀ!4!;pxg9"Z =e>fgVqO.`lr fur!F)IVm 2g$wZ'c6_Q)>N`ݠ5H=!9gc!( iX&}1'ptNXSŲSx&sMEBAk"gK"*Nj rZ<OG|$I]+4K=KZy xktqϯvŕIQ[268P _cIٍwfyW`b^N+ ɉ+Ы bɚ?G k4VIa5a~R^뙣L/)W@%a32Mri~ qW:e`Mdw&>/"\KӡV]"_2iqGkNzV{Rm!6XDs! * ƼP{A8"Zu=gI .FJ*A]aNL`Zi2l>w)?[r3UE9ۤ;G,xO?gn7sprn=ja Dr۶0h=eGw\@!XVH^7^?sK?*"paX^$EO4hjcuU(trqcwL[zq/D*Kq7[pճ^=*evrKCylx# EsF+q {4p_HLd{,߿=ƒ'Q/E$cnh"[Y1М/MwN]4$o%Z  (!+qh*#ʂT?m%W̱5a|}17݅Bэ%~ =Hy+x¨?dNU+qFϿa'8[9haEK+ޮMC4̘bqgy-sO,ۦlCxs}~M&k88K[@ٗ$X.:R?a1OGPca}PG?ny͸W8:֛=|sUphX>czQl}*<JZY-K*/WDqG1)1xahp}77m";Y= ճ:4cXesgVIsJ<7f^-C~U@^~&!9n%F&/b0鹴Sz2I5 AY ?ϣ6;-_)czŢX65p9WJnx.b 3%(Ƨߩʉ׋lrDI hD#`IϫV˩Vѥ\4 WZ"}ϯtb"۽9.ssYw#U.n|>,{7RfP{A/k]gLSq dxy甘"mV LSyfyz3pda ƨd_>12 _ %XRίLZЎ9h9S! fX,\~`Wyg64=1DM?M'vTMNτEO!:/ɗ#d."EEZ5VM$@ <_uI6ɍloͥOsCecE2O WYp49:*g/[~Pu+/ZHF U'(El*ᵹh `3(J7"}`BtKk`~d@F_v<ܐRZ{pӓxǡxr6џuV0͆K#0Kf w3tH k?#7b~j}1q!b? >ʭ=ϗ&k.ڷTjYZ71mGg$s^koFx廠Oy؂U곇LЄLl^.瞠rD 9 EDȷ)9F!_a4/HiMUf@˙udx]NUvx5Y˜?"ސ}]cFVi9Dٵ~NE).:eL5*d:NpB'1Ӳw"uIfl(׌짯̘O9e_&!KQSOǐfy[ zD_?#o랉J=pi5!`l_hNɇdoTƲ5Zhkg*@e8MM&Kf>eSѯ`JE; 1J%Fp_n-e!Au8rԴUVh|^(bC9vTy1/9RLa!N3CKugNД-3H!loz\*bA֍K>rw3ft.DHSMW+ sQ*ibs syr×a?jM߼;mߣ|0id)+K=Ǫ0}# Ț$gnV-'r3"wP8&] |MbwIIW<:ߺ+َ hgijH%#@2'atxJ~eSE笾- np{Fo ߸2 &b=s0gS"d++锋nE=JPq}Ao9K{mHwN,LѬV uHUSL)$Q`Ar-rp1Frp@ui/yeiڭP$W 5~JsI(dD@b {cJk%֥\D-qllMeڸsI$%[o"4(X%˓/Y8I ǘ09J{:g1羈5NΥ*̉JxδJ݁Z*b7kk[2xTY jjK#үr}Epe{A?:Nh1ڸf&}D3ׯ9?r;'ɤ>ާz&5q2h$+kF8qysȭ=OC {-=15(s¹;a`^[}JXě~ȱz=>p^t~2@%+&wq|Ypm5BlI'/, n"kA'FG{nrӊ!@ &+Pz'( #: e>PX'R1VNMP] x|hwղ襲Ƣs.PlϘh__KT97wϖK(-&(c忟Շu:ORN_7PE [! /g'>u_L <O)Ll(;Q~eɺ۱Ez{'Čdm 8YAS)V\zz)4-d`}uoOJFTN/#];^a(ӻ?z;t5CsYJp `c0PX WKֽ''HZ+}94@ ӥ3SiF$ q!id+ K7)bC pҩk4(+FE*#vFBRԊr#.`ߎ25/0F 鄧  -iJƲ5'aƥnb #H{ `!-/)czA@{Rao/*kt -ݪ]CT =a -dF:nSb2DcivWSY60jm%85Ռx Gs:炡/;ŀ]e1]TnŧY:39iöt g,Cu9ltX NN X%DX%>˶*?.DF|@cq)܍UF]4_۰Ƈֻcoʕܪ>3y4Xǿ9YĚ@%|w@Oe-p-Bplg4F8}=[gAP3feꩌ%*(e7Ǩh暒,Mdنz$ӹ__ %ps%7[tk4ƟZ`0Sgj 5Xhw/=+VB4HohD!*npg>]cDbmVb?$z2F zDj7WSh,P G"2To  W#G#cP #pkY`*m𖐇}Ͼ~ DtiGXao[_fNSSa 쾈@|S{:f1tuOQxѫӾN{k:b/u3##{)!7wM`j}epi)eq}O(Nj{ʊH@7%Hx/~k?EJw?%WuC>!/]'o; D-тˣ9'(>O&QN CFUU=[cAB.6vtU"/Fs#NX?JȾR0P.R6:@fvխ/=_e?0)0D6G҂ԍa8iw6;NwVw<5Z0BZ2U>TuKꑐ+^o|˧;6CH /{ ?Be}NQwr5 , 0a-w.؊PQ$B+AZn a* {1Dd7# ϔ%vOV8aYӢ u[u a3Ġۆ\Kst\סKxsF3~ٯk؏AH$e S8`fћ.=tInUTu4 V^5JΑf+slwGu&B!g0WWIaCC-=%192]O[DpH.QDvAɤ :V+MKnd&ZB g^uicj'-1'r<SBW~)K:of#tVXՙ n%Do{5$%zk [֗$D+}IW(ufZ(\Z01o70vu鎿$ qJ7^9Y&!ƩD;g!|h<)LIswi4)9<7ur@])F3ot\?z6?7J~RPuvqiԧeØ:\>`dcD*$1XSuyd&)<07^mCu&jr.6ӋO>1?X_砞U0#C MI_QG!^tNl˿m=["oa_Z]뫸:`#/!_Z9X֔Þ F-RՎu@O2 {Y}4JcPlE+k"|&M$X &j:a>~'BHw;M Y#kGiɗw04xF Zg_xmȚ9~%cBU}Dn溡*J{ݭ`8jD<%2x"Buk{+)*udGyu3Yqv;X  6byAddV? , ly,/pg:`Z%ζs5GoEb^P0Ɛ`)RY\eߊ1=tAS>|lt Qx&R ,A/RKc~t=]9jHX.q@ɑ4Lr]1{>q:^k6|ii2=s;-Vըix&z2#=N5G):ϙrT |]I""_eGYt'fP+5WpiSqdE M,R!~(d>H2-Dc[m,SxNw%f[m#q3{if34!N27-#C E^=]?@wT9T.f/o,ؑz6ī2U q-C?2-ETY>9sC6,L.ݨ=ӂt^;E>!!b- h`1r>n=0,^Q"⟇`yxkByo$xyP z4'8,#/7BTq C) Xm\p }DhCT5d=+ίU 0m;2 }gkT@$,!X^-zK7HnM7mg7R8Ido.Ɲl~EL=-LzD9 6@X @.X҅_Z2u!&= ^!7A?LMτdeJjHWI-?z'޹`F/t̳[|!A jH@e`i.I@w~tL39ZnNi2ۧVQڢ>ݶ2a^y"Cs=iAWb_w3YHM #U%k^,PM rS @漲RJn|H"_ g%'=Kc)W,iQu֜a idn%:,yS'X`V&G5 To[u4O42+U]36 Uk9Q@5ܻj c H7(gkq2sx(t-kWr"ԅ>rFþaLY–qƦZWGK>TQL<"aG9a !}3JL`tC!x;Sc/{PgRWa(a֐iLò.sl}3SrGxWc'tX+6%#ײOR w_6WFZXGثJ>NKTfKX %;~s C^xa7>{LhT A(j*z3ʺqwMĶPAz-pL{1WXS뉙9/c5|4Bk'T !p$vhWwJ?.X BjVv_wvdAqu%J =&`DA\F%g'c9Z(\eD|oxm"l)OV]yEyuu>nszܚ{H~hƕ"kLWDjGJ-czm,6Ys9SqTB6G"3?nǼ t:]:;Zv0M|']3|R4"M|ʓ&h9r7z-rZSx3:ŏBL+`VgG~W5_{[HQK48.Yihj㞙G غb\'Q5VC\s~n+"%zrEl֦E2G0Q[։:~1&lVh@ÓWGPG\:#vw[|dcVw\|~eHt/1{1)(c#EY~~oj9-})'T~sL S9|R%>Dڛg1"&?ОcRf YyXPϒ3;I=+vn]-BKYxHn;boy[WEy=~;X"ݾ}@m; ·dO k+4◡m@7v;4ǽg+g&"C!ϧEChH#]Nm%4*]}drΕ [BB738Ɍ=<:Zhf%F䲕?)TXcHկڈАP);<"[0"EfǵVI,57!?B|h I ΕCRmbGט@RoRM .>Z!Rt@ϻ&$ MzW"R3}}yROĀg㈫8FW4rndwE v~cֲ2հVW zHsu0[enC%DFggYq\ݦ6 dٴ,۝ leO]oͮr`%0tM^,lw9j 5ͬ`($ pGh YFF #z8YSb>6D~1<#+Ƙ3D߈JuyZ:JݜHp^`lw}p5CXi׋TE[)`M[b%hoWD.-ᰴV[3|FdQ 򹐷}:mP;H Hȼ\hCfp PrjaQ J9I<196'􀡐aմ:h÷uI&D\ Z );Ɏ'tTP_/#.f6%Lln*Y= nÉjd@Ly%|$wrV*g n,M?sنTCP6[([ֆ@m=O\:rH+[ɴsGQECSt ?%A~KR"v.b 9 xd*bG6bLD{Fn YjwF\ư>ͪR%B턣3yzO'F+VbL%ŕĂmk ͮv.IZŲtv@yuL & Ky9xpsI XW +eݰ c,UXkY|xQS\=IOG ;]cߊa Yž W쎀5:~a@0o~-A$-t7.|3{oP>B3^8--/!+o'=pFQt4A_Qt*xtO(![ig'0PM@;f>vkȉPykllH q<ތKj/>۲M̽<ǑF hojq4˫n;i]CZ"*vMMmLxҧsG9S+BF#qL~;ZO"gm֨?p{pHܛG+b P 61 L&)8"ksdjOױv l[߱GeVxjpW0Pcq JtqfiOC˞a7(Wm0BN"Dj?Z[Az.C?#l}&SZą_m l,Sd.h\Z"v'ޯ %Ӻ+͙fj\f3 xYC?E3'o9UzeĴg*!Cݰ4of|N! NenܜR]˶ [/m#lܳtB8 'yܞ> jxtGØp`#0RjՒDPYh Kب@ xϡћ ֔M:74bk'χ; ({;V%PcٙZJNs;)\r7̉}eE#1J< Dol7OQpB[VYL6٨ IZ`QDÜ*>ra DQChDZD^0T!0u[!٪>P w_´WNָcȱeQ:߅2btJ7`"nB o p㐏5>Yz)(θԐM1 EG $  bhćž]l6ɉi\L5h1֯ (<;kk:Ffy( ]4=йOUi0/cSuȼl6Cwèa,a3o6Uխ<)6A> ATbRVi="Bpg L04&tr