dpdk-kmp-preempt-19.11.4_k5.3.18_57-1.105 >  A `p9|PYX (X1^nϲ PA$tVDFه'9/cE1bYQ:~OAN!k[?5J(@8by8#݅-Y( ?}GݛNI"Lf;91<vmHiK iY )^1L1k~LHMF@2fyzH5e742be982cb79d3ae02e6df7311d6c6bb4b26105d2cde921f466216536dae81ea151bea32fe448c8312b23afd1a00d5f86085584Et`p9|[:T@PY }' 6 TA}Ws[<{$ۜx<{зט݊=sxjݘr*^h{k-k1emDOf>][2@ӨLI ? CelQn[h[sx&d:|{\D/)I]+02SuA{b|,Ǖ˧Vl_s>ج7^#[ZlI8#GaQbA!-{Ô6)MV^\>pM?d& , C. DUekr'0 : D X  *H\}}}(8C9C:XC>?@G H4IHXPYp\]^ bc3defluvwxy{px|Cdpdk-kmp-preempt19.11.4_k5.3.18_571.105DPDK KNI kernel moduleThe Data Plane Development Kit is a set of libraries and drivers for fast packet processing in the user space.`Qsheep25ZSUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/System/Librarieshttp://dpdk.orglinuxx86_64nvr=dpdk-kmp-preempt-19.11.4_k5.3.18_57-1.105 wm2=/usr/lib/module-init-tools/weak-modules2 if [ -x $wm2 ]; then INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} $wm2 --add-kmp $nvr finvr=dpdk-kmp-preempt-19.11.4_k5.3.18_57-1.105 rpm -ql $nvr | sed -n '/\.ko\(\.xz\)\?$/p' > /var/run/rpm-$nvr-modulesnvr=dpdk-kmp-preempt-19.11.4_k5.3.18_57-1.105 modules=( $(cat /var/run/rpm-$nvr-modules) ) rm -f /var/run/rpm-$nvr-modules if [ ${#modules[*]} = 0 ]; then echo "WARNING: $nvr does not contain any kernel modules" >&2 exit 0 fi wm2=/usr/lib/module-init-tools/weak-modules2 if [ -x $wm2 ]; then printf '%s\n' "${modules[@]}" | /bin/bash -${-/e/} $wm2 --remove-kmp $nvr fi` AAA큤`a`a`d`@`@b6c3da1a76e47edb7a207e16c875067e57b4c33a14a2f66acebafcf11dbe1702d11cd37be8e97ca2c1b081a58ef511202b6b5b295f845682eeb56374851f7971rootrootrootrootrootrootrootrootrootrootdpdk-19.11.4-1.105.src.rpmdpdk-kmpdpdk-kmpdpdk-kmp-preemptdpdk-kmp-preempt(x86-64)dpdk-kmp-preempt-k5.3.18_57kmod(igb_uio.ko)kmod(rte_kni.ko)multiversion(kernel)  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/shcoreutilsgrepkernel-preemptksym(preempt:__cpu_online_mask)ksym(preempt:__dynamic_dev_dbg)ksym(preempt:__dynamic_pr_debug)ksym(preempt:__fentry__)ksym(preempt:__init_rwsem)ksym(preempt:__init_waitqueue_head)ksym(preempt:__mutex_init)ksym(preempt:__netdev_alloc_skb)ksym(preempt:__pci_register_driver)ksym(preempt:__put_devmap_managed_page)ksym(preempt:__put_net)ksym(preempt:__put_page)ksym(preempt:__rcu_read_lock)ksym(preempt:__rcu_read_unlock)ksym(preempt:__stack_chk_fail)ksym(preempt:__uio_register_device)ksym(preempt:__wake_up)ksym(preempt:__x86_indirect_thunk_rax)ksym(preempt:_copy_from_user)ksym(preempt:_dev_err)ksym(preempt:_dev_info)ksym(preempt:_dev_notice)ksym(preempt:_dev_warn)ksym(preempt:alloc_netdev_mqs)ksym(preempt:consume_skb)ksym(preempt:current_task)ksym(preempt:dev_trans_start)ksym(preempt:devmap_managed_key)ksym(preempt:dma_alloc_attrs)ksym(preempt:dma_free_attrs)ksym(preempt:dma_set_coherent_mask)ksym(preempt:dma_set_mask)ksym(preempt:down_read)ksym(preempt:down_write)ksym(preempt:eth_header_parse)ksym(preempt:eth_type_trans)ksym(preempt:ether_setup)ksym(preempt:ethtool_op_get_link)ksym(preempt:finish_wait)ksym(preempt:fortify_panic)ksym(preempt:free_irq)ksym(preempt:free_netdev)ksym(preempt:get_random_bytes)ksym(preempt:get_user_pages_remote)ksym(preempt:init_wait_entry)ksym(preempt:ioremap_nocache)ksym(preempt:iounmap)ksym(preempt:irq_get_irq_data)ksym(preempt:jiffies)ksym(preempt:jiffies_to_usecs)ksym(preempt:kfree)ksym(preempt:kmalloc_caches)ksym(preempt:kmem_cache_alloc_trace)ksym(preempt:kstrtoull)ksym(preempt:kthread_bind)ksym(preempt:kthread_create_on_node)ksym(preempt:kthread_should_stop)ksym(preempt:kthread_stop)ksym(preempt:memcpy)ksym(preempt:memset)ksym(preempt:misc_deregister)ksym(preempt:misc_register)ksym(preempt:module_layout)ksym(preempt:mutex_lock)ksym(preempt:mutex_unlock)ksym(preempt:netif_carrier_off)ksym(preempt:netif_carrier_on)ksym(preempt:netif_rx_ni)ksym(preempt:netif_tx_wake_queue)ksym(preempt:page_offset_base)ksym(preempt:param_ops_charp)ksym(preempt:param_ops_int)ksym(preempt:pci_alloc_irq_vectors_affinity)ksym(preempt:pci_cfg_access_lock)ksym(preempt:pci_cfg_access_unlock)ksym(preempt:pci_check_and_mask_intx)ksym(preempt:pci_clear_master)ksym(preempt:pci_disable_device)ksym(preempt:pci_disable_sriov)ksym(preempt:pci_enable_device)ksym(preempt:pci_enable_sriov)ksym(preempt:pci_free_irq_vectors)ksym(preempt:pci_intx)ksym(preempt:pci_irq_vector)ksym(preempt:pci_msi_mask_irq)ksym(preempt:pci_msi_unmask_irq)ksym(preempt:pci_num_vf)ksym(preempt:pci_set_master)ksym(preempt:pci_unregister_driver)ksym(preempt:prepare_to_wait_event)ksym(preempt:printk)ksym(preempt:refcount_warn_saturate)ksym(preempt:register_netdev)ksym(preempt:register_pernet_subsys)ksym(preempt:request_threaded_irq)ksym(preempt:schedule_timeout)ksym(preempt:schedule_timeout_interruptible)ksym(preempt:skb_push)ksym(preempt:skb_put)ksym(preempt:snprintf)ksym(preempt:strcmp)ksym(preempt:strncmp)ksym(preempt:strncpy)ksym(preempt:strnlen)ksym(preempt:sysfs_create_group)ksym(preempt:sysfs_remove_group)ksym(preempt:uio_event_notify)ksym(preempt:uio_unregister_device)ksym(preempt:unregister_netdev)ksym(preempt:unregister_pernet_subsys)ksym(preempt:up_read)ksym(preempt:up_write)ksym(preempt:vmemmap_base)ksym(preempt:wake_up_process)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)5a5a2271a5250af5837b7b09bdfb6dbb7b4da6ffd9a5ea54977f511bf512045dc682c1fa562ba76e266600503684a85f8d5227142469810fdecd0b29100401073eeb23222ea2c95c362ef408c7f9873ceec7e5ef20ff83c125e66b865ef24c68a1a6bcac6f1fe934c66ab737587f22d72e5739f2c633595570089ae5dac8c4fa668b19a157bc19d23a3388a56eff9ac65eeb5f01533ee9fa92540fbfcbd4898cc1514a3bc3d70a779aa04a22fcec39efe48797593a219cedc03953223204f815ba50a67f24de7337a0cba96a6bb354fc1251f5c3c73873958719b7a72fffb3f7646e708a815569acdf38fb578fc54723e04194fe3b4c52f00752ab7989d409bcb62fed9a7522c0e4773424bca135210caf7cd8d75ed2be5d1129500fdb4ea8c6624563896dca60fa4fc238b41a77ae21a9cb13e31db439c7a7d85169a69f4df6f4ec18b6a97daf12b4c06766b107f99ba4f7a5d5a956d954f9e78396684328188c26d495c5850110296695f4dc0c95b20c10a1892d5838e8ddd8aad54496b4f16395e6fd7c6e04656e4a6ee2d5255a5a9213119166fadaa916b6946fdab121ea9c44c12af855fa80bcafe2f502ff279636d6253b954a2ce807a2597651e6c9e653cae3.0.4-14.6.0-14.0-15.2-1dpdk-kmp-preempt-k5.3.18_574.14.1_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)/bin/sh/bin/sh/bin/sh19.11.419.11.4_k5.3.18_5719.11.4_k5.3.18_57-1.10519.11.4_k5.3.18_57-1.1055.3.18-57-preemptextradpdkigb_uio.korte_kni.ko/lib/modules//lib/modules/5.3.18-57-preempt//lib/modules/5.3.18-57-preempt/extra//lib/modules/5.3.18-57-preempt/extra/dpdk/-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:SLE-15-SP3:GA/standard/ec7f645f5dcbf07b3169ffdc807907dd-dpdkcpioxz5x86_64-suse-linuxdirectoryELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=14218ca4cf6e4fdfe8e589197d686cbfa823ff21, not strippedELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=2e864eda42be820076564de779c2013d58a236bf, not stripped33HRRR6RPRRNRqR#RR9RZRXR;RERR RLR8R R`RRfRmR-RDRtRwR RxRRnR?R R0RaR!R.RvRMR RRkRhRsRRBRiR3RHP if test -x /usr/lib/module-init-tools/regenerate-initrd-posttrans; then /bin/bash -c 'set +e; /usr/lib/module-init-tools/regenerate-initrd-posttrans' fi/bin/shpackageand(kernel-preempt:dpdk)kernel-preemptutf-81b66feb71245049ab40aca9b6e0f32db864de8f4a5358b2054dc0d58c75572cf?07zXZ !t/^[H&] crt:bLL v,|KךQޤhѬ &bHvCٙC&*Nq37]{ui59 PO_.S:<억^quvb-{uZ7(g\=\G:I.@dI[ P޻5 `g:?E-;k^c"途net];C܆ٕ:&6DT.{r 4;a{^>nTTg?>;g[-!"Fx6 {n2ה$%#>(MhQ%=ދSBt6.i}>?FO3d^ 0{+ȭ(Fqհiԏb{avsěJ+r{1YRX68~YVFӱ m_Kpwdxay{lNC mR8 ,̚ <;]o/^s@w SbG4H,: VE64`TO.;uHF%'xS:Nnl5=F86[ȿ[_:ZbM>'5{kqؿao ū]ݍqtIRZ=Í&c`Nv_PCS Vizc6ĕ©hY4#ȳ(Y@0BVm-|Bw2y} =-qa JX S`(VsN DJBYcw(!M:<~"EӘ0> ԟu%_稼=LSFL9kzLbe:;]+̙ m  6.߷{K|7);{'.;;kH";&67|1@N j|b h(&˅EX)(\+)њƩ3)Y}uZ0o_{|@՗֑i#y8VP9"㡉)$5d![7[5 mA4a~=9J* y+f_2WE8T %‘S{cGc_S)mXѧT- x c+D)Vɥ"s<0V|ݯAprbsz p%?^xMa &vnJa,qPp݉rCЪG2u:'N H]PGy*>9#CPo_f݆vEa2lLdHPAjj>je .N S'8ϛKV%,7*<,Ƃ y=?1XZV" R:H{˕!h/сdLSGx`.υE>^l#~TG‘1sWȉuڭ_%MW5B(`Ɔrgn?ʀį0.y.O yPbJx(#C;g7[r]y9>,%?64g7Af ۆ;*<|O8bT 23jj0} wN kƴA_BJ ʠvI‚ TY[풊2-^P̥;Y2\$D4-%N%(#N}[M@>%cqe+pّMFaшOiP/GY1fV3$S0">$^moFߋbUmxAq0[WWR,bb?"F|SɸLbD™HlD_hè<2¸(8^©[]pez ` ÏVTfٙS( ކ!ՊzhpFYH!E0h~oԍ݋h8'Wf+G_c`k;[ƷVu$6K2yp{5x.&Thg:6=`}I.2fZGE0sG]Oj_ێi3KfɆNC{L Fw32fs3&^hgǑ\# Ϧ9_,->ow&N<A\mVOe*u^!:W%t) E1ҏIDzll.rP~Z *A ྞtHlPw]v\3ElF0z ̧pݘ.q3 @N~"7DαW!quSu+hGΊ1G͏7ᛱUv=E*Ao8n;dc0( x7hTˆG.jD)'=8gWy.&;1_r7?I%d@xOTyt;pgSa ފuGD&30u[C쳣d?ZrN^'u+ۢ_^͡3Yv4udjo NO@6r{JJyUNu?ќ_ּ(MY\r3nYzü x ๚Qo&Qd^7\-d3.jAorqS6p ']ũ'U&T }MS_ T9A=j o{wUՃ~d>SU~e|C$H|xR(><]8Sd ˛ɰ-Hs Hh2IR6SN 5A͇Ϟ ?8^[Jja|LxϨW!jk^J C[`S:&pV]P!t́7f5<Ȁ觢٥& S_4wZg)ܷ-t)L,ZկXV}ɓ46%SAQPMO 78ֱ;,wqc"ԭH@Z_^)$Zmv.s{T ʈ-ۈ9<)ԓi8+GW%[ͪ1 ӪjŒ,ɐG;f\i:9lL/Cq&v> t1]JzS{"nQ'"^~Fw5&`+0 :_1f i=UOE#sid_B*5Ur$zѓ,Zf5 ȑ/!WwݿSିg  $ϕLU(\9fj;9,5ߤ`hy&EԖĿ3ޗ,aXx/UV^`U#0Hs/Q4](rS:LQ* +좼b=fmJn4^0@E ,cճW'KWҽ0nA+V@:D%hL|&Q^u>Ru|5B30H>-v(~]m`"jt x='H< bDAYoX_σ=0$*JV~N/qH%uHqAbʀfe#*tPIa)Q@CD,=oNژ0\t̬+ tA 98 &huϳ誫PA[nԏUWjδj,XCGt<w,,V6Nj931("LgPtd KK_ bxYR߫?VSe(+}l6`XftP;h,>#4f| l86f>, VQkaKhct; e5(6YӫVAXG+18&!UV R-0,{qxc H#K I\#GqNWlղ7պQBv<ԡhD8~ʑF!dJ+%^{{K<KVbD JuP!Xdc0,EfumE.-o ჵű ѷL@p:èQ8%!s!x|e*mmQQhjji0Q;$Ȳ6"KʽЋAZ\U݈<71F)j1?OVMypר`~i' şie{FLOy .y_*`جh #Qܳ^#jsZK;u_͍L/K׸[^ }ti4̳!]EL vl(j5 ~aQ^E㣺Ƈ4PSmK/Hj5 \pA!-&aDMGv{FvóKkp(Bɉ?C@R͈w)B(<f^' +Xsfr97kpN NMxl%SS= $*N:"! M'7P -Q(ļ)Dȇ7p[W!RƘR#*( WN0Yyc ۊ=ƻWM/~\ۇSav:pn0z=N7p![[T(Ь8bw$7! !m%jpPF̉[ ]$bJZ="6쥊-4ZNN#<7Jzon Ѿ<'!K3g1nsN-JhL~F6Ɔߊ|bL;/E̵ ]ˁ͞gZ zl+;9}=bb8QvIZ0 @$Uz\G8jm̞PԂ̓ @2'($kFܷwr8lOؕn+Dž }YRFe@KqkGn܀pTl[c]-dt %䶧,VtAY(x pm)(N '3. 鞁V -ɲ` w]s11? gL}4y3G (m˸V]wΜ*C6$R`w~*dAy6cAq0sW$R37<.e׿ϸotts `2QShU۪ 1:] j7=:wfvTBwzd)6N*mS!Ts/8g0_~J]Au$il/uBfNtEk;+;!a`tS~+d[d@,м@mSxK2|9>`#Ӓ%2%KgU9R &|8 *dHiGbzmkt]L?W8J?$4)s,_5rRh| 7*f143!xk8Cu77 \8S6Y,x c:Y#2Csa{_>-pGQ '$@-n7Y{^%܎TfC# S5XhP,Bd d:ҵ>|3 cD䉂ٴЍl]c E]7 t&O|CIABt ֝4s($g8l؉UO0Fqe,qe,0. '{7iAb[)im22"!T%߮INh*BaEpD6O}&D/ue0o<\9(t#7+?NU a;XJR;MO kt 4(Su\LqUtnC /Ƌlw63,3uM]JZp+:H"S8)VGBɸLAT~=::$tw]GLX-P9}sk6~]d: ,{ػ3OK!<$\IL6*~F1 L 6i Ͷ1JP}/(^U쐌=po>6w8 Tj!C^ )'g%LJ-4Q_fuS2muf$'/`T BM*)w{k`l+C`&WsU #%WVDA Lr\4d~2Xa-[GyjSaujZInL\E(|5`{FXT0ճ8 R#ӡHx.zY`/=3"c)}zs`s7fo4DWCHXTFrH ]W1!r!o2u/~LƆ r",{>V;1 X?W!Z< fT9CzsRĠ7~Y3uD@Hg+_;ظA 6'ۛk[ڌleϼ ^#DgFB腭{o'af"8ܲܕ-(ζX@ ݞjHf"XOL :+ ~ohFems $s`Cqi` bЇFy8Ò$M,Y8dؽ]tdGPց,p;cE@lþ2l{K0pџVp9E] o:WS+grg_YRꂱ'3bʈ_ 4k[ƮZ$,*t:?8f pkƐ1OA3X2iYҲf_40섹m4* d{Np!Ukib/U|}d3N X=EV-hS_%$R7ۯOj֌]GY+p`F׳DL`PݠZc/9Ck__ep][jybuhTV~.tI27`D83*ήс0S`+ܥӬ *d/(~{.}'i59AA1?.h(H?}ABF|0v98(k sVC@21i>F ǒP|U1Zȍv&`W"ons<STsnoOvF.7F_{ $ 3J\&9HuSm#쬢!mAllTk3dV0 8dVi<Qt2y:q!j񙊏h;;&zFCU ifW#ZlAZ_ .D-2IZDn$fʐh;shk;ZtX/P5q *u}@?(/]5OY6XVeDoݞgy֬ ?? 7-Ҿ&;JXu|יPiۛ/9،!cgzuz?!d06OI&4!-.nIE"XKDS>Q!wC̖[al,IQ/ߠN4wLn 0/X2S+i?BިK8,pP>oV5#]>4~6CîJLSV}@4!QiZj;Ɵ1g>2uz)yQ=m-g>b5UXyZ,̛sY=m7ƷT<涺/a~.s;&ͯbxաLH c=H;9?0?~ѾkEt* L@ņfe\zE2LuwאQ!-ǣn =gNWę(r}HN5x[Jئi9 f|2h#R*EWoEݣ(بz rBNJP0z zK{nHid7%9p'6rYhNf`\W(׏|ׇDTq2,MUj˿fh[ye6e}DThg~p0/'QgO!,u$QG^UVsYQDIKr~:"=V8k no,ǎ3f5vcX%%X+2iPcU"BUV3䘆'iC$D4ss*qbDM?ur]AGёܲY=r0͂G̒II@Yg>Du RX M.S !IxHO˳Pۗ72&#c8yÞT@vڰGz;Fhp c8+j0ÿ^ \ْV=ܢ7He7<`N>N~m8?zFpûiE}5lQTpbilqm!ΞZˡs&fXg=؁:PiHP]n/OPg wU?=Og$',' w1oר72Ɍu٘ 1sVjZ%~eQq~4N]˪]u<झ E{p]I gC4^2!gH읾@b#K T|dYۭ0ƙ& Ixh\SUG|Ln\<6r,-3l%qaRg\L9$DI~_t."cK5CbUjRco=Ԉ"0us^i~Fp+sЫVqcnV=)ܲQ]BtD82P 0Izp2h݈({3>C[fh ByFN0Z{[M=ܟLa򕧂]Cw>~S={C7=qvv[TI $B!͕l0spS0,AݕNX(J{ e ] pAHN+ѧmlhM^0.Eْ.a@S|ggO拚y$v#ܹwQB]5a5E<3r z6,Se4~C!R'vŘ`f?-QܪHW7UVi,}i|[ \hUi'!@ Kqu3) YIOhU,G㫻f1hjt! UjԨym0 &XO4eCQw݇=񷝍f]K0Op: SG50c#8 ?3lx+T\KDHpjeù%4,$R EV=YCoC g W&A֋T DL OntNo19n\q|R}Frv'gEQQ GX4A[:,QK9GVtal5dBs0:]|CGH )eCkB3%7L`T*a5WĔ**u0] 0?m{?ȭ>0SRuFUL n>Ug\sS;d8 \!=!"-g6j.ְ/nF3r2ZS1a˥arofamCb2|+IDwcK@J `b|觡W[$pc=nl6kZzbC5'|^ 3TÎ Nܡ2C<+ႇ!6`": #card쫪y2گ;āe>} 6^{%ȍ>M^{k=kbh%"oWD!=%;}؛Ar\4ײnBWN( tLs]M\fgh=;# l $X79#?͜F{\ߍ 1 SUD6\s ,`& Kj0\[ɔy&’sOX/Kv7!^w%ap0 ⠥r/~ |^?b ]Oڴ\mi+]W!#1ȩO̙q =z{e{p ' C *qz)Ss88oA:7" ,CVNf~~f tRefY>\kŗZ7Ǩ2]jA$p?/z9N~_J"e1sܶc^/ #lHizGr`U'TRSF4"0F ;KRf~PvXIH ^KV%+J%di>: tAD2;[Ja;C zyCfȚ'qQ@ی6Y"\9T޹^ n{ fy'#fgP 0q|$C0,/]1m}dϔA!`KY͞:߮q},ᮑ*pk͊9/=E*`e 1;<(n2μl#(4x JBJjQ u0({.1]Е<5KyhEzxʮsS 81_Q&V4'>RQ0laA5Quh_f`+mdeޢ'UҁbRb`-Wz{.C2xaO;|P#|o5~:OAcENpeKxp%%{ltrY;.[dB8GIS8ͳOfeWWN!|=b`BqW!lCS{(2'F?>tҟ[/-ѺG.K)Tظ(2]2A@ظVmvԳ_rr@Oa3Ȋ?K0d`p'Bo[GiLjJnLY6Bq^zuի8Da5-F}טd6NQ=xt/o a fA¨^J=+tk/Mdd[G (P\ȵuvMtc>2cA,oF YqEJ‘K֋+R\~1+{ &Ec0sz b " ɻAbyE-.su}˾bTq#==]b#gm5 k.-EW^ &T vf*PU22uKBw>f̐ZiwQv9x^6gX,O~r,h"u#Jv㜱E>ӎ}k1 @! G鴉Ί.Q˼5"ԉUCYm^"P>O6 s|$dgE|2 7PhvDd d{S^$RM0p͐ޭbuq?A,!il~nG"ٶ*}tz6ofW04aeVQ- 66'kST*^@iÝ'B(TFt6jgϯ@93'V:*@MmW ob_LF4hDOjK_i7CH|?%#ۇ3O:IDvWu&yQq%~BSyIk)A44 锽ףʆ0Q@;Uq1GFJ0WE~q9?zoل̔3u'pzO1 ;):kv&_@4Cl< i>N Xz6Cp_'W&O^yf7lJ<Tv.ؼR^fL#K aq/v`'D. ۚs^+T~R4]d}Kʤ;z5 #aDZ l:gO3NIpPU{#$$+JxZxM3f_>>>HE=Yg]cbm}yo=z٢6'h.W}ߧPRd ,~83159,1. ?\(p.*|moP%!:/ sש`ot& U8WlT:հXh'\>& ϶Dxܯ>qUBlW)rHu_)v.uʋ ?fɶ;bWcO6',)/>nVoaWxRQT*Cr3ʬBs/ZA 7z$G}BCQP Eq A0%vo^5I ;g#Si KUYPab79anBDout'j.__ cMܠ_|% #$SBGFyj^?N>BAnΘAz fWÕ>bIL]I/l"FŝF4^*g;5"*?mbײ~fy5ya hD fFТCMWW߷B?27 a=mWպpDdU@I oss{ʱk`[: vfb iG2o٭7Cʈ}\bџO7!rPa]$֠ T >*_Ic6eq%c@_d 8 Ɛ+㹞RW#).$M6I_ 9l<&4F^E7D+P+ v!F;|80I" oGD-`NX|Fg pܢTa5yN[ӖͱkVʰY ]y%6:X>T)0%Z7Uw3 g-sq`T Jęl_qtFx$:?q/LU<ޝ&MŲ@u?@^:P;'k8SHpII28ҵ"e>y|UZS5Ys5vf2rV`jP}l m' Z@(!с }ǃP5U)$ϽKq9ij@a'ZܚWcٵucxI7oo8g&sChP;&ѦpMXaR'-ne ><}j:m7*MnQ?k R[ZuևAHٰZN)ޤe2wk=K-~~MK}*A1l rrSх{p=Q z 0dg6IEm ] `Ye.If̦TkاbRvTNa72{fHLN3})ɏ}gh3-e+}xcs{>}"LҶ0vʆ,{O_}]'cmv0irO`EU:4hUB*[s~ܳfC'i #JF‚KZͰΩU >R!w${^ !3TLڐܼrå YZ