python3-ovs-2.14.2-150400.24.23.1<>,(er\p9|0Ȯ_TMs P]UfҸ:גskT`ʠ*eT'E}3:@tKE WU-@M .O0jŰ?O1v+%$fTbuo1.]j__leעz$z͟ʿ&u`sj57HKmNCAu; (ܥ9OpfFT?z&zEg$;g*%|i^]cҫ>A4?4pd $ F 28@vv v v v !v "tv$Lv&v()v*+ +D , (,78,@\9-\:4f\BFGvHvIvX8YDZx[|\v]\v^( b+c+d,3e,8f,;l,=u,Pvv.(w.vx0vy2xfz44 4$4*4lCpython3-ovs2.14.2150400.24.23.1Python3 bindings for Open vSwitchThis package contains the Python3 bindings for Open vSwitch database.er\h01-ch3dSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Productivity/Networking/Systemhttp://openvswitch.org/linuxx86_64<:&88  @@<4<4<<W_W_UtUt _ _33Cyy--((j@+'mP&&&BB  D-D-O]KF?.[12APM(8^-Mza ~~ 0^A6$ AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤erQerQerQerQerQerQerQeCerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQeCerQerQerQerQeCerQerQerQerQerQerQerQerQerQeCeCeCeCerQeCerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQerQeCeCeCeCeCeCeCeCeCeCeCeCeCeCeCeCeCeCeCerQeCerQerQerQerQerQerQerQeCeCeCeCeCeC57b85ca056fb97665e8e1c4be61f6bdcd5d98e0830129e76c43d845b51e9ab036a6a7bfeccb3d60a3f28464bd38fb8978c2eaa53e4adba19753ec9cac0056c2501ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bff1ff434043ad373019f742d29957edc463ca8296040ff7e0ed05d6ff1d74e8cd1a5a0f928aba6705c2570db38415ce120fb640a32c6a331ed4bb4629ea1649545a17e4c1f53b63085d8047cd04b3930130d12e274b74b5cdfc92a9723296f02b235333a5f8148241f841a736c6002442216dc42648ac1aa1816222cac773f32b235333a5f8148241f841a736c6002442216dc42648ac1aa1816222cac773f32b5537c75c8c3b79b3f45235b1cab518f4286154b4ee3b94b6ade0424b8830532db374e0b75417fe694308ea8f841a9654aaa4d7a5719d09c008aa200caf5ce059e82b52f752e569f43b74d18c2a70f473b5834d9b9fa87a8057f1e46a9a5648f9e82b52f752e569f43b74d18c2a70f473b5834d9b9fa87a8057f1e46a9a5648f8ec8a52e16b3a34b517c6376d436645ee050798dd21897cc26ca9a8e111404005cf6fd32d983f83841aa22ff08a4b59e78d732dbf73a91ea06c717e470d8e1f357fc83b0d6ea564a8a7a43cc5d93e996c0a3496da6596a78285693be4f1a612f390c34d989ed6fa339ead3f624743e0e16b7e74a14b3a45c2fd38be4fff8478e39cb4b67033973c984f5581f5ee044f0c27365bde817ffec14e4cd1f1a1c53b2e3a0edca43268e58b26898979a97179b7d398e809e7d5ff44984b6ed489f7ad0cacb3b2109a1645ab67d2ae6dbe75e718c2bf51dec867dea1f19efd08cbf5b519e614dd31a5a32ef8252d604a2809764156174128479933d77969eb1d2ace52c09b6d4a3eb09530ac587531125346d8d00f0a29746fa34abba0016cb3286865801fa4a9c8f5f886ba1cd0e6a883f6b5d74eeeeb7614816608364de446fe08120eb8329d5af918f4b7ce5ca46db54352500a3caafdf6cd290c80286ed663c3d135862b466ba2748aa465a2fbe9ec9801c5eaeb10d5b418c0405692c9b5306270f4db9dac0e0c6ce61473bec04bd3d04897c0686cb30af981c202a5574e17cc0914db9dac0e0c6ce61473bec04bd3d04897c0686cb30af981c202a5574e17cc091dcf01fc3cbae092e100be5a32ec3707bfb75a676dd869d61345b76f2567f3e882fb9090a8f2a55c1e9d9604934894b6013582b1a7b96743878b6b7e06d3312813904b959790035d9aee6454fb1ad01751805377d5b98eb7fd7a36afddafea225d5ca9767f173adbf59d58a7415435308b69546df066765c79b7187ae7631d5aaaa092b4b8f09c2a09a32b668aadb3d992884707f40f06517dbafd24fc740c79d2d0ded7795ae26591b05fcbd8d3cfe48044d096febcdde5bcc1d488f36d89fa11713c8ab89288fa58bce829c7a5947c63f858e50a7a0a6263f4eb4a9bba71691f2b7fa433c4a4c242deb70d1ffb0af646693673022dbe92f46c29fb19a66c8f4a54eab33f5ec71c0dde9ac671a84b989a402c61ed1dce7ccb3a940b7afa56e1251898867cc12d17d0c132c3768a85ab6e5e64164045c4bcb3dd564057c5b1149fbe319fb6f45d9571cb13a37a38d049864408b429c9159ebebfcdd1e918ef827fbe319fb6f45d9571cb13a37a38d049864408b429c9159ebebfcdd1e918ef827e979bc1a7a98259d12ec173081b90599a1f6dce1fbbe6a543fd39d95e2598f3559322cf06d764d54720538ac4ce4470c0eb84f518145c95c0adf7375a315de8f03fd9ff0cd5c3f9f01adb6ba6e842383ca0d40dbd2ba3e1dbb975ba052a1b8d02032c01dc478f25b2b3e0d2c6a578925d6518cb42eefc97f8615d030ee8a25a7e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8554400545978644d392cb71fd7f01ff3d26a7a96e174bce60df8410836dcd2fa274400545978644d392cb71fd7f01ff3d26a7a96e174bce60df8410836dcd2fa27718883aa3d7411f79313052a1dd6b590d559de5f7746e66691c26edecf2d9456c8a6f973c4a059d6902afd1df6260a415cba5431270c7599d5ba6431ae0f11fb0104f1338b0946c97d0cdd1b283fc50680b6c4e7b3d2e2e0aaeaeaefeee52debf2e807c4e33164449a38f07f47ebe92f6c82e4dd4aa46d3931b059b94a78dca29997e6a066982f0e2b85c7a1f5fe0dc56b77f03ebe784cc32e5e03072e5bbedc9ca87fa784870768d338554d80dcf71727bc08cd69f566217b7b6504f4a765a79d7295a6cc911e2bd15e64faf2be885931f73be3e214758ed3bdc89a8cb9a05675f66a8d05b3e2dbf854d389bb3b9af8874f7836f8b3e97c61e9c92ebc4b23df56934c17609e2968d049aff1f9f0c03bf12d80b81f66cc145b5dcb0d482f81693769a68b552c70de8411ea1602eee6b8e79099c4368e930ee4fda8d9a0287ef042866a0533af8d4e0927e7445cfb22cd6c4b82ae45f27cda567b2ddb6c1b9f76b816bf85d938d60bc01a1e6a9390a2bc9b671d986f609b221ae52aef36f9bb723b1583b49900a03f7ce3663f553fb16f2cb1141848c433bac640443249cd686e45a17e4c1f53b63085d8047cd04b3930130d12e274b74b5cdfc92a9723296f02c905f1bd7975395498fc983769d8acd954f867c7b46b901a4530f40dd4cefa58c905f1bd7975395498fc983769d8acd954f867c7b46b901a4530f40dd4cefa5835a86ced24b8b89a8510207724dcedd50f994113f8f695c62418952528700a5c35a86ced24b8b89a8510207724dcedd50f994113f8f695c62418952528700a5c38c1c80606530c79d6863d94ecd212637cd0b3cb213807fef37e9b55abc402af0f284295d619bbc28d50d6072fb63afcfb1f18a34f52259b0a6042fa830aad89290e038d107be6bbc3a6cee696f041673dc332fdf41362c71bed833fa5cd809c290e038d107be6bbc3a6cee696f041673dc332fdf41362c71bed833fa5cd809c38e396d31d3fa92bb0b69e4c223c0a894658a26e08cb914ed1c81d4e948a8da9fd1da0d206f18f04cf7eef6a57e743d420d78feafdc0c919d31ce4149985b79ee91b471b9a32f94ef420ee97e0c86962eb865d54d17468f4154bb8ff8726dd9b8d774aa14934c92361bc2a293f4b449af021e7efa1598d0b40c7d64621f6d4182c1034f2d5ac52afe9fd615b7f475b444622cf73418c7a4dc044177dfee7ce19c5ebdc8b4113946faebeae6f5dc8112bfd0a2eb3c7fc6d81262fdd608f3acef83a2bbfe898871b349b2dd5d965ad6b2ba11b687e65e37affb4099a000d318205c7bb6ecefd60e55b3db31cfb5bdd37c654a116f80dc394283aaf253a1940424924cb1305ebf499115adcf9087e03900ba83f4e6b691c1002a69f2b9584408e26b179dcad4bd7cc046528f785a3c72b3c3505615877fbcc5376a290c6bfe8ba3f886f9f38b5ab2ec6a0ad8cab9ee3c3610cc4ba9fefc26be604f8953ba227d0429c9924533384178ad5a62e96234a4de747813f38198612710130fe24c8f56790a3bd83302049dfbe49912b2ac77daefd7b902b090b31e7a0abd07c873b692da81a315fac98f7674fb08282b5c2147fab0ac07e53bce6206c58bf192e1c70f00a00e81ff77484675be4caf0858796e0d8e79162cac6ccfb6632c9195061d199609b9215368a86911b5b0220f093e61564e82daf2a280ca6c45a5d2a9f745c492dc46678fe381d1408229ab33d21887666268fecbfd64871e8182d294dff3c5873775766036b5cf0df9e701456766df5ceca740fa52ddd804e5a3e10a05fbb68e5b2b1cdadca4d70159878a618628c3dd05667ad0853e0bceccc86a88c39eb1649632355be0052f6fe7fc54d66e5656b3126d06abd4544996e578ec00748b0f32e4f70f25fbabc7935c384f6f58c91fa7c6d6632704c8e9749120c9980da19567b34a1cd7aae74f036798b9f55caf92980913f0056adcd41a5d383c927b3c98685bab12306de82f94bc5edfd6ae702f4d23ee2151bb2b5d6ee8ac0e609e2c04ee406ede213462e8bb22bfb7a1768faf225a88eb6c5a25a294638ee8eb99f587a7575ccd2bed03367aca18b20eaaf16c1241e1edd1ba55cbf87bbb1477a9ddfb99737c39bd061edd12972d91bf1170f82251bcc5fba134c2fc3f078fd2db7126cefc228dddbfd910ba0b93293b082d74fcb90c9ce809f820d7c35e817eb72beb4aa16595587dbc657250f807cbe6824754f91a1bb35373f22458dfca66848a9f745ee10ae8023a8de5e4cc2065ac378968eb9387191e8d844f218cd7135af59868dee10ae8023a8de5e4cc2065ac378968eb9387191e8d844f218cd7135af59868d37173bf964c3fc642371bd4613c549c65589c27bcffb5c3d8d1b7ca531d06f5614bdb5d2f3af6b629b084c71568fbdf5745dca8d38df34cdf3fcbf574d73f39879c2283eb9e8f6229e772c0d7abc58b6967f331a653b11a2d5c7215dbeeef4c712a8c6527d4573d4fa9d604ae0834ddb4a32e888a5793d9bd06d7873f9fa7c47fd9e2c57dee86929513c61d9764f7048c9df307ce6df4e72ff9dcecbd2a5af3e5acefce24cedffccc5276abe4787d4b1a38ec7826ddece33dbb6fdcb65e82b07c8966f24ea6d5382d79fa24819fb157485d76d2f5cfa6e95d35b72393d54c723e1ac1029fbe55d6b17fb697b48e586fc72e1e5cc74c0aa95c6a4950aaae8b7ecf9519cf1d6aba793892a8a517bf38e3b64779023d20c3f8e1c8f6874b48ec1249d5a72fe3b43646a0e86549a99ae275d2c24a344b97db190fbad0248f6f0bf8brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenvswitch-2.14.2-150400.24.23.1.src.rpmpython3-openvswitchpython3-ovspython3-ovs(x86-64)@     libopenvswitch-2_14-0python(abi)python3python3-sortedcontainersrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.14.23.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3eCe@eieV@dgddcp@c` @``&m_F@_s!_N7^b^א^^E:@]@]L]-@] u@\F@\!\@\\|\w@\f\I\I\Db[@[%@[ͻ[@[[9@[ug@[@[ @ZZ@ZZZI@Z@ZTZC@Z'Z@Y5Y@@YJYyYoIY`@Y^&@Y)j@Xf@X8'X2X&WH@WWίW]@W"WWzOWs@WrfWj}Wi,@WH6WF@WBW>@W=W+5VbV3VV޾VxV'@VՄ@V͛@V͛@V͛@VGTTFJDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.compgajdos@suse.comdmueller@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comdmueller@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjengelh@inai.dejcaamano@suse.comjcaamano@suse.comjcaamano@suse.comJaime Caamaño (jcaamano@suse.com)tbechtold@suse.comjcaamano@suse.commchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.dedmueller@suse.commchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.derbrown@suse.commchandras@suse.demchandras@suse.deolaf@aepfle.demchandras@suse.demchandras@suse.dejengelh@inai.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.dero@suse.dero@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.dejengelh@inai.demchandras@suse.demchandras@suse.demchandras@suse.dejengelh@inai.demchandras@suse.dedmueller@suse.commchandras@suse.dedmueller@suse.commchandras@suse.dekmroz@suse.comkmroz@suse.comkmroz@suse.comkmroz@suse.comkmroz@suse.comkmroz@suse.comkmroz@suse.comkmroz@suse.comantoine.belvire@laposte.netandrea@opensuse.orgdmueller@suse.com- Fix CVE-2023-3966 [bsc#1219465] openvswitch3: Invalid memory access in Geneve with HW offload - Added patch, +openvswitch-CVE-2023-3966.patch- Fix CVE-2024-22563 [bsc#1219059] openvswitch: memory leak via the function xmalloc__ in /lib/util.c - Added patch, +openvswitch-CVE-2024-22563.patch- Updated the corrected patch for CVE-2023-5366 [bsc#1216002]- Fix CVE-2023-5366 [bsc#1216002], openvswitch: missing masks on a final stage with ports trie - Added patch, CVE-2023-5366.patch- Fix CVE-2023-1668 [bsc#1210054], openvswitch: remote traffic denial of service via crafted packets with IP proto 0 - Added patch, CVE-2023-1668.patch- added patch to include fix for CVE-2022-4338 (bsc#1206580) and CVE-2022-4337(bsc#1206581) when parsing malformed LLDP packets * CVE-2022-4338.patch- security update - added patches fix CVE-2021-36980 [bsc#1188524], use-after-free in decode_NXAST_RAW_ENCAP + openvswitch-CVE-2021-36980.patch- add openssl(cli) dependency on pki (bsc#1185839)- Replace deprecated /var/run with /run (bsc#1185176, bsc#1185177). * 0001-Replace-deprecated-var-run-with-run.patch- Update openvswitch to 2.14.2. For a list of changes, check https://github.com/openvswitch/ovs/blob/v2.14.2/NEWS Includes security fix for CVE-2020-27827 (bsc#1181345) and CVE-2020-35498 (bsc#1181742). - Removed patches no longer applying to code base: * 0001-rhel-Fix-reload-of-OVS_USER_ID-on-startup.patch * 0001-ipsec-Fix-Strongswan-configuration-syntax.patch- Replaced `%service_del_postun -n` with `%service_del_postun_without_restart` (bsc#1117483).- Fix wrong default directories for OVS python utilities (bsc#1176273). - Add upstream patches to fix openvswitch-ipsec service (bsc#1176273). * 0001-ipsec-Fix-Strongswan-configuration-syntax.patch- Update openvswitch to 2.14.0. For a list of changes, check https://github.com/openvswitch/ovs/blob/v2.14.0/NEWS - Update OVN to 20.06.2. For a list of changes, check https://github.com/ovn-org/ovn/blob/v20.06.2/NEWS- Fix preserving old default OVS_USER_ID for users that removed the override at /etc/sysconfig/openvswitch or for users affected by fillup bug below (bsc#1172861). - Add patch to workaround a possible fillup issue that could cause existing openvswitch configuration to be unintendedly altered during upgrades (bsc#1172929). * 0001-Use-double-hash-for-OVS_USER_ID-comment.patch- add missing provides/obsoletes for python3-openvswitch-test- Update openvswitch to 2.13.0. * For a list of changes, check https://github.com/openvswitch/ovs/blob/v2.13.0/NEWS * This version drops python2 binding support. Only python3 bindings provided going forward. * Tool ovs-vlan-bug-workaround is no longer provided. - OVN was split to its own repo but is still built together with OVS and as such from this same source package. OVN initial version is 20.03. * For a list of changes, check https://github.com/ovn-org/ovn/blob/v20.03.0/NEWS * Packages openvswitch-ovn* are renamed to ovn*. * OVN now has its own sysconfig and log paths. - Add OVS patch to be proposed upstream: * 0001-rhel-Fix-reload-of-OVS_USER_ID-on-startup.patch - Patch instead of post-processing configuration files to set running credentials (bsc#1157338): * 0001-Run-openvswitch-as-openvswitch-openvswitch.patch * 0001-Run-ovn-as-openvswitch-openvswitch.patch - Will no longer change group ownership of /dev/hugepages to 'hugetlbfs' (bsc#1140835). System admin should mount hugepages on a path and permissions of his choosing for OVS. Add patch: * 0001-Don-t-change-permissions-of-dev-hugepages.patch - Will no longer install udev rule to change group ownership of vfio devices to 'hugetlbfs'. Group name does not make much sense in this case and ownership of vfio devices should be coordinated system wide or per device. - Will no longer run under group 'hugetlbfs' on new installs with DPDK enabled. OVS will now run under group 'openvswitch' whether compiled with DPDK support or not. - OVS persistent state is now saved on /var/lib/openvswitch instead of /etc/openvswitch for new installs.- add missing sortedcontainers dependency to the python bindings- Update openvswitch to 2.12.0. For a list of changes, check https://github.com/openvswitch/ovs/blob/master/NEWS - Removed patches that are already included upstream: * 0001-rhel-secure-openvswitch-useropts.patch * 0002-rhel-let-ctl-handle-runtime-directory.patch - Rebased patches: * 0001-Use-strongswan-for-openvswitch-ipsec-service.patch- Fixed missing obsoletes for old python-ovs (bsc#1138948).- Add unbound as a build requirement to support asynchronous DNS resolving for remotes.- Update DPDK dependency to support DPDK 18.11.2.- Add upstream patches to fix bsc#1135884: * 0001-rhel-secure-openvswitch-useropts.patch * 0002-rhel-let-ctl-handle-runtime-directory.patch- Use temporary directory for python build.- Fix problem preventing new installs to run as non root (bsc#1132029), including: * Align with upstream so that no running configuration is changed on upgrades, specifically to avoid changes on the user Open vSwitch runs under. * hugetblfs groups is created as system group. - Add missing opnvswitch-ipsec package and systemd service. - Add patch to use strongswan instead of libreswan for openvswitch-ipsec. libreswan package not available currently. * 0001-Use-strongswan-for-openvswitch-ipsec-service.patch - Add missing ovs-delete-transient-ports systemd service. - Align installed headers with upstream. - Fix problem preventing rpm build '--with check'. - Fix python environment that had directories pointing to /usr/local. - Version bump to 2.11.1. Some of the changes are: * netdev-tc-offloads: Fix probe tc block support * rhel: Include all header files in the Fedora's devel package * reconnect.c: Don't transition back to ACTIVE when forced to RECONNECT. * OVN: Make periodic RAs consistent with RA responder. * OVN: Always send prefix option in RAs * OVN: Use offset instead of pointer into ofpbuf * ofproto: fix the bug of bucket counter is not updated * netdev-dpdk: Print netdev name for txq mapping. * dpif-netdev-perf: Fix millisecond stats precision with slower TSC. * ifupdown.sh: Add missing "--may-exist" option * dpif-netdev-perf: Fix double update of perf histograms. * dpdk: Stop dumping memzones to stdout. * dpctl: Drop parser debug information. * netdev-tc-offloads: Properly get the block id on flow del/get * netdev-tc-offloads: Improve log message for icmpv6 offload not supported * conntrack: Replace structure copy by memcpy(). * conntrack: Lookup only 'UNNAT conns' in 'nat_clean()'. * conntrack: Fix race for NAT cleanup. * ovn-nbctl: Don't segfault when ovn-northd doesn't configure dynamic addresses. * datapath-windows: Add annotations to find vport functions * datapath-windows: Guard vport usage in user.c * datapath-windows: Fix potential deadlock in event subscription * datapath-windows: Fix race condition during port creation * datapath-windows: Fix nbl cleanup when memory allocation fails * netdev-linux: Remove ingress qdisc before trying to add shared block * netdev-tc-offloads: Remove ingress qdisc on tc init flow api * ovsdb-idl: Fix memory leak of idl->remote. * travis: Remove 'sudo' configuration. * OVN: Add port addresses to IPAM after all ports are joined. * dpif-netlink: Free leaked ofpbuf by using ofpbuf_delete * OVN: update RA next_announce according to {min, max}_interval * rconn: Avoid occasional immediate connection failures. * dpdk: Fix case-sensitivity of dpdk-init knob. * NEWS: Clean up the 2.11.0 release notes a bit. * conntrack: Fix L4 csum for V6 extension hdr pkts. * packets: Change return type for 'packet_csum_upperlayer6()'. * ovsdb-client: Fix typo. * ovn-nbctl: Daemon mode should retry when IDL connection lost. * ofctl: break the loop if ovs_pcap_read returns error * netlink: added check to prevent netlink attribute overflow- Disable dpdk on ix86, aligned with dpdk package.- Combine %service_* calls to reduce generated boilerplate. - Reduce scriptlets' hard dependency on systemd.- Version bump to 2.11.0. Some of the changes are: * Linux datapath: - Support for the kernel versions 4.16.x and 4.17.x. - Support for the kernel versions 4.18.x * OpenFlow: - OFPMP_TABLE_FEATURES_REQUEST can now modify table features. * ovs-ofctl: - "mod-table" command can now change OpenFlow table names. * The environment variable OVS_SYSLOG_METHOD, if set, is now used as the default syslog method. * The environment variable OVS_CTL_TIMEOUT, if set, is now used as the default timeout for control utilities. * ovn: - OVN-SB schema changed: duplicated IP with same Encapsulation type is not allowed any more. Please refer to Documentation/intro/install/ovn-upgrades.rst for the instructions in case there are problems encountered when upgrading from an earlier version. - New support for IPSEC encrypted tunnels between hypervisors. - ovn-ctl: allow passing user:group ids to the OVN daemons. - IPAM/MACAM: * add the capability to dynamically assign just L2 addresses * add the capability to specify a static ip address and get the L2 one allocated dynamically using the following syntax: ovn-nbctl lsp-set-addresses "dynamic " * DPDK: - Add support for DPDK 18.11 - Add support for port representors. * Userspace datapath: - Add option for simple round-robin based Rxq to PMD assignment. It can be set with pmd-rxq-assign. - Add support for Auto load balancing of PMDs (experimental) - Added new per-port configurable option to manage EMC: 'other_config:emc-enable'. * Add 'symmetric_l3' hash function. * OVS now honors 'updelay' and 'downdelay' for bonds with LACP configured. * ovs-vswitchd: - New configuration option "offload-rebalance", that enables dynamic rebalancing of offloaded flows. * The environment variable OVS_RESOLV_CONF, if set, is now used as the DNS server configuration file. * RHEL packaging: - OVN packages are split from OVS packages. A new spec file - ovn-fedora.spec.in is added to generate OVN packages. - Revisit DISABLE_RESTART_ON_UPDATE and DISABLE_STOP_ON_REMOVAL options (bsc#1117483). DISABLE_STOP_ON_REMOVAL is removed. DISABLE_RESTART_ON_UPDATE is replaced by '%service_del_postun -n'. $FIRST_ARG is replaced by $1. - Add extra openvswitch headers (bsc#1125897).- Obsolete old python[2]-openvswitch-test subpackages (bsc#1124435).- Fixed package name libopenvswitch-2_10-0 to libopenvswitch-2_11-0- Version bump to 2.11.0+git20190123.ad83fc9ab. Some of the changes are: * Linux datapath: - Support for the kernel versions 4.16.x and 4.17.x. * OpenFlow: - OFPMP_TABLE_FEATURES_REQUEST can now modify table features. * ovs-ofctl: - "mod-table" command can now change OpenFlow table names. * The environment variable OVS_SYSLOG_METHOD, if set, is now used as the default syslog method. * The environment variable OVS_CTL_TIMEOUT, if set, is now used as the default timeout for control utilities. * ovn: - OVN-SB schema changed: duplicated IP with same Encapsulation type is not allowed any more. Please refer to Documentation/intro/install/ovn-upgrades.rst for the instructions in case there are problems encountered when upgrading from an earlier version. - New support for IPSEC encrypted tunnels between hypervisors. - ovn-ctl: allow passing user:group ids to the OVN daemons. - IPAM/MACAM: * add the capability to dynamically assign just L2 addresses * add the capability to specify a static ip address and get the L2 one allocated dynamically using the following syntax: ovn-nbctl lsp-set-addresses "dynamic " * DPDK: - Add support for DPDK 18.11 - Add support for port representors. * Userspace datapath: - Add option for simple round-robin based Rxq to PMD assignment. It can be set with pmd-rxq-assign. - Add support for Auto load balancing of PMDs (experimental) - Added new per-port configurable option to manage EMC: 'other_config:emc-enable'. * Add 'symmetric_l3' hash function. * OVS now honors 'updelay' and 'downdelay' for bonds with LACP configured. * ovs-vswitchd: - New configuration option "offload-rebalance", that enables dynamic rebalancing of offloaded flows. * The environment variable OVS_RESOLV_CONF, if set, is now used as the DNS server configuration file. * RHEL packaging: - OVN packages are split from OVS packages. A new spec file - ovn-fedora.spec.in is added to generate OVN packages. - Remove upstreamed patch: * 0001-python-c-ext-Fix-memory-leak-in-Parser_finish.patch - Remove DISABLE_RESTART_ON_UPDATE and DISABLE_STOP_ON_REMOVAL options (bsc#1117483).- python2-ovs provides now also python-ovs which is the standard for singlespec python packages.- Backport upstream fix for python json parser memory leak (bsc#1116437) * 0001-python-c-ext-Fix-memory-leak-in-Parser_finish.patch- Improve python packaging (bsc#1115085) * Rename python*-openvswitch subpackages to python*-ovs to follow the openSUSE policy that packages should be named after the modules they install. * Build the JSON C bindings and as a result the 'noarch' BuildArch needs to be removed. * Drop the python*-openvswitch-test packages and merge them with the test subpackage * Build the python bindings using setuptools * Include the egg-info package. * Use libopenvswitch as dependency to python bindings- Version bump to 2.10.1. Some of the changes are: * dpif-netdev.at: Add missing backslash. * ofproto-dpif-xlate: Avoid deadlock on multicast snooping recursion. * dpif-netdev-perf: Print SMC statistics. * dpif-netdev-unixctl: Change 'masked' to 'megaflow'. * ovn-controller: Support processing DHCPv6 information request message type * ovn-ctl: Fix the wrong pidfile argument passed to ovsdb-servers * ovndb-servers.ocf: Add ssl support for managing OVN DB resources with pacemaker using LB VIP. * ovn-ctl: Allow passing ssl certs when starting OVN DBs in ssl mode. * expr: Disallow < <= >= > comparisons against empty value set. * expr: Set a limit on the depth of nested parentheses * ovn: Fix IPv6 DAD failure for container ports * dpif-netdev: Add vlan to mask for flow_put operation. * ovs-save: Parse geneve tlv map correctly. * extend-table: Fix a bug that iterates wrong table * odp-util: Fix a use-after-free bug. * ofp-packet: Fix NXT_RESUME with geneve tunnel metadata * dpif-netlink: Fix null pointer. * ofproto-dpif-xlate.c: Fix uninitialized variable warning. * dpif: Remove support for multiple queues per port. * dpif-netlink: don't allocate per thread netlink sockets * ovsdb-types: Refactor structs so as to comply with C++ standard * bfd: Make the tp_dst masking megaflow-friendly. * ovsdb-data: Improve grammar in error message. * condition: Reject <, <=, >=, > with optional scalar against empty set. * condition: Fix ==, !=, includes, excludes on optional scalars. * netdev: Properly clear 'details' when iterating in NETDEV_QOS_FOR_EACH. * lex: Fix buffer overrun parsing overlong hexadecimal constants. * sflow: Set agent address properly based on collector address. * ovsdb-client: Fix a bug that uses wrong index * ofproto: Fix build with some GCC versions. * ofproto-dpif-xlate: Fix conntrack fields on NXT_RESUME * ofproto: Handle OpenFlow version mismatch for requestforward with groups. * ovs-save: save and restore groups on restart * sparse: check if floatn-common.h is available. * flow: Fix uninitialized flow fields in IPv6 error case. * ofproto-dpif: Fix NXT_RESUME flow stats * ovn: Add the documentation for the DHCP opt 'wpad' in proper section * meta-flow: Make "nw_frag" a synonym for "ip_frag". * gre: Rename fallback devices to avoid udev's interference * ovsdb-server: Alleviate the possible data loss in an active/standby setup * ovsdb-idlc: Use ALIGNED_CAST to avoid spurious warnings for index rows. * ofproto-dpif-xlate: Fix translation of groups with no buckets. * ovn: Add DHCP support for option 252. * ofp-port: Don't leak on error in ofputil_pull_ofp14_port_stats(). * ofp-print: Fix a memory leak reported by fuzz * ovs-save: Don't always include the default flow during restore * lib/tc: treat vlan id and prio as independent fields * odp-util: Don't attempt to write IPv6 flow label bits that don't exist. * lib/tc: reject offloading of non-Ethernet packets * dhparams: Fix .c file generation with OpenSSL >= 1.1.1-pre9 * ovs-ctl: Allow add-remote without vswitchd started. * system-traffic: Fix conntrack per zone limit test. * erspan: set erspan_ver to 1 by default when adding an erspan dev * ovn.at: Skip ACL rate-limiting test on slow/overloaded systems. * daemon-unix: Use same name for original or restarted children. * dpif-netdev: Prevent unsafe access when retrieving meter stats. * utilities: Drop shebang from bash completion script * ofp-actions: Re-fix error path for parsing OpenFlow actions. * nx-match: Avoid double-free on some error paths. * netdev-dpdk: Support the link speed of XL710 * ovn-northd: Support learning neighbor from ARP request. * ovn-northd: LR respond ARP from valid subnet only. * ovn: Fix the issue in IPv6 Neigh Solicitation responder for router IPs * dpctl: Fix memory leak in dp_exists(). * ofproto-dpif: Check for EBUSY as well * tunnel, tests: Sort flow output in ERSPAN v1/v2 metadata * erspan: add big endian bit fields.- Use correct user for logrotate script (bsc#1104049, b096fa42ddc2)- Fix package name for shared library.- Version bump to 2.10.0. Some of the changes are: * ovs-vswitchd and utilities now support DNS names in OpenFlow and OVSDB remotes. * ovs-vswitchd: - New options --l7 and --l7-len to "ofproto/trace" command. - Previous versions gave OpenFlow tables default names of the form "table#". These are not helpful names for the purpose of accepting and displaying table names, so now tables by default have no names. - The "null" interface type, deprecated since 2013, has been removed. - Add minimum network namespace support for Linux. - New command "lacp/show-stats" * ovs-ofctl: - ovs-ofctl now accepts and display table names in place of numbers. By default it always accepts names and in interactive use it displays them; use --names or --no-names to override. See ovs-ofctl(8) for details. * ovs-vsctl: New commands "add-bond-iface" and "del-bond-iface". * ovs-dpctl: - New commands "ct-set-limits", "ct-del-limits", and "ct-get-limits". * OpenFlow: - OFPT_ROLE_STATUS is now available in OpenFlow 1.3. - OpenFlow 1.5 extensible statistics (OXS) now implemented. - New OpenFlow 1.0 extensions for group support. - Default selection method for select groups is now dp_hash with improved accuracy. * ovn: - Implemented icmp4/icmp6/tcp_reset actions in order to drop the packet and reply with a RST for TCP or ICMPv4/ICMPv6 unreachable message for other IPv4/IPv6-based protocols whenever a reject ACL rule is hit. - ACL match conditions can now match on Port_Groups as well as address sets that are automatically generated by Port_Groups. ACLs can be applied directly to Port_Groups as well. - ovn-nbctl can now run as a daemon (long-lived, background process). See ovn-nbctl(8) for details. * DPDK: - New 'check-dpdk' Makefile target to run a new system testsuite. See Testing topic for the details. - Add LSC interrupt support for DPDK physical devices. - Allow init to fail and record DPDK status/version in OVS database. - Add experimental flow hardware offload support - Support both shared and per port mempools for DPDK devices. * Userspace datapath: - Commands ovs-appctl dpif-netdev/pmd-*-show can now work on a single PMD - Detailed PMD performance metrics available with new command ovs-appctl dpif-netdev/pmd-perf-show - Supervision of PMD performance metrics and logging of suspicious iterations - Add signature match cache (SMC) as experimental feature. When turned on, it improves throughput when traffic has many more flows than EMC size. * ERSPAN: - Implemented ERSPAN protocol (draft-foschiano-erspan-00.txt) for both kernel datapath and userspace datapath. - Added port-based and flow-based ERSPAN tunnel port support, added OpenFlow rules matching ERSPAN fields. See ovs-fields(7).- Fix conditional to only include vfio udev rules when building with DPDK support - Exclude %_docdir from main package which seems to be packaged by default on older openSUSE releases.- Restrict DPDK version to 18.02 since Open vSwitch 2.9 is not going to work with any newer releases.- Version bump to 2.9.2. Some of the changes are: * OVSDB has new, experimental support for database clustering: - New high-level documentation in ovsdb(7). - New file format documentation for developers in ovsdb(5). - Protocol documentation moved from ovsdb-server(1) to ovsdb-server(7). - ovsdb-server now supports online schema conversion via "ovsdb-client convert". - ovsdb-server now always hosts a built-in database named _Server. See ovsdb-server(5) for more details. - ovsdb-client: New "get-schema-cksum", "query", "backup", "restore", and "wait" commands. New --timeout option. - ovsdb-tool: New "create-cluster", "join-cluster", "db-cid", "db-sid", "db-local-address", "db-is-clustered", "db-is-standalone", "db-name", "schema-name", "compare-versions", and "check-cluster" commands. - ovsdb-server: New ovs-appctl commands for managing clusters. - ovs-sandbox: New support for clustered databases. * OVN: - ovn-sbctl, ovn-nbctl: New options --leader-only, --no-leader-only. * Bug fixes - Use openvswitch user/group for the log directory (3f556d66edb9)- Add support for RedHat distributions. All SUSE macros are now conditional and the spec file has been adapted based on the upstream one (fate#324537) - spec-cleaner fixes- Move openvswitch user/group creation to %pre scriptlet. The default ownership of the configuration files expects the user and group to be available as early as possible (bsc#1091408) - spec-cleaner fixes.- Preserve 'enable' status of openvswitch.service file when upgrading from naming scheme is broken, and as such a device will not be available for use until a valid dpdk-devargs is specified. - Virtual DPDK Poll Mode Driver (vdev PMD) support. * For the complete list of changes, please see: - http://openvswitch.org/releases/NEWS-2.7.0 - Add patch to fix DPDK configuration migration for < 2.6 installations * 0001-utilities-Add-script-to-support-DPDK-option-migratio.patch - Rework spec file * Enable DPDK by default and drop openvswitch-dpdk* packages. DPDK is only enabled on supported architectures though. - Remove openvswitch-dpdk.changes - Remove openvswitch-dpdk.spec - Remove pre_checkin.sh * Merge openvswitch and openvswitch-switch into a single package since there was no compelling reason to keep the switch functionality in a separate subpackage. * Split OVN package to ovn-common, ovn-central, ovn-docker, ovn-host and ovn-controller similar to the Debian and RedHat packages.- Relax the DPDK dependency a bit so we can support stable and possibly new minor releases as well.- Do not restart the openvswitch service after a package update. Restarting the systemd service may break connectivity so let the user decide when it is the best time for such an action. (bsc#1002734)- Version bump to 2.6.1. Some of the changes are: * ovn: Do not reply to ARP or ND NS for a VM's own IP address. * ovs-ofctl: Tolerate differences in IPv6 formatting. * netdev-linux: double tagged packets should use 0x88a8 * expr: Fix abort when simplifying "x != 0/0". * dpif-netdev: Fix crash in dpif_netdev_execute(). * ovn-controller: Container can have connection to a hosting VM. * stream-ssl: Fix memory leak on error path. * Other bug fixes.- Version bump to 2.6.0. Some of the changes are: * First supported release of OVN. See ovn-architecture(7) for more details. * ovsdb-server: - New "monitor_cond" "monitor_cond_update" and "update2" extensions to RFC 7047. * OpenFlow: - OpenFlow 1.3+ bundles now expire after 10 seconds since the last time the bundle was either opened, modified, or closed. - OpenFlow 1.3 Extension 230, adding OpenFlow Bundles support, is now implemented. - OpenFlow 1.3+ bundles are now supported for group mods as well as flow mods and port mods. Both 'atomic' and 'ordered' bundle flags are supported for group mods as well as flow mods. - Internal OpenFlow rule representation for load and set-field actions is now much more memory efficient. For a complex flow table this can reduce rule memory consumption by 40%. - Bundles are now much more memory efficient than in OVS 2.5. Together with memory efficiency improvements in OpenFlow rule representation, the peak OVS resident memory use during a bundle commit for large complex set of flow mods can be only 25% of that in OVS 2.5 (4x lower). - OpenFlow 1.1+ OFPT_QUEUE_GET_CONFIG_REQUEST now supports OFPP_ANY. - OpenFlow 1.4+ OFPMP_QUEUE_DESC is now supported. - OpenFlow 1.4+ OFPT_TABLE_STATUS is now supported. - New property-based packet-in message format NXT_PACKET_IN2 with support for arbitrary user-provided data and for serializing flow table traversal into a continuation for later resumption. - New extension message NXT_SET_ASYNC_CONFIG2 to allow OpenFlow 1.4-like control over asynchronous messages in earlier versions of OpenFlow. - [...] - For a complete list of changes, please see http://openvswitch.org/releases/NEWS-2.6.0 - Remove obsolete patches and files * 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch * 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch * openvswitch-2.5.0-detect-dpdk-installation.patch * openvswitch-switch.logrotate * openvswitch.service- New upstream bugfix release 2.5.1 (bsc#1001657) * DPDK: - New appctl command 'dpif-netdev/pmd-rxq-show' to check the port/rxq assignment. - Type of log messages from PMD threads changed from INFO to DBG. * ovs-pki: Changed message digest algorithm from SHA-1 to SHA-512 because SHA-1 is no longer secure and some operating systems have started to disable it in OpenSSL. * Bug fixes- Add new DPDK_OPTIONS environment variable to hold the dpdk vswitchd options so that the systemd unit files can be used to launch an ovs-vswitcd DPDK capable instance instead of doing it manually. (bsc#987265) * 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch- enable openvswitch-dpdk on aarch64 since dpdk builds on aarch64 now- remove aarch from openvswitch-dpdk until we have a dpdk that builds for aarch64- Add missing licenses (bsc#988513) - Misc spec file cleanups highlighted by the spec-cleaner tool. - Allow aarch64 builds for openvswitch-dpdk- Allow the OvS daemon to run as non-root (bsc#987545) - Add missing 'Conflicts' statements to all the subpackages as required by the Factory review tools.- Remove the ?_with_dpdk macro usage since this is not being set without explicitly passing --with/--without during an OBS build. This reverts back to using the %{with dpdk} style which is set automatically based on %bcond_with* macros (bsc#989335).- Fix subpackage dependencies to not require the non-existent python DPDK subpackages (bsc#986835). We do not provide DPDK versions of the python bindings so nothing should depend on these subpackages.- Update rpm groups, acronym forms.- Multiple fixes for the openvswitch-dpdk package (bsc#985878) * Rename main package name to openvswitch-dpdk * Do not build the python and kmp packages since they do not depend on the DPDK capabilities * Remove the open_virtual_switch capability. The openvswitch-common will be used by reverse dependencies to require either of the OvS packages. * Provide virtual capabilities for all DPDK subpackages. * Fix the dependencies in the python package to require either of the OvS packages. * Suggest the kmp package only if it's actually provided. * Small cleanups.- Add %check directive to run the openvswitch testsuite on demand. The openvswitch contains hundreds of tests covering simple and complex openvswitch configuration so it's beneficial to run them during package builds. However, running the testsuite is not enabled by default. Also add the following upstream patch: * 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch- Build a DPDK-enabled Open vSwitch (fate#319170) * Apply the following changes to the openvswitch.spec file - Add support for building with DPDK capabilities - Add conflicts between the two packages. - Add new 'open_virtual_switch-*' capabilities for openvswitch, openvswitch-switch, openvswitch-test packages which can be used by reverse dependencies to select between the two openvswitch implementations. * Add pre_checkin.sh to generate the openvswitch_dpdk.spec file based on the openvswitch.spec one. * Add upstream openvswitch-2.5.0-detect-dpdk-installation.patch patch to detect and link against a DPDK installation.- Keep %prep small for speedier `quilt setup`. Kill __DATE__ from source. Drop all .la files that are in %_libdir.- Add missing %dir directive for /var/log/openvswitch- remove aarch64 conditional, no longer needed- Multiple spec file and package fixes. * Drop obsolete log-check-module-loop.patch patch. * Drop conditional code for older openSUSE releases. This also removes all of the sysvinit files which were pulled in when the package was originally developed. * Drop support for building the GUI. The GUI code has been removed in 7868fbc6c97c2 ("ovsdbmonitor: Remove.") upstream commit and it does not exist since v2.2.0 so drop the code in the spec file. * Use the upstream systemd service files for the OVN components instead of maintaining our own downstream. * Drop the unofficial ipsec support. It hasn't been enabled in years. * Drop support for building the upstream kernel module since it's being shipped with the kernel package in latest releases. Restore the %bcond_with kmp to make it easier to build the external kernel module if needed. * Fix some suse-missing-rclink rpmlint warnings for the ovn subpackage * Base our service unit to the upstream one. * Stop silently enabling the GRE protocol in iptables by default. * Install the upstream sysconfig file to pass more information to the openvswitch service unit. * Use make install instead of %makeinstall * Drop brcompat leftovers. * spec-cleaner fixes- address dimstars concerns- Prevent systemd from autogenerating a service file for openvswitch-switch which conflicts with the opevswitch one. (bsc#966762)- Add missing %defattr to ovn files section.- Add additional install requirements for python-openvswitch-test package.- Add support for building both 2.4.0 and 2.5.0 from the same spec file. Needed to fix SLE11 builds as OVS-2.5.0 no longer supports python < 2.7. SLE11 SP3 and SP4 use python 2.6. - Added: openvswitch-2.4.0.tar.gz- New upstream version 2.5.0 (LTS) - Dropped support for Python older than version 2.7. As a consequence, using Open vSwitch 2.5 or later on XenServer 6.5 or earlier (which have Python 2.4) requires first installing Python 2.7. - OpenFlow: * Group chaining (where one OpenFlow group triggers another) is now supported. * OpenFlow 1.4+ "importance" is now considered for flow eviction. * OpenFlow 1.4+ OFPTC_EVICTION is now implemented. * OpenFlow 1.4+ OFPTC_VACANCY_EVENTS is now implemented. * OpenFlow 1.4+ OFPMP_TABLE_DESC is now implemented. * Allow modifying the ICMPv4/ICMPv6 type and code fields. * OpenFlow 1.4+ OFPT_SET_ASYNC_CONFIG and OFPT_GET_ASYNC_CONFIG are now implemented. - ovs-ofctl: * New "out_group" keyword for OpenFlow 1.1+ matching on output group. - Tunnels: * Geneve tunnels can now match and set options and the OAM bit. * The nonstandard GRE64 tunnel extension has been dropped. - Support Multicast Listener Discovery (MLDv1 and MLDv2). - Add 'symmetric_l3l4' and 'symmetric_l3l4+udp' hash functions. - sFlow agent now reports tunnel and MPLS structures. - New 'check-system-userspace', 'check-kmod' and 'check-kernel' Makefile targets to run a new system testsuite. These tests can be run inside a Vagrant box. See INSTALL.md for details - Mark --syslog-target argument as deprecated. It will be removed in the next OVS release. - Added --user option to all daemons - Add support for connection tracking through the new "ct" action and "ct_state"/"ct_zone"/"ct_mark"/"ct_label" match fields. Only available on Linux kernels with the connection tracking module loaded. - Add experimental version of OVN. OVN, the Open Virtual Network, is a system to support virtual network abstraction. OVN complements the existing capabilities of OVS to add native support for virtual network abstractions, such as virtual L2 and L3 overlays and security groups. - RHEL packaging: * DPDK ports may now be created via network scripts (see README.RHEL). - DPDK: * Requires DPDK 2.2 * Added multiqueue support to vhost-user * Note: QEMU 2.5+ required for multiqueue support - SELinux: * Introduced SELinux policy package. - New package: openvswitch-ovn - Removed: openvswitch-2.4.0.tar.gg - Added: openvswitch-2.5.0.tar.gg - Added: openvswitch-testcontroller.init - Added: ovn-controller-vtep.service - Added: ovn-controller.service - Added: ovn-northd.service - TODO: Explicit DPDK support not yet added to spec. - Spec file work and cleanup. - Includes fixes (or obsoletes) the following issues: * bsc#948840, bsc#941466, bsc#936780, bnc#935750, bnc#867964- Tighten up openvswitch service ordering. bsc#968205 (openSUSE), bsc#951314 (SLE).- Don't install INSTALL.* files.- Removed: openvswitch-switch.template- New upstream version 2.4.0 - Flow table modifications are now atomic, meaning that each packet now sees a coherent version of the OpenFlow pipeline. For example, if a controller removes all flows with a single OpenFlow "flow_mod", no packet sees an intermediate version of the OpenFlow pipeline where only some of the flows have been deleted. - Added support for SFQ, FQ_CoDel and CoDel qdiscs. - Add bash command-line completion support for ovs-vsctl Please check utilities/ovs-command-compgen.INSTALL.md for how to use. - The MAC learning feature now includes per-port fairness to mitigate MAC flooding attacks. - New support for a "conjunctive match" OpenFlow extension, which allows constructing OpenFlow matches of the form "field1 in {a,b,c...} AND field2 in {d,e,f...}" and generalizations. For details, see documentation for the "conjunction" action in ovs-ofctl(8). - Add bash command-line completion support for ovs-appctl/ovs-dpctl/ ovs-ofctl/ovsdb-tool commands. Please check utilities/ovs-command-compgen.INSTALL.md for how to use. - The "learn" action supports a new flag "delete_learned" that causes the learned flows to be deleted when the flow with the "learn" action is deleted. - Basic support for the Geneve tunneling protocol. It is not yet possible to generate or match options. This is planned for a future release. The protocol is documented at http://tools.ietf.org/html/draft-gross-geneve-00 - The OVS database now reports controller rate limiting statistics. - sflow now exports information about LACP-based bonds, port names, and OpenFlow port numbers, as well as datapath performance counters. - ovs-dpctl functionality is now available for datapaths integrated into ovs-vswitchd, via ovs-appctl. Some existing ovs-appctl commands are now redundant and will be removed in a future release. See ovs-vswitchd(8) for details. - OpenFlow: * OpenFlow 1.4 bundles are now supported for flow mods and port mods. For flow mods, both 'atomic' and 'ordered' bundle flags are trivially supported, as all bundled messages are executed in the order they were added and all flow table modifications are now atomic to the datapath. Port mods may not appear in atomic bundles, as port status modifications are not atomic. * IPv6 flow label and neighbor discovery fields are now modifiable. * OpenFlow 1.5 extended registers are now supported. * The OpenFlow 1.5 actset_output field is now supported. * OpenFlow 1.5 Copy-Field action is now supported. * OpenFlow 1.5 masked Set-Field action is now supported. * OpenFlow 1.3+ table features requests are now supported (read-only). * Nicira extension "move" actions may now be included in action sets. * "resubmit" actions may now be included in action sets. The resubmit is executed last, and only if the action set has no "output" or "group" action. * OpenFlow 1.4+ flow "importance" is now maintained in the flow table. * A new Netronome extension to OpenFlow 1.5+ allows control over the fields hashed for OpenFlow select groups. See "selection_method" and related options in ovs-ofctl(8) for details. - ovs-ofctl has a new '--bundle' option that makes the flow mod commands ('add-flow', 'add-flows', 'mod-flows', 'del-flows', and 'replace-flows') use an OpenFlow 1.4 bundle to operate the modifications as a single atomic transaction. If any of the flow mods in a transaction fail, none of them are executed. All flow mods in a bundle appear to datapath lookups simultaneously. - ovs-ofctl 'add-flow' and 'add-flows' commands now accept arbitrary flow mods as an input by allowing the flow specification to start with an explicit 'add', 'modify', 'modify_strict', 'delete', or 'delete_strict' keyword. A missing keyword is treated as 'add', so this is fully backwards compatible. With the new '--bundle' option all the flow mods are executed as a single atomic transaction using an OpenFlow 1.4 bundle. - ovs-pki: Changed message digest algorithm from MD5 to SHA-1 because MD5 is no longer secure and some operating systems have started to disable it in OpenSSL. - ovsdb-server: New OVSDB protocol extension allows inequality tests on "optional scalar" columns. See ovsdb-server(1) for details. - ovs-vsctl now permits immutable columns in a new row to be modified in the same transaction that creates the row. - test-controller has been renamed ovs-testcontroller at request of users who find it useful for testing basic OpenFlow setups. It is still not a necessary or desirable part of most Open vSwitch deployments. - Support for travis-ci.org based continuous integration builds has been added. Build failures are reported to build@openvswitch.org. See INSTALL.md file for additional details. - Support for the Rapid Spanning Tree Protocol (IEEE 802.1D-2004). The implementation has been tested successfully against the Ixia Automated Network Validation Library (ANVL). - Stats are no longer updated on fake bond interface. - Keep active bond slave selection across OVS restart. - A simple wrapper script, 'ovs-docker', to integrate OVS with Docker containers. If and when there is a native integration of Open vSwitch with Docker, the wrapper script will be retired. - Added support for DPDK Tunneling. VXLAN, GRE, and Geneve are supported protocols. This is generic tunneling mechanism for userspace datapath. - Support for multicast snooping (IGMPv1, IGMPv2 and IGMPv3) - Support for Linux kernels up to 4.0.x - The documentation now use the term 'destination' to mean one of syslog, console or file for vlog logging instead of the previously used term 'facility'. - Support for VXLAN Group Policy extension - Initial support for the IETF Auto-Attach SPBM draft standard. This contains rudimentary support for the LLDP protocol as needed for Auto-Attach. - The default OpenFlow and OVSDB ports are now the IANA-assigned numbers. OpenFlow is 6653 and OVSDB is 6640. - Support for DPDK vHost. - Support for outer UDP checksums in Geneve and VXLAN. - The kernel vports with dependencies are no longer part of the overall openvswitch.ko but built and loaded automatically as individual kernel modules (vport-*.ko). - Support for STT tunneling. - Support to configure method (--syslog-method argument) that determines how daemons will talk with syslog. - Support for "ovs-appctl vlog/list-pattern" command that lets to query logging message format for each destination. - GRE64 and ipsec_gre64 tunnel protocol is deprecated and will be removed from OVS v2.5 release. * The openvswitch-testcontroller package is new. It reintroduces the simple OpenFlow controller that was packaged with Open vSwitch prior to version 2.1, at request of users who find it useful for testing basic OpenFlow setups. It is still not a necessary or desirable part of most Open vSwitch deployments. - Fixed: log-check-module-loop.patch to work with new version. - Removed: openvswitch-2.3.1.tar.gz - Added: openvswitch-2.4.0.tar.gz - Spec file work and cleanup.- Add calls to /sbin/ldconfig in %post and %postun - Fix typo in Url- new upstream version 2.3.1 - Compatibility with autoconf 2.63 (previously >=2.64) - ovs-pki: Changed message digest algorithm from MD5 to SHA-1 because MD5 is no longer secure and some operating systems have started to disable it in OpenSSL. - Keep active bond slave selection across OVS restart. * v2.3.0 - 14 Aug 2014 - OpenFlow 1.1, 1.2, and 1.3 are now enabled by default in ovs-vswitchd. - Linux kernel datapath now has an exact match cache optimizing the flow matching process. - Datapath flows now have partially wildcarded tranport port field matches. This reduces userspace upcalls, but increases the number of different masks in the datapath. The kernel datapath exact match cache removes the overhead of matching the incoming packets with the larger number of masks, but when paired with an older kernel module, some workloads may perform worse with the new userspace. * v2.2.0 - Internal Release - Internal ports are no longer brought up by default, because it should be an administrator task to bring up devices as they are configured properly. - ovs-vsctl now reports when ovs-vswitchd fails to create a new port or bridge. - The "ovsdbmonitor" graphical tool has been removed, because it was poorly maintained and not widely used. - New "check-ryu" Makefile target for running Ryu tests for OpenFlow controllers against Open vSwitch. See INSTALL for details. - Added IPFIX support for SCTP flows and templates for ICMPv4/v6 flows. - Upon the receipt of a SIGHUP signal, ovs-vswitchd no longer reopens its log file (it will terminate instead). Please use 'ovs-appctl vlog/reopen' instead. - Support for Linux kernels up to 3.14. From Kernel 3.12 onwards OVS uses tunnel API for GRE and VXLAN. - Added experimental DPDK support. - Added support for custom vlog patterns in Python - removed datapath-Add-support-for-Linux-3.12.patch no more required - removed sle11-device-ops-backport.diff , not used before- fix rcX linkpython3-openvswitchh01-ch3d 1710256732  !"#$%&'((*+,-./0113456789:;<=>?@ABDEEGGIJKKMNOPQRSTUVWXYZ[\]^_`abcdefghijkkmnopqrstuv2.14.22.14.2-150400.24.23.12.14.2-150400.24.23.12.10.1  ovsovs-2.14.2-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtrequires.txttop_level.txt__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdaemon.cpython-36.opt-1.pycdaemon.cpython-36.pycdirs.cpython-36.opt-1.pycdirs.cpython-36.pycfatal_signal.cpython-36.opt-1.pycfatal_signal.cpython-36.pycfcntl_win.cpython-36.opt-1.pycfcntl_win.cpython-36.pycjson.cpython-36.opt-1.pycjson.cpython-36.pycjsonrpc.cpython-36.opt-1.pycjsonrpc.cpython-36.pycovsuuid.cpython-36.opt-1.pycovsuuid.cpython-36.pycpoller.cpython-36.opt-1.pycpoller.cpython-36.pycprocess.cpython-36.opt-1.pycprocess.cpython-36.pycreconnect.cpython-36.opt-1.pycreconnect.cpython-36.pycsocket_util.cpython-36.opt-1.pycsocket_util.cpython-36.pycstream.cpython-36.opt-1.pycstream.cpython-36.pyctimeval.cpython-36.opt-1.pyctimeval.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycversion.cpython-36.opt-1.pycversion.cpython-36.pycvlog.cpython-36.opt-1.pycvlog.cpython-36.pycwinutils.cpython-36.opt-1.pycwinutils.cpython-36.pyccompat__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycsortedcontainers__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycsorteddict.cpython-36.opt-1.pycsorteddict.cpython-36.pycsortedlist.cpython-36.opt-1.pycsortedlist.cpython-36.pycsortedset.cpython-36.opt-1.pycsortedset.cpython-36.pycsorteddict.pysortedlist.pysortedset.pydaemon.pydb__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyccustom_index.cpython-36.opt-1.pyccustom_index.cpython-36.pycdata.cpython-36.opt-1.pycdata.cpython-36.pycerror.cpython-36.opt-1.pycerror.cpython-36.pycidl.cpython-36.opt-1.pycidl.cpython-36.pycparser.cpython-36.opt-1.pycparser.cpython-36.pycschema.cpython-36.opt-1.pycschema.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pyccustom_index.pydata.pyerror.pyidl.pyparser.pyschema.pytypes.pydirs.pyfatal_signal.pyfcntl_win.pyjson.pyjsonrpc.pyovsuuid.pypoller.pyprocess.pyreconnect.pysocket_util.pystream.pytimeval.pyunixctl__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycclient.cpython-36.opt-1.pycclient.cpython-36.pycserver.cpython-36.opt-1.pycserver.cpython-36.pycclient.pyserver.pyutil.pyversion.pyvlog.pywinutils.py/usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/ovs-2.14.2-py3.6.egg-info//usr/lib64/python3.6/site-packages/ovs//usr/lib64/python3.6/site-packages/ovs/__pycache__//usr/lib64/python3.6/site-packages/ovs/compat//usr/lib64/python3.6/site-packages/ovs/compat/__pycache__//usr/lib64/python3.6/site-packages/ovs/compat/sortedcontainers//usr/lib64/python3.6/site-packages/ovs/compat/sortedcontainers/__pycache__//usr/lib64/python3.6/site-packages/ovs/db//usr/lib64/python3.6/site-packages/ovs/db/__pycache__//usr/lib64/python3.6/site-packages/ovs/unixctl//usr/lib64/python3.6/site-packages/ovs/unixctl/__pycache__/-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:32940/SUSE_SLE-15-SP4_Update/35c159eae922994aec18c3a4403dfc1b-openvswitch.SUSE_SLE-15-SP4_Updatedrpmxz5x86_64-suse-linuxdirectoryASCII textpython 3.6 byte-compiledemptyPython script, ASCII text executablePython script text executable Python script, ASCII text executable  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR+}V-jx2utf-80cf7f6fcaeffe042e7c1bd7988ff10ee2d7fe5c30bf34311949bb27b8d4ecf21?7zXZ !t/b.]"k%pa érn| 4e'Zc#Na!_$G$N6$R}>X%qvarz6RWS:RQa/\64> ckuF=EЁd~,gp eK'Z`cr{dfV8@}5ݎ vبߐH)٨#j#׀&[\ 4E&!2BRIZקCf!OahefVC "@]dvmB&RS-WGF5Xo{!@ &nNHYa1+ t4[ niŏjv$"Pl׭~'T1X/$aܕ1&+: _TI AZHB&`Eq$DeS夣ZJhR ѭZ3LSz0JfƖ˹rG:R)!c,uާ%9 |`gryhm7ɘr8&|K@Bʷaj,C5 ~X%QgS">/'1gaZF>*L*<5j\3cD΀Qǡ3|EM>N~[|0C¶q~zIЩ! d$X̝3a9 LF"y2-ky[eH]+;h<4ufXY낡w3.Y1gU ؖO2IDT+x(a΋ql9e至W;' sNz-|}$-#QZj%fڸRl+ fr +#G9N!"a%@h3%^'ӆYϣ0춨\"6%,`3kQ.a|f-7,xH<"B}f3ޚ8iTݹBHUuv )G z9m/jȎəTigtGְF@: wCGF8Hl˯ة4ȳE?.QRC&qIଽC %ST 3 o8HZ )RMf\Ђ,yꊏXH"TNAK?Xj;O*,T]P-޽][ni(@׿+>Si~z:l0=@(EnA9aUn.*K@/ՄiJ~kUV{Cgթ]@OCbu%{;]o5\ɖ?U tySձОRcGEœ 6Ѐc)N'š۾i/׉&`S6hr(IB k#6ai|+? r~kZPp$uN.Vb1 }ϴið3`(|NF]mM~*q:E,w*οme]ˮBԏP Kܢ\GD W[=[Tβ.?렱1_y㡬 a.);NlLe\A#@XfGCY+E-܎s Zq\l۬*9pŅhMQAyL%*sϷYJvC% +:gtҗN5?D\Zխifzlu2B$gJM!f76n@C.Vg] ªxd=v:_tZ"6 t#X*‡om|K-8}ee;DrA_/-qP7\6zǡbwD ߇kN|Q xT1) ;P)EJ_DNr$σan/Y>Wf&ӝsvHP1Q:Tca&(q%hEO400p4Vi4kS:4 ӏ Ӌ[{Kk '!h܀Y~Y[y]#W!V$dgW*>K`}\yAҗ`lż\#y||w'Z"Q&5X"up1*-'E/9 9 |D$aAq9.FnA pԮdXYqcYڑ+j9r_G]ٛ埠 Kk;|0U􃲶o ZBq5%|n|pY@}^LGwdFtcVN|) -Ib~#7ރ DK\y's -ɾez7SϮgo_#4;w“I+?@$9z HHxMW "_qz}*' vbG)7gJpo>05MGvvCѰeŔi M#t1.Ha} k4 S>w933N2?T9/ۮ|?"?ݰl`Gr">b,DΈ95Ag1F>.:!H \:xF !'dy ff;$~^_ ㈼on9 |dјсm f(!PnX^&H‚CA'(Nա"LNXɾ'֖XU2a:Cŗ.P$M;RGɵ z!Z W\p9s+8$$Y"J&WN]KV&Yi8j%)^S=@9 {ZN޻a37Zb7 o~^V`Lm;FDI36UN$[-K|x{WwA*9@ahsmjD&l#J˼K?8;xax (L~KBjUF܁>;u[JW sC{dVBZ[Y4LSQ+E* Uo//'\»Gs·xItft} õ]= ae5KiIJw.ih^"-H lt>]ءq2D'Σh9j6 k9ږDGH}G1to?P_6eu`NZJe֗UO bts-O+cl$1/zf/0# K]i 0xG ҟhE\c TUPKy#̥Y`KND* 欶*&`D$O@@Gӵx`A0(S;s3\" W;6`\"\ +YBv2𒹀8ast4A~#I.w%;&oCy,W kS qw y{R%0!6 L,:*ŨN}9lЖg[DacC)w)ʖ :*㵅@pzX;]`S6|(l#ao?DU^ZSH/KU(9g -tcG.~ϗYm6ȜWĿ4wz̎tM5?C:r; so9qv/>o4#0t@Lh:ĔCG[R{u9$z vT/,'Kө'6Eœgn]TC?D.Pt`@G֘<$V5=QhPI̅ ;xu xji}`NwB=:wmy.+-c$٣U]$տkN>T6SF#Z/ThW)`9mVLK~T kP <1wӻL X@/3L/_ y[ˈQ?. mj|kOWu:bVufIP Ҵy3eNϜ޲ÞQW)TʥlӿI"67tAv5)i>M۔OpG'4)!c I%xS}A.<ßvRAp;$koF%e%[:J\nwًhe)AzKY08b]ݽ"A .O\SZ| rk-ˏfd -%ܟd-HDwRwo:t$? aW<榼3]n9/hYhF\'6jW%:B[ߋi &oҽuSEuES@ir $غni׿GKJF\)6 dҿ~;g&<|*$Vm Νwʉ=K V f(|peQriq^{HIEh]9gLmKJĂ:%ڋ3bqL\İt\VbI^B[v,G4IsS[ AHcW 4yb^ήRNģ9 @#XIQ`DlV)*Х&A,7MZKGc_K__u'wXONm;_[WR2Fuc@-p\{239EĦm\ -Xa -xP6_j!K, N{(pńx[/.nI|*OOew- ϘC"qL#]G5Fa9[v31NLw lץqw|^bVn>{`vyǸHQIu8(<;]b'aavE 6)i`&8`-ڄ A-[exs3 }uQG%?Dٝf܎FDI_lقjS* '3 T l g #!G+ }Fմcf +Sظ`,Q;vdJa "޿V3?ǶsӂQӔ-A"LkGu1 ֑: ~!d@8 N_Sp*1$~J oI, aLZ"9HGpvM6v_ҡ`Sf\ځN_y:KgM EH,iȝD}ց GX[>|iA>^ 7ObT\'ѭ8ep%*?niN2@b6ɣ\ϴ| { /\(UhEI)=:\}y(kMe܇k"0Yyia\3IMKTɡYjg=G2o

_PFʤ_JF}zl$ ʋpI*j!'[qj^0W}WYg-~%ʅcv2貙=7 ,hm+>b6gb*>gHXpWQM,l܂MmF y|KQsWKV.RUJ_ˍIZxoγXqTmwe8Z,t܎ `3K֧\ԛS];c2fܹ󆳹2Q!Щ: MDχ mQ6^e{wV]D\M=^$]Q5< $x1c͗P|jh)I%U^a良;rrե;X|-OQK+vy6Bg {{R2K,g-Yd6 z^?[^I!HQJїId3Ɯ;|e XHL֡:,\@*- Y$9!EkK8j4Z4\ V;³LbOHPzIc)e%30jx,Ne\ly@9L:1^)u mjo ;v$̪ZaEqN d@ |  B( JX.)ͨ"6\-2T5fOՇZSev7I,ϡG=j3i#f Zy *ձ9|6cEs:9)>&hŸBi|Ow Z_x.C[vy봨<NnjQ8%88'en"J@%~Vfyy)`b"3/L9&z2G8 ߥl=ߍU%j MT=3zM~99yp^2轭7D) .95~ảF? ;!n#Y V{[Li+(Mw!_ڡJz-Fffۣܲ32oQ'oy xVt1$$pwqhl .S t Z8gr GAAo@}RQwۖpڤWΚCW->mwdNW.f7N;3ߊӐD+1^5-vX4naM'f0COcw` N2Nr% ;j#ߚ2_zoqOXL˗ChDV=pc܏*ʷ{rPZ蛢eb_tU:C9k _Z1&^5=V e W X=LSN0,gQ,?1h}2{e*{`ώA/; 4dF vb֐*ݖFـ3ri@n`b?c@Si<;\& Nu%Ot 2+N)4@]t1vbV9% JٯQM[B)z>nj\4 :5꬜+ 6Zud YRNjzެ9D7ˍB ކ /i>g>9;*7":)thŭ5!z\a*8aԆb:t` cj 9QPvY@uٍz]rJiT|ѩ-)"63؀D >n17RVp2lrcd!we?ѐ# z ~^ gc8yݲwWgECzk;WkmP1hsϔ㐝ӭYwD%?~qTĈqʹGuS ^(?WKVM/LCXK~̅GJt[;OD2q* Q547+e7BvVV_g5+kp/IHuK*Kj .@q9'(P61#;Cत+|Q.q"w5bxj[0 lYN^ \k#~sLj∕fH p+] 9'P̠%Z}{*/KV!UIw2^~|&eeR`uނ|R8Ge[f NU!*A&-$5YX*^BÁn eCl]A[eG>̳Ͻ^!})?ϵDϯmfaƏ^ ~}TlX;f\nD]l"7vCSֺ=e@3(P#bP_bE4?`Ԃ܂3}س|31CJ!Kw Ȭs)I{+ɰ3*.H<J\qw̸9{]ߺ;o8}t6O.i gd%_Zzx?b"ZO6Ch@lzv\g8۩ݡB4Lbv``G90nP&>\Y`l~QSslP9l rւ4{smEuhP83U"Vq$mMnQH3 ͢((X!hn_F jW>{lrOFj<~w]ڸa߁6Qȼ$lG^o[fHLQUC-R|,䎥a. y6\Ɠ[N#+K|OGõ<~3FkM\nA>D:/(ުN ;ePt|@RXa:|D7|y6àBc<sL;opWe/ _%гj$X7o6Ubj)9%Xɍ!hh(xz&b`gSxb1Iaʾ%c4 QW2LvOńgF [ũ2|u~SA6,$V#J0DzbcO|7hw5TLn鹡U*UX#UyaITT)xt\kpzIZXU]i,וD[!~p* oܠ j~Ĩ[~7vwΎMro,o3nu@62U"$*Os2d</D%Ȕs%N~xO'! NǓM6S0zCT;?W75fiz[e}>J)W!hb!x /TK%-QR/ټ`"?{8 ,>-O IổW閰*B`,:k(%+i|Y>J mybzMwƀ\#Z]Ő^E*4>*e:7]b.YP$)M b(YG|իOcr,snQqjW2]ԁIh`ʀĻ4yٝe=Etq0&24S0(FӀ\s2D` X%F=YI־9۠ |Щ4 mG\KQ3Od=j~)Pd6#gx(F?He\-  [^L ow:٭LKK8R _Bv~UV]6~KO-t*_SX(h4ن}|h.Ȝ܉2XHUTuPF{ֻr49}d$Y{ƚ7gm!ח;{\64R\}[ɤtPZ 3%oP+*1ӤQW:whU!݌Tăk+-sKm`K.㌩{7+cyݲe쀪z"Q@1p},Ơ$:Se Wt,[zF@!Hd-` oġA {l54ntHCRQlS]y!cC S8_5}#M VCGo;q\z ?Vt});bhf7=&Kf $Nֱ`rlcК:C!ȟ~[<ͺMa2ȋ⾄cX|ҪW\CWޗ['mȊKtбc3E޴&}O_"]ݽ1EpAS(UrJ~aƺ7^FiҚwY-n~ W:K'd/Sd[ZE;4X|Pu5۴|Z#0ޑ묋>HVLUE- gSŢ ĭavt2H?JvB Sc8ݧ'sXiG'ݳHpe@m~X1L r\pp5?,"i|Ԯ8oW,*S՜ NeFڸڜA8)3)n&"AUJ]9M]V fv^Ǘ^@M"q㈪̿%K F=^B'>hj:fXn 4fش a_L|I˗.Ap47EgRJɦ~p U糍 )>Z#NeH5vӷU|Xhz LtNW^$|30\O9B柲dC;*A}F"mN7W5VNsA 1-@r SF^o[=2rYࢵA0;SNc~ʝQ@S)芻7$;'+,r'aHg&9Ml,#DnB#J~*|RBD|~$L[? vJN21nlzdE|=J aae+Iq-8,W1GSN7lj`ZIzGO&d7_R^&VjOfVU$Xjc?^E/[dfX1DaU3kuP#P!}8BEЗ Ns}gK!d…y7s-cdSDiɃV+T%5YZd6XAiqMcO?7mMsjKUR/GOQƫ8/Uw+qFS|OO:Θ^I<|d wF"1qm\CŽ"/:u@p ~a^KPu \XmFd\j-ߺN#~;uʈw%`of> t2 a5l){G l);h\ɂv1*ggv?GcO&K0\>jC0fR\#o/ɕe{0`X {:э5\ Xp;z3 m:!Kemۀ3NHAP!PNt͙<;|;LYHHYړ3lS۷k& ; %\8BMl7$ɴkQϢ~ǟ:1%!LoXx @2Ax{G}݂A׵m{:lHȟ4ՁԔZF+6qiҤOk8ˤ+ 1IpaXQ?J유7›5tsnT4߻rϬx.o[+c_hI-/<5w,x7sSk&I;Qpo֝Ӭ"Ü󀾡0v(c j 2>D=xEL#y<:uU6]NI>}JTuMTqvk9օW V]J 4 S7CrsHo'ah{`@2S0P{|:Ɖa@Q݀kkE;J{h YhC4N/,?ngmzdRp7WxXסEbqx5Be^3RW -XpǛ;qEE n>Q\Z{HRr!cB^Mg_>>EL˳]O26fU(`?-YH/'f}&vD<̓'5 XCr֔׹'Ν LkF|<Wu(ݾov8VSf^ - M0>P'{El]Qeѕ؛cCXš]&޻:}ܗm#.tgM< {NqMٜɝUZA#8!gKSEeRL1-E8Y`8yuXЧ`3x{.NzQ+9u.0JGXJYPA$ǬV%ӂڔZvhij4JDߎz=6] >NƫzÏXoH7_ɒ!LM0kžl˾ᡐ{y2)䎕첎|_=J.oe[އ#v@p0b*뒘,DvE.0DQ^\,Ǩ*ew VT`>|Ml4Lص3Χ x X3 _?Kj|O1;#Uk\%=)j6% e F9l>pBk2vU?3b_!x~UX LY'T:r)er0F jQ xq. 5`?Co$;WC AyY VIgEEj&4/HGBA o<ȘVzyh]K 8R0P-IכHh;.-3x^3 %u"%!B_Ki|lW8й$?|~x)9]v!Yzf,gNh W1  w{'bʟ(&?S=yMh[\^~IÍe!`1[ ep&g(`=\]P5o6{XA vԔ!Qep+j[[3k;:>)nj&;ٽl)3+͉P%iXYFsP, X=qXƣ黰٦}La*>AL) 2# =0+imk+90I-/Dij<\4D;>5NI-ޕ9z8=%7C2S!1'uwW4]b0!~/Dr>"+9^"QPO me)Ikg?ѵ7zc~MJ J>G箆ΠQK,-042ʶ89ĤBKZ18Ş"ʁ >hgVrx]J0 qk4I;T8?Kvj ~!+`{dR!X4J6rKD*K` 8͡(`<A(Mc֌ N8edBKW~`Zq x9e.3ˆfJRImI*Y>& U3 (9δ0f95SiS@UAr)$n 5l*ӕO^{1:0Aaa6=Ԑ0há|niǃ+vjLL}N$'(Hk3.\N)yʯwN[4K|rwI ;YG+Ѵ]( Clqt"gjGݠ涭mQpFbN*t%fhi K-K%XO 6kH8@} *"(t!$*R{|{`v_'/gъWOԢK< )7C}'-R=NI鈑_3X0]0d.;IF\*rME `\qR n7͏@~0RJ4 ݡ: oƗx`JZCJ.2R|wDY+ф%izv2\t͏lUyZV݂3͗"`xƮ<2`@][+e=^ B(Dry\ZFm`*† +ʥWm?T(ȵ#>[V!Vk} K '9;x\Y|A'&PEtu}I@ s5[ُhL:3Ӧ艝X_P﬜T޳{(iqy_tfM? 9ᄶ"G2r+eYYh֎dfZ+G`B =7#N1ͬإ&.$ŃځޢPiϵVyR/fvv[K8ў%,h&Qň0p) k'_ Zv`fn@G^;p =ե4Sh+KĀ,E.)(~9o1.MND%3JGVP /䞟z^H')wh tP9_C9Y<"D-t"^IS2g L9Gf˄+ʻ\&(jINߨ>O/[:u`lJ q[Dt[+ʌ5L. ?$yRA_/\gDZDnTN!V[3й%.'/wHyBYṕPdGӹ}S6/koQ?~H$&4kkCHM?GJLuO}vJ&2!!M|NA~>˟UdItdTrVF%x]lqZ~Y7NUe_%š;F2WM:+ :Q { 3(/l XJkuľbWΝƢoˏ< إ]V'XcH&C Q ܫr]PꨙkW!U,N\0ώBszmC];Ue WU2@M4ӫ S;`lU,YdʔJ`pKA7@^\1+:rL F -C )5أ⾨/;~ qN Ɋډ_P>|L @$N\/i[6nBۜ8(OBIb {_]5e/;#%Y˶NrV QGn_L^]ilN]pR .DJ !%+]DDYPBN u6VRЌ2/] xDmBpڟ 7{w LD u5+L7OSA@hٓZPzJDR DD"0jiR5pUjjo766[YZD&+)HDϼNN[瘼6!m)|G7o$'Tl^V11XC39,78Ey}p]r%9J3.vF&nv \ƛ04db`p (#<8U>8#HwD;-G8*KOpsuHNNԨϧ{P}֬$$v,AK>Th @{%NhGఋ/gK`{OQw\佃Hfo$v&8pd=H&G7n'nw"9Ɏz$W"6xL(_(Mmf)4Y>D~\CxTQҀ([F,[$8!XV`<:XxHod-b'TSO0v-H,K4n^P"P[0gY b֎L)vjpWu-?J &|Yq2ݦIjQvjdԱ:{P@ܖ!KS FzJ+"+|vV Vb.MzЗLn8]v;6uiV9 ePq!:ufhi=G\'/X &EJ,Vrf"ENJDDסp_3Vv h2kѭ'|JJ@ (hcF+Y39mgё~q0̼g!s4aHhbgxq\Xjm_?yCn [QFBҕqUB|Bui`3gbȤY←RiJmDaR<G;-5Ȁ -.E5C}u1y||]"9~vFP/Ue8K"Orq5o.]U'J JD$B"Kz&m|8U#=eLHƤ+,PcMwz_&TFKR Чd+,ɫ]hpC;984T7`nRɄOoD.LZen"R+w]#idy7T?}13YhtĀ+xw5׳һ3Wҝ+Sr=~r:>U' dxtW?DrkSo 4 6-|2Bp.y޴}yd4HU3tM$o[8GܖơpKaW`/9ߒSs:w$W>6rP뾘SSF?*CH fjRCZH.5io% Ad߲Ѷ80uorܪ &%5,0bws@N*:|Y8uݸ|Uh`(ⵄ^Q`cȻ9i"XX6Rz2ΤTBQmr%gi4grI|c*\6/7b5a4bBv Qxp:N j[!|g 9N=<+}7hY2:s9)tw=H*}U|[:Zy7W]]Y9| b@Ka\il<ndT 4 q\3ΈCƂs9T>[OaK{WPJw;^$4! |{ --C;{=S!҂^i^OZTo5>}DɪDV*GgCUa :HYvݞU+m|Sk`aSWsc4A i"҉owo>"bh3ڷz@#f[zE}F1*ȩO-lI" ;'ZTpsF\激% 1p#7#1_ G)EkBìՠafpgb. )&y~KCg/&ֽWia{9{y)Z73Y)";~Em YZ