dpdk-thunderx-kmp-preempt-19.11.4_k5.3.18_57-1.94 >  A `[sp9|nR'5E2o 3jsa=7<hfK_SIڳnX5ai;_Ѹ5r{C.fix=;`J-ΜFx"wSBX8,9{'gF@5=j[ŎO@-Uk9& Y'܉]u<6( zݑd e:FWFhU>o`~Rj3bg@E-t198ff65d262cc5639a4986d0ea07f90faf8de36d9aab1a75b197f29cc48603562a17cd69edd1f2be251d0432f5efe448a9f9f549F`[sp9|%2LYz}>U]hHyjtD=FW!t/11/ۡyuN Ci"eJ~kh`NWׇ E3"wT+~;~kSF h$=U8Ox,vq[rv ǨiєU "-v|EȱӢCztjǍEo롣o(UҼtC8gWgP j*6 [>pM?d/ 4 VX\hl  U     $(8C9C:!C>?@GHI XY4\]^bJcdReWfZl\upvwxyltxCdpdk-thunderx-kmp-preempt19.11.4_k5.3.18_571.94DPDK KNI kernel module (thunderx)`Ydibs-arm-2X(SUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/System/Librarieshttp://dpdk.orglinuxaarch64nvr=dpdk-thunderx-kmp-preempt-19.11.4_k5.3.18_57-1.94 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-thunderx-kmp-preempt-19.11.4_k5.3.18_57-1.94 rpm -ql $nvr | sed -n '/\.ko\(\.xz\)\?$/p' > /var/run/rpm-$nvr-modulesnvr=dpdk-thunderx-kmp-preempt-19.11.4_k5.3.18_57-1.94 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 fiaAAA큤`T`T`U`Y'`Y(0a6994b0fb17c2a8c616b3078683b84ac2758c13ee337e9628ffb9384644d9d7e349a3a5c96603e3764978b3535b6ec69415914a9d5849dfad0f0b0f76da74adrootrootrootrootrootrootrootrootrootrootdpdk-thunderx-19.11.4-1.94.src.rpmdpdk-thunderx-kmpdpdk-thunderx-kmpdpdk-thunderx-kmp-preemptdpdk-thunderx-kmp-preempt(aarch-64)dpdk-thunderx-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:__arch_copy_from_user)ksym(preempt:__cpu_online_mask)ksym(preempt:__dynamic_dev_dbg)ksym(preempt:__dynamic_pr_debug)ksym(preempt:__init_rwsem)ksym(preempt:__init_waitqueue_head)ksym(preempt:__ioremap)ksym(preempt:__iounmap)ksym(preempt:__ll_sc_arch_atomic64_andnot)ksym(preempt:__ll_sc_arch_atomic64_fetch_or)ksym(preempt:__ll_sc_arch_atomic64_or)ksym(preempt:__ll_sc_arch_atomic_add_return)ksym(preempt:__ll_sc_arch_atomic_fetch_add_relaxed)ksym(preempt:__ll_sc_arch_atomic_fetch_sub_release)ksym(preempt:__ll_sc_arch_atomic_sub)ksym(preempt:__ll_sc_arch_atomic_sub_return)ksym(preempt:__mutex_init)ksym(preempt:__netdev_alloc_skb)ksym(preempt:__pci_register_driver)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:__stack_chk_guard)ksym(preempt:__uio_register_device)ksym(preempt:__wake_up)ksym(preempt:_dev_err)ksym(preempt:_dev_info)ksym(preempt:_dev_notice)ksym(preempt:_dev_warn)ksym(preempt:_mcount)ksym(preempt:alloc_netdev_mqs)ksym(preempt:arm64_const_caps_ready)ksym(preempt:consume_skb)ksym(preempt:cpu_hwcap_keys)ksym(preempt:cpu_hwcaps)ksym(preempt:dev_trans_start)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:irq_get_irq_data)ksym(preempt:jiffies)ksym(preempt:jiffies_to_usecs)ksym(preempt:kfree)ksym(preempt:kimage_vaddr)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:memstart_addr)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: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:wake_up_process)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)12a4e1283b4b3ec3bddc9e7e837b7b097b4da6ffd9a5ea546b4b293345a55ec8273f5f1cb3f1257eedb6c891f5e2a7638d5569f14bd81dfb27909b90655fa6c2977f511bdc620f1bd4e62c3e1f51e2deaa6a5218d5227142469810fdecd0b298f678b07342203af3eeb232250648449fa881405f911cf22881367231fdc7df2588094dc14b896359809b34c3fa40cc856092f61d70f58348674802bbbbefa99853d86969a7000f668b19a157bc19d264f1d01f3629679b33342f078556692892540fbfcbd4898cc1514a3b4e729af779aa04a2790a6dc0fe4879758b71d0d515ba50a67f24de7337a0cbab2ead97c82bae9d58d5947165c3c7387b17b0cd5412d9f25b3f7646ed5708f804829a47edcb764ad9688de8b12b3c8f243c2c7081bac86a2ab7989d409bcb62420186c57cc2907fac21b7f26baf939ce83f95bef52d9d94f6dadb5f1aaca86cbd4265f6d4cbcbb185bd8d95ebcf877a49f4cfc2bf7954807a38c0f26e566d712a23f4c91602da2ecbec32041783892b4356e87cd34bab7f997aa8f8c26d495c5850110296695f58bcfb93a8ef7f1692d5838e8ddd8aad54496b452cbee8f25143d05656e4a6ee2d5255a5a9213119166fadaa916b6942564362e81b3255f2ae6c4cb3007fdacfac9c18bb8d35b7b53b954a2ce807a2533b459313.0.4-14.6.0-14.0-15.2-1dpdk-thunderx-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.9419.11.4_k5.3.18_57-1.945.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-dpdk:thunderxcpioxz5aarch64-suse-linuxdirectoryELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), BuildID[sha1]=612672a41721c2b88d97f3c39c60eaa66a8c47d9, not strippedELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), BuildID[sha1]=3eda95e0c80ad0bd36c95e27a7d62b909705bf33, not stripped;;JRbR(RYR&RxRaRRzR{R RAReRR-R^R"RERRsR0R R`RyRORCR+R\R%R>RDRRcRnR/RBRfR.RZR R_R9R*RjRgR[RRKRRtRVR]RdRWRRXR$RhR#PRRMR?R,RR&RNRRrRRkRPR5RR4RR!RQRGRRRJRR:RqR~RpR2R'RlRuR3RR1RURKYwN,<FC/7vE z a&[a"%8uu>H&7Lk>Qgn6=u<]澶<@Si6Ld bw=~K6@ <~Ԏ$a8]&t)3[$gAp-}&G*/ϳ22&͟ Ru_w9s>Zƒv۝LlF!L9_ĥ"c UקTf17'SSlpv`:*ν2>#< =m|BnLBPSEeE| A.w0'HF`I|o'M7p*b誄=l&Z. jƪ=g^۶8DzņNoxݛΐ`aŻ9 -*t5&ӈp6 2[f +,,۰eEk2t: jވc@K@ESM&lk#>_ij"h|[6,6ۚ҅9НSs Qg@XmC,3rgϱMBUI\P|&2c6ŲPDS*Wd  |fz]ϸg5Cc&*&x`\IWpzcH:WZr% :QWo\ agK>]!P [߯Hblkm^o9S;zYr6!Hc63&s`K+HHI;[j0(닃V9s3hOK&k:-YUf7,ʹ3cI{뎄56'Ī}wBj*uj!l"W<ܸ̫܉el dq4[~AcԚ-H[DRQU-$Q[];zMۺS9,^%jȶxٵ 0J\*0zBQvqn;))~AXrDg,DᎽ.7 Mޕ,<3y#%ǣ3fe`6Tmei1kvܱuAMӑ+ֱwUv`$2˞L:6P&^,"R5[ėBm64m8d O@KBcv>A2*"a^^zJHԠ֝@/(d*pV|- b2)\ ;lwExODW*r!TRmrLZzh5mU9-|iht-W E&$ݡ#5+,,ռlc(܈AMNb^) dO];ɜџĨ1j*hh\Q ?iqhcv팽 rW~U>V-)+ &dA\Ed,y{[d**%fQ ' mt9 KeV\^>#nŃmI]O4Hf D2 d]GJc{B>H(o&qR5.8 Ur<C@ <L)B+J(ndU@pUBe.S; 3C%CfnodeY˘whXNtq5Lq>qZ:7s{fm1 (>vXȐVex];/>I5E4I z`B.j8$ZyӐp(ȯat1z7_CH~T TyXnEU*vz8eb?1 CVl6B m5 |`*,+}&dz4-Pאd^g &P=n 6uFLL|'zzbjEIT~ܓVP a?}ѤM!g8v>UevN}zec )Z#.0.jfꩨ6SKP(?*HT9ùj0i|q\_-%bu Ɖ$=bZR*;^Nڨ-gbZ8PbM:O2oR$6L%dn. fb$EsuLsZmԈL57Cw$>X xS}2 c|EUTtdl'~L~g~PcEEv l~Z%d~f*<d!{Zoj*<>NTp'M|!ҫ/,PKweD&(d*hW&h_7Eg֐[jkK^h,=#; `{U'goHJ bJ F.˸8>, VE< Ku E w!l4L(m"E +i&#༕UjPԑX$o̳2l~ o!"ׁT\ӥp%V#j!p K"e޺}k(c?VZBnw(7EZfap$-,ߺأ{NGc]'2>?TvRW:bn,fV1Pa;OXL mN'>5&T{0MFFe=ߝr*sw ;dlqPw^~TΎgT Pd1ĽpRr;m%a d~7ԇq,G'=L$gیjA~=76 P_c.VFXxh\lvE6d{vwRJH֟"]DDHi^t?5[һ tS.m}\gWW=U+R@///*(I_R!` < Zot-myR?J<Ћ^-P&ڢ8k{Xڙ8%i﭂AYH))7$VR'ť&R"i.ݦGLYtg 2:RGR Y Zz*YMf;\r9|ub޶F1ww̔:xĬ*|E]%KZ%jǥS)ٻ {_V1D 50@߻ѕzIa#'/.N4]>!؝JE$ߨUlP mn (} !ͅy{bԻ=fu +q3r;Yqz􇾐vc%r(W;%ͥTva΍wj,1{;F9 /HаuU(GQ.Fp,>H{)pHw*n~X H׿HJrIC+Nwχ.5c|S8?OP s ]K] Q/"L;: M}#aH /9tsOb5Ve}3e:/N?(06@Jf<nEI>t()}Py.dUIY2wW6@%vL(=_i6  \YEZO8Gmr3H]c=&$IP!ÓZY WĴ d Fؒk٪m{bS@P"l~mչW5SvYGGentD]5VN[7{ ^"x`ݘfNtc-z_J w _*yI%ȫOd6=Iύ0"y2V/Pu{n{5_bvj9 Kh|K3sXS%&ƪ|* NPK ,ևOoq5 5!InPw/BoJi<#- ;=efcU] +6yV;rMO2/$e4]\cAfOz ~JY 3YCOS3K~7hⲛm_661Zؙ/E&@+N[MH jԩt=6i|iS;M Rk[U-]pFsŞܥIb\Vn!q@m&5|zh0>|Psda LM*Iku9FB>\PhARFH4v(|W+Hڨ5ln l7u, yBf Ta)V#y#B-? C(jP;p÷Bڥ'P$ KW[]6#DPτC2.8̌ O\ 5/E SkLTF|:xQlӉ%Jֹ>6Rѕ/kRRש}BMQ%a ԝeοz\ғL,uZtF]%6fʫc51B[3s!2:n3P"2K/WVnGꄈE/9$ ɱooL=C_%䶔%81/K"2@ O?)%mqf(MsKy~j&, AaՠL] IH䟐eoٕu%6QԶ ~'Ձ :j#x.%WKH sZhM?>\l!@tb;z #Q;gea֥i{:7$](f$M1F =r?BgQZݮB&Td}" (kH z}iYo3.[0)Ŀ /Ae T,˞YzW@ |1mE\LYjBum;5; v6Ddԅ8M]Дf kdc7)3?|BSkɮws9r472[Z=O08b$ Shps Ocd0U.V'~tI >6maiy1qVԛSq$B*Sop98Gꉖ;=·c Cn"'~9P6,@ˉwe\)m$YxZ9e2-ѢT=Ypw6EJ<^@~2mEh(ԂssYJ%ĴE9THb7;]1 рs66&s#։M +vT`8s3| t2+rqI)8g$GLnGYNUpM ھEv+CC42D pMHu9HO֥0"yRO/(l؉wA Zb/^ \_F[HH\YJs4 @+,j2$EH(YazI_ Q?NZ ;BO/4wk%93&8gmz)ǩQ@~ltHҖ= L~AsĈ,+ޔF7y6pKuo]Xn{}OI^+\C ^BʥGwcZmPn#y4we9z&N΅]#P R1D;uP5%z9_2z7r6ځg7sI?ƖϘ+W;զL?Oet }ZjJ5ɹqՒW9XIYozZ}IҘRyl?GքŬvSw7ހ[IC!H+0D4Z< U !9oD⮶S*_\v,8C?Mu[h({/%j*x|J]RzR<}8dIċ\Yַ"zԨsyوQ:fa킙KSƵv78Z!#?{Uay@?,&x ;d4k`rA<&B 5 Agݰ C'˼eu gWl$oZˢT PB3ˆO.\]QKI<ɠ)v-fFZSO|0l-a0Z9~ ?ndK<&˽Xe,F5J>5m`:!>gFǸG4L-z?r5lȲMG=Li\Vq_Z'8{$jirnG8 m4詻c&{g+UG+4B rGnֆԈP1~ a'[$ ۘvqвHiFۼRqi|`q1ƭ𐽩&2^MޒoO?}na' M y!xJ=K&K]GphĖ1Y 'VqNOjWԧ Ie2}ahO{7+gnTVZ1^,̊hprH`ZUna]zAP&_ډCu &"[쵯Hck:My=s<3#ov?@VXS"{! " Uc!4 q+3V2,C̜~߷f.nDdT&|J:OX^VNZD(͗}z FF#pcqLZ'A&Oօ-)tK#?-DEM*[$2ý@@HG:##3UX^ZUAGJ6||ٚx -nj? }&d;6{|4ueGE"0ȏyܠPv1ܼob دQ+Cʱ+.CHdw$iMsկ!@ROBaJ?#WQUos+ly]/>Ip֥! ` ̾ ƦFQ=uHmE,/!TVC 3U{%;e'!uiQlnT9wERu(EdO&ƾ:ng-Ϝ}:C SȦQeJ7\\mlX;\F9t N4x$#+ׯ8SI t N&L?.T플g*`jjYψ @.ʊLǮ K?nVxx4;*:"*X@N\rȬiYpz^.YzƤng2ޗΊFj}*QZ6)knH@< w=:e>e{@)]G,paQ0 cfqݫy+20p2- N7KkUҒTʔZzn! $/>\ID|8 3$'r66iOy\00D|;Eh&bnJH#\=`q* ?2+7 %3wݙ퇪\ߑ aRYkdC+JWq[q$ek #Y:X"35N*z͕{ԂC=Sh6?7S$Rrr}]Mm&](WIx㹗By!X*_,T;P쾛JLo*zWf(d5ݶωx!  Фţ}n}(TTScK!Fԟ8g˂n.o9g+ry(|/ X%Ӯz9* uȘ#~mM\QY*.M_= HqL ;EѧV7FX g"^cTl܉$!b֚>ɫ=>>OI8-eWSVrZEGB^%`Q;e4bjm]ts.q?!^r3`JcӟgGq֖0a:hiY>&U`ؐNٷck_匓$6\b1Q(-0SWPPӆ2î`Y*?6b f)N"rJUS`)J^ZDj{Z(UA4~3rzRG>q. $+>oC +;jؼ 2% e߷FAߨu8iwۣ]Aq: h/RҢMgl$Kԣ}>tm bH1k !?9]g,˲j-d:aXqmh{rY*#mZ?&8IQa# 7آ!B6kUoͳ6?xa:4ycbpƓIG v~palt r^3@|࢞}\f; W Nc,=~10Ģ04+1ФvQG2hx'n|vɋsTvc/n\W*RnהY&j/*!b\zl:q AV7|JZS_rTrWBQ1U+_occ&E&f7*D0W(ݫA׷HͰ0rN}9>$OJݞyiT*̷~9ŋ:D5`&=ONfq{-WR(6!Pm"I%6z1$.ڠ/AStD(d؝2mGhRą N}Co\_0>=VhĒ0r!~ԏ1NZx)<`$EN.o+EBCrѱMʥje.:%CbP8+V=%{9YEPxI3GH?|J IF )Pe/ '8]_A iױAhfo\bTnۧKEXhsLRS^Jf0+-ph0_vEn?Ԑb\u(eXl.hLܯ*-|@yOxO[ZL59 {tqED^*Y|@47ATgP|<%&{+@bL[;=WJ^,!0Ţ@~R|&>}tmJSKeŝ2D"Ņ);14,fD6N4b|HaZ#PԆh/N123wG$:d*qPy[X)D@@ymV'rY׍@-@}e?t#|Y-)Ú~ii0lhJ R*3&ſ;U΅:٘0X+9KpbZ F0Nnq)ڼHG #-!"]+5pn  <|W s[̇8G]'iTbqL-`iHJyIB핤+>/aW}f/Sfd.i~2#Ϣ jaoe(%X=""f~W(nq UQ"A4 aΰk%-17kj/tDNAh>FَSC2J{ {>R_Hʎo$= (&J=6GYH yǢoJjȎB\X?+˒^ʼdkؗx ԶHgZ|P=>y^R}6LrS :x&V-\zdS"X^$5DG,}I2r˷NPZv͍ghK؜f.?Ϥ?k깍TRG$^Ho_ki Lɂ'L.ۥ}#h)ȁ#Qc.$=\Aw T̾/UuA,bӿ'-IZkHN^fէ;Ca+Tqcm vZLRCf$xi9ZFaD6 VRxHeO ך<£XFF,@1PY}t= 't#!O|Rd j\"S˥)@ʻ|Q"ɿB/vChѕQ1@%XƲzH]8B:#ዷtqّA0E4ČG@]At`n" S/w hLHL@Ȕh5J {SD-3To7cb7M"#H֭p{=@8jALk. mTlT=<شlv]IT{٠҇R '5>+҅)4JkdRܭHmې?^ CaPFI "jz FnyFz`v cTНmaZxW%{Ŝ"I})aLh7vX8j#Π\'RʛazP[^9PA,5$9LF@,RPzvĠgwm!0a[LϾhpWAĜsgqg JJYQjp0!u3E&SpNτI˙`\4׌8b?XDv+ T$"9AhVT2 $Q"l_Z˻q-@> fI,œ{kwlY#:J,KW 6G ZUqa[;~ߎtAdyYt A:eAfRt]1K1M~w Dܙ dKz-Y 2o'BgXT#tL1xsgzH7II](]g`SJk'pr͵j31֚U^e\Q@_Nv')V/`۠5NNMgXjsu?Jp>K'WM'T(*eAö__&;0֡vw~%C4&WVC0Bfn7HĜ;⠊!D[vtY@LM^DLjGZ*_Sx,BNI)d}|drl9ȁ4‰n+=E^tCV]M#;Ѣib>ᰱs'\xqMָЍ| ~"D4jH:'Aն2fL3` eGvQXGu?GiC#XmF?y}AjfӨxpzߺhgmdASEn:e}G!˶Ty#gZ1F-|YEƫ!"q"IfpDqbYib j ؘe*rR5>]xNЕy fSA[IrD!*v'*CXlsT-$ɋCi &*y7.zKb@4eL_+uduU+$NM]݄TIh }f  0cF_A㔩Gv `g7dd%J V=;g ѓ_',u j9N.^ܿ֊5't!$4pZs$6ą1!7ty`SX-*qKbq{^+"P,-< J \b~?.N69b\\{zmj_-NPLKn}HLO=J|VHO6ktN̖tឧ*L@O5H*j_wO?^ӽjrw/˵IWxL@4{ Eh +a XeY us+{|&m:906Ud ^l2]{wE@PQP6917Kp'5ٟNY*H9aJ|ԥ6bZ O%iцJwP(C0|C%mԏ;:*/EH9=@G}Dt2|F \]o _*fVsjse-@C(E (PDD +4IV޺<bV}e9R-K @)ɖ 9~ı?uTEGgyP`Ƹvh#"X xA"BI X1z-㚃c:2G#5dGо&rM*\>͐4!O\OTf~BҀ(\g -ڽ*afCk?gGTǷʰ+)dffȅw^κDuJ%ա+KS#{-{]Ho}3*f'͍i\<1 yE} e"[򰪨G݉5RE߀^yeriWq`'6Zf$Kfon>H8.sF ~uKӘ#ҕۣ^0lȢ@d8/oJ?SgN(NR_fm%{Ë~V zlb>1;XEp}`Fp%4]bc,Xf Q;xNᱍ||@)NiGV:K&@5ݏs YZ