openvswitch-devel-2.14.2-150400.24.23.1<>,PerUp9|/# \m\{NhhX|7c3^aom~ZAn M>A}?}d * M|  #)4p      O Q<UxZ``8dtee,e(e8e\9gT\:n \BRFRGRHVI[0X\@Y\\Z\[\\\]`^m bncodp&ep+fp.lp0upDvtwtxy,y}hz}}}}}Copenvswitch-devel2.14.2150400.24.23.1Development files for Open vSwitchDevel libraries and headers for Open vSwitch.erUh02-armsrv3SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Development/Libraries/C and C++http://openvswitch.org/linuxaarch64# P3NIn)5@9<&K+* *.= ~ l<k4Y,~W UY M*2* 0s99# r:rQrk-7 X2M t \(Y|;o #3 I S@4&(~UvFm[UL@-^ N0aG3X  T 6;!$>~$)N8-0'Q [4  a@!W X % WE!&  '%% C H   .); n*< * U yy'#BnL8([ T .RZv4G!qO n.q=4OKHJA큤A큤A큤AA큤A큤A큤erGerGerGerGerGerGerGerGerGerGerGerGerHerGerGerGerGerGerGerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerGerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerHerGerGerGerGerGerGerGerGerGerGerFerFerFerFerFerGerGerGerG904813c8078bc01f8a36974f95f21affdbfbda4d71846ef37ccbbe234a6110324271784cc979835a9f97532052f74db6306ce4f94b13d0c5b1d7ba7d6352df39de10c0c5bfd1ae16c4e9ab7a5f33608db6fba46aa295bbd1d7c132f0bce2eade8f882eca6713b1bd6786dbc4baccc499becf40ace89a10a5e5cbe56e718f8924179f04b61148324280e960fba3abb9661c3697971672ad768ba82e316a43a55167bca656cc1abf0b76dd3e3e002f04098a849e00ce3f1249b2bfbc4df29ea414da215fa66e48fc2a5c253f392ffd6d959b6621ad6a8621fefe6bf842d6da4dab193f7885404a8feff36ecb09bf496282b809adaec929bf16b59b7152378aff9601d1d77ac382501247ad59c07406ca7b84fe05329e2b04d6959d21e78390f37a357ab39008ce3a063da4a09050235cffb3c09a20bffdd43bf43389ffd27f3da7fd9f783ff0481fc679e7d305d02a48fbb5b8554ac62b3b7330678bc51f494c00dfec2338087062b2773b0a760ed03937afb3a262a522f15461634fc794d459c2a44e32644d49d00b3c8e4d090e7d8e4ca8d067a2807089a841b565a0445526505739c2a89dff2defcbb2ece644dfccbef5c698b25449428ee1d4de9b5d18a868f856ef10590a46d3fb75da32f84f4a0072b8fe4e18a1750bc95a7888dfca0e6516b10bd1ff34b52e2da8c878f50fdec3eb112556bf3a5d567a6c3985d904276f99e00590f8fc4bd8dea6f0af9c95f143747f268a0db95631702ccdc4abf6c9ffa5c75caf22e25f137e86b24f6e2c19935934be02f723daa23f8d399a4781dce98cfa6994dbfdb3925a587be6bc22e6b413e835b6aa0ffcc3bfc473d58bf58878231040c6d8f75c660fe1c55f0e31e71506a01cc2270802459c7cc2b3f2a6ddc33aca175881dd80f6d419bcae9216393f3b0260a169f62fed664ca1e030a58fd458a3e221c737a219d0792817aa1e3d98a8226d51345e8d84c6b8391dff6271f3dbe496b9b5755b792134f5eb4c8e55c01493d9f1666aad9c1378b2adf38a7b66f9fe92625af301e0d35a943c92378e111b321d7cc733f71bc27c5e8022be3bb72f8de587abc010f7bb65d4543ae5e8ac2418c800b51dc2e23d6429e7f26ec494e795b51e53397c1813397b295c4b6abb006a8f436a2784a69b07eec1e8410d9ffc1cc5764c32664571c8fa059a40f0129a9179346eac1ce4add874c4953837641f3014c13a7c8d9c8aacccfa842a15747f0ca28cd8dfae9d264e60cbc400951b7832e341de58c49900c770172a2bf62b7915b0ae2157cdb2913c889ce51a031ba0ba9dc321f49fb438c03037926d5b87990e81a94d81469a34b56b296547b60d9200a08d2807380c72e2542563b97d35fa65dda4a48c3b719af8e74bc18bcd7b3c256667d691e7bdb652a6302d639a4689c62dc3e5235b8892c02f542a7deec304a0ac1ad6b319a17ae43909e05469da1e48384591cb9320a085c2ad58313207375d2a30e1453b604cb2940b2a54070b10cc55a23a40f9ea964c0c366bcac0147c015b859d65b35b789b03824e53b1b8bb5c8dff739099bb4224a4504c6c740282608f5c0f0ca9ec25ad559b177427a2f52a0776e3a8b156662b09d366a5623277724a4470dbf71ac4e1e258a22892245906a78c6be1401f2a9779d06bb04254f889912b383bcaac7f43b102acbc791306cd6871a3d8e3430b987127666bcf5b4c8b56993fe9209399f26b01f69fcc73f8d3f69722f9194efae77f61bc370a68f198d87109051c0ec152fa2fa5528bd9e3323eff15213a4309e5ae4032abbee7bed8fff69d2935a2901b8c7ae0c213734fc7aac8ca2eff0a7304c2124a2d77652503c2e4d843bfae433a4d6215c44cb92e31ed59dff33d7191b8c7887b13f53169f622dc44f91586714c306165bcf63a0da3ad5c0917869a0b67af0f5757b3ac45ff2f7f19cdaed60fb027b02a7df8ed5932ad85d72cc89ef2f7775c8b89e747691c4f587988f48434fcd41d61ef10e86573e2e457043b84de64608330257178ae3fa8c5b6971386109e1d682172ed2699555ee742833ce572193558009615bcf801172a1562af54ee6a4a43985f344bb513a3e11f7e90d1bf776606b900e833836de87856cb8b715d0fc6e20f7191e34a73630d648633005279a39fd98ec22278c944962622b88b30389a3900635d9e41d46e7b57a1efebae5f60a11964d0baf6c9221104df5f72f91db22b20242bb581cd06918bb9f376ae3203d004d9ef09b4d04ae110a9e230d821d96ee24a817b1069762208dce4589cd42b479819f68850f6b1bb6f9bd2bbd8dcb41a41883281a8074b094ef1ec44297b86b944b40f240196bc65b330a756237663029bf49527c8203b0178be9df2b288be34e2a54ddae5932d67c1d2562bd03c6d5020cb222dc3dc69ed67d88dfa3229f7fb73213dea135855dcead9255b275c20b8693edb462fd470a4389b562230371bac66d45dfa7ef8c199513086d946934b547e08701619aa6dffa4a880686cd59258dd49f04e203ff5d7c99dfc8753fb881c977e5274b1b6b2969730c72c866da58e877992d3264f2323c402b81bb5c8cd613f02cd367b11d6015a9eb3dade9a6a3e4bd7697f8ecbbeea05000f95263140cbd06a1e4db711ccef9423ef787b2eb3b6e594e21cdc6bab49cb7881f4483088a987906b4b9216ef9e9ee56c63088766232f5cfa4891347cdeddf990570d633ae3497cda1fd2c76c08d7ea8ddfa04f62610bce4f81db41f69e9f947e573f67a3eb84602d6a95d9ca68f6da07219bb70eb70b3311d0304bf5c930cf42745a658f86acf6f283cd29d0f11066dac50a0919d5fd58388c207c9c263d3c6add48ede65de72e708c7a82e89f0e41b3ac7a677aaa4e5d029c1c1aec002fd5ef367fc66b5c9bf31b5874f2d5cfeb42c40bb4168fbc6cf078647c8d2e98f0b5023922ab30bf4b68afb9b08fbb2e3ab19dea1e38d03f74c2fe1a8404b0c4b71083f6902f9f7514b85bd178519ca8172c63ff034153567f0d9ae2febe41a05414b6f8e25e89df2ab800aef29c7a4471d2f9a5f0b12a6d9dc20c51988446fc378b3d692c6da37a1b68635b0d4c2457f9b4b6efca304013f8e7316dd7940eeb48418a7af9b5cf4d554b7c50f916a7afb752678890e8829e6af096f2d6f48fb42f9e9f417a7672a02edee676c675a0b954a0371f8b2727d925f72b0e54cc2e9d0d2b46b4ef6245bab50beb32b403666e7644166e9023ad73c8f36a8ab6e76b84d05232152b6c0bcb669111036e7e594380c34bbc2d735c399e7c299d358600af8fc21d3dd0191e5d59337225a06031cf0b313c9a875e6ae72a079c1a5a1e882e92e91e56a8ccabff776a5a6e848f64ab485b10e6db9eb9535ea6047b062145d6f165a39665a933f25be9141705f187ff5a5506e0ff21fc2282169bb1a00cf6c3ed3bd993940e413b6aa750fb36200c0faf1e15697054af786e1a825fd3ea41f741611cf86d4a5e5171dd7572be71255953b4ed411a66a1bef550388a98ded59dc098c08496cfe90bd741804274e1c4d74f56bc6354de9552bd2f3b957b466fdfb346f7911e838daaaca3a5d0c955bc62bd517c2ccf00cae84d5d9e3eeb08906569170c3820ebd3a1f4b7be92b4130c42f4003202322f385472cddb2e40149c4bbfca774d301214f393aae208e394251cb1e06a2d819d6f2acd99f52e30ad9401b681b32a972e056aebf821f9fdf962f06605ce7c1eb5f219e6608768d44f3ef44e888277385a2b02b02d09bb039d852276aee889d74d882cb776c9064b420f2555795c4303e807b1ba67f2d4d0a1b05fb0f1bea31d906201042f73a16bec47a9237d3cea51e3ef9769e7ac61d8da395d1fbf7082e572db8c8a69cc4d401ca8ee25ccc42cc73f966ace3c79f68255b148551bf6068b2d9ab86bc9047e3088283140078a196657d513d8246d015726fd35caa8eaa22df57264f30ea166f6ad6c5500aa2ba18337f6164d619e15aac6f9cfc053adb3908075dc1d6d2ac8a1ad6f2094b032aad3be83fcc56b56cde391a012f13cad139b36bb098362c9158cb34432b7c62a242df7f54330dc667f8e7a0b6680bb1e3baeccc9d7de727472097ebb47154f510f7cce346081cd68ad46c560039c9feac6c753cddbc4502aaa85580d06646d2990ec10f02fe49eda1663cd932e3a45358fcc52b31117e1de9b80c99955b69fa80d39d45b5cdfab78370618197ed89ccd732950cfef1c233f2830a3fad198f40b502997c61be49150140706c7ec22d88c8ee0dc438102343cf5783d4cd1eac347ad024e816ee8d98b201959d27e174382642e365a966861d76e51ef0289cc3c6c9f072994a5a834b093b1f4547637fe99f3c04e1b1db707a5d2662f8d2348f2e70c913cdb58d329945fe2b22567652132089f0fe8d655b30c238de76067fd457223feb14ffa31de3eba1b48043eb8769fb77d24ba9656df62e174461cbf1959950856ac24cc216d40da783a1182551d8f36d935645b0e2a7ae73f6d73687a3017c8876cce4f1d14fa93ab00cb1d352235063a45024549f223d871336b1c6b48d59129fc70654854b2d02654babff2bedf8bb56ea53e8410b25ce894ccbbee05581e50d84ede84466bf023f5bc05d5d3fde48fe92d2dd3f5ce79c8ece737a6f81e1f3e57a62a1588cfa055364e10a5f29804cced04e98e810c4349165eddb01684868d5142477621ffec2eba904f7daaf7e2c0f3537002c63162e2703423b5b501baf77aaa4cfa7a24f8b858691f7a82a0412471a96752051acb790509be5e3e424a3e62bffbd8ae2d06817c56c55ac7f77deab9be12a6e4dc7823147ddfaa7e46b688719fec0fb8ba86828a62b73a54738c725bbb05f1c4d81ba8cbeaa7bde02b8898d596c30bbb35104fdf7926ec54a33085df305ba20c8ec8079ea06ecd4b8e6e6e737771b9c5ba7e561ac8b17c18e48b373e06f84a3eccded24398d763c007cfdd1b5a51b4740416c73efa2c2f484cb357c6d0f61227260f86785e830ab2ecf6323b1b24f81249548c2032f2435ead367e0ddabf76521bb33bda378ad6bc277c3c6670bf2323f9f7f7457e83077f3128a5c0b7bf4e826180ebd1a840fe5c0e09b47bc9e20f5b7b97debe1eb25c35292f0e0a0708a9a595256e766cba20a7d93d230720caa0d65372a0f8f130cb58101f18c62f35401c232c051ef0f1b760ef04c0b705aecb41b41e413b6ead111b538fcf2dc4e916d32991cf644f038f556ade7c88a195c92caf3fde2d52e2104e968cca77bc35406116faaf4b29f0aced4a9c19abf3f8d25ea89bc7f82438225327ed6ddcea1559ee87e0cca42f0dbe8fd0ca54b6dd1364d1b1995ac4c985401feabb0375c3d56fc0dd47e77351e58a9544afeef2aed9fe9cab38000f25400374c739e095002c5f4758fb2ad69e8f4c600dec86ee19b42e8d7f1443413b8eefcffe5538748d04898cc7538165a22665176644d59601ff3b51726492558a006cc1c1f6230da15b7488dbb4464c20745a244e31a48d9d5f1b193c38ff7e20c8b2537b50be8798249b42fea34c19e58fcee665f952795d6674406f23756f1e74e2c52dcc4e56116fdd71748295059440fea0ce91efd238bacdc0347359ca08887f400c5929830198b85d503ee0823ea526f4d9bc4d32bd24ac61e95a6213a7880c7dd1778fb5e98de4d00b494d5922a9a3ff0824910adbc76133248b47103b9880a423cd208f7b01ddc23e7ea409150706543183538bb20c22b759fbfefe856b6930a91d4b863a9f08b521dbd494fb95f8497189bfaac7ca1ba1e56c6eb27584b402a81c48488aa28cb85712f9be2600c454aba58b63293d2be099c298c9771049ab74bf58602bbb654ec9ee965fd22249034abb02ca285a7f7595e3d8936558aac0b44b2816bf4eebd8e2793ec8ecb7cc5af28cf572ff2616cc71667d8934064c2e9f586c76a75ec77c13576dcd6fc4eef54fdeb611d95e8001f1ec8270920928d613afa346ca1717e03f9d4468a6ba8c3505a8be5c71908d81ce744747b0ca624a0e1d82e380f86764f19babff7516e2a1ad931ed6501674f09d3ffe826fefe5986ff678a38036a9d1d5767b77e4125b57462aab3e38c4b57710fe754dff5f55cb9f0ae6479fd42e7c5892ca71ce4956e5476512fe20d07cf955baa7d8e4298227b103996cca52ce0c5eaa16949810ef0daaba23a1f5e3deed9a6a674e8f84cc21d4b2041715326a51e940a71e5d4484fe53ce485b0bed3b3b379d4cc83c04a71fb7a7fc193b420113f3f164f77d100c5b03e26ee04c7e75efaf6f29663b5b51d6b66a061377c9ef487086de20f6771b3f4fff74ed89ca6f7ff35d1adc72ebd41a5408567a0d8bfc69ca083660f1dabf5ae4b3729be20cd3f2c7da1521b32bd174365bccf032719345361c614eb529d93ab76bda3667baa57f1bdb5b26b04966c666a4f9453834aef4251579c055fb2410ef9eb0c15e0fbb6b69bed4f540efc5c3a20a87263efdf26bc97fadcc63a7e884f5b47d7dac058bcc0af019b4c19ad14b9d305cd29ea52dbbd5859c12b4fa5188d85d5992725454553e6e7e4b94a5e3db98ef3fca25cb408953d00de5869bf59b586755ce8f4734f9c8ba7f3f178cad6bcdb7d44ae459d3c91ea6942ae81c237c84a15ecd4fa172761c9170e32796bebd58d52b3108ab54bd7a938d50052f73885ee5c892b20bdb0b9a07f877c51114e7f324fae05a66f908874c5aa4a21d9959c3969ce93d78899828a6c5be4a734792a2195a02d80d387d904ea7bd846a52c70d15c3e507ca1fc716fc41b0a9b98b08c3a999daa63468b27820b5fdadb0dc856a16e421c62078d768b2d01b0459ab0f841e1f94939f7033b00ee91fc26ffe4fa9dcff26555770375d54ee7fdcdafb4e09ba907540609f3cdaba2309c8b24931797f2280eb8d340187309a609c37179c564000b2419cb0d400927d945f1cc653fd1e11013e2744464dccbc3443c27463e28a159315df90ae3fc0ce38b60316e19776d3d56d680c89605422908a3cae721c418810dba361c50f940b753082f036fcffc41193e8dae3d5fb3c470e39859ae2f17055f465400187c850f970c594f4cb5d74c7a91b80b4c52efce8ad83f059aed0ee341d519d660f1aa84c52bf942923f0fc548d4c26723aebe590be6d8524c18bea74d738e07bc72923fd623766fe2e4f3a8ee3153c44f34b468dee2582f7270005bb8541261ada2fdaf7d354e941d46f9208e94587f865c44a77069b4fe7f40c8ed3f37f274fbb83aae1ea39fd465646c0efdc15da6557f133d7682528296acb33e54024d0776d4219ec5e21a181321edc227676a02929105adf67a2b7a4c24e017d43d5ec3e479b753da52d658c20e64e10e25de1405fd7a1c6ee89b785b33b0727825a8ce81f8e31c4bb98fc16538e4dd907fb58e4d45106e8b43008f9cbd3418a7394deeca98f9a9c54748a470329a7ea2bfe748259a866ba33d5def219592ef214db0969f79cc1bc261acd1ef9e3f22c59a51821d42d8516271cd7a7b04c35ed7c6b1910747c27ee9144c70adc93ba1704b5bf7160380ecea307d061182ca41eaeb695749fa34651ab0582ae8cfff9737b2511e6681f7eb5683092ad01328788fec40a8a3ef5df51cd15707c11cff4fed387ff226657491961cf5096a5b4da00147360e1d90fe60b8587b5ea2b72b742473670d0c8b7f7ec00a48a74c048415010475946146fb79610b37e7cff90ab3f21bc62da69e850775538bb7c8baf433586acb3e4436e714c8d84812ab33d1f99764a96da83c974f0aac16edb1a033513536f99f63f634fb6165406bde2c37ac25e654f2c1fc7c852d226cae986f2423abe97fbb18197e6fd7b90804f3cf83a711f585748df2bcdcc74c3988ac923347b32b1d9566aaa8f5921a7613f5abb37f169bfe6cfc8d1355efb5eda01703fd9171e79f91bfed01808f5b8d3d6c2a4d88202993d5ec54200d5f6cf38d9347e8857fa7eef516e398a4097e1e9f98826f46afcb9a602baeafc322f3c8634c253a073e8559e18871683296f30fb9cb2e5b4df4e365a0f28edfad51cd624fa6708e445c9e6f1ac10d95bb8c19588356fef75cb96601517703ddc282492890f0eacbf4c9636426efa1c3d197fc915f6cfbf336552400b455f16fc2ccdf2a975055268cd8428d68ce40acee733cfbc5a9daddb851b50bd40764260ba71c541ad07630b2222564d1f054c76f8116d2bdda87186919ad53707376677d4ae6c9e81c877e0cc41973e450127f030b92482993614f733cf69bcb8d2c24327d51c7cf17a6d2a36b55de0aed0e0832e165711e5650d10abe93aaa66e1702473b94b0767b9e87ddf170fcefc8356ff96db4d282715361d261ba5d4289a15d5d1c1bb4fec3b5950cc94b6f133862b534ae282ff60a7452ddcedc987ac79e101110ff102f11e6e35167fd8ee80ae9697b483defecde48ab1b15ab690360befa3ded0599ea3099ac77e536aede0b02a4db7b62ffa2d7751cb99557d7027dcb228ad5088ba8e9fe6ee3934511427feccaffa837abf9870ecb827f8391a1bb53559caa8eab3defd873f400f34f7d8f1a6c53f628f086649b7500046274c6ace205d8d70a1c990b13af4024c433fe18ca4268d0ddf8fbdd7b495358b96738b368ecfdd25a1f8253cec4dcecee45edb3e07c34e2049b4531b48e19039e7d11faa9221be76c68035b6a048a6e5c5bdae7e6dac8217b66796d27a411835271eaf09ae02ae82fca8034d246c1a51312a41fea4700e014ec9a4e71bfb970bb482ee936c3c9c0896c336989125d83466a002ae62c19c98a403d37c1e7c4739b47f4d1ba8f2bb4341f9b3dab4bad35de4742ed1cfdd2ddafe659eb67af1b78b695e7416bb746660a87527f29fec1e79d087d79faa06ba8d5599a178367d3ce42dd62707b0b1ab8db4440408e1e5c002bcdda8168eaa2961ed97cb1eedb1f82082097224d32cbc247aadeab0e5f53c28d0500c6c59086774c716d7dbcb245e8b3249242e41739172409baa33a07f277d5615a2043aa0428fde81904727986f5b9e202f0c658aae4276c9e786cb4f1e36a8c74803ad0d9a1f68a6fae6d2b8ff510d6ea002b10f9bd415448cfdf60fcd0f61ec4f04b388043cf628eb51c9f3f38f1dc505d317f1742265794742d7a558b097697fffb8613c00b0d4bc262bce871391f4b99673e6a6b7a8a90cd2f8c54f261ed0a2219127e0fc28952a684c2798fc62f150a93b60463026af9e41d178e6d1e10a012fba42441e6c6b7edf788b11c8818042bb99bf68ecbb539512fec4c08512039e294f4a289517f607b8e8aa15a61c67f1abf40ec411c3633b714a68f2e0171b2cd62b122cd32f8e6c36ec9f07aaf08d8a1fb504d9c222aebe8f301ec2a68984fdf11cfae3a0545efa120a3daac4c1c0724066ecb6f9fe53b90a97fcac95e96f86a17f4190a6d95322edbcb9951e4c5205c63c796e9c63d70d0d47af51341f4a5b4f8654c02456ddaeb31027a539031efd673cb11848405f6f7d7ff78ea87dbff9980839ca3dda40415a80e5e5c31bc1133e9b190a18fc728ac8c368d2fe203cea1b11f8990df4084c2650c2a69c930b5baf93436c335d372669e1cd2a4befe1b1240e249556f2afa09043e3b9b0ae13cb16aa60d1ca83bb40ac6d6ee1884c26ec8332291e8d2e5c293ce0cab4b38b3223da8416e040b5d7e5eb3174a1533784e3eaf41eba0cd83f9f307c60c164a1387129a2d1c42b864551639c947986763c8161aacf8afe6dfbd3c02915479f9da13b27ed716229c6b0d87ff4858e84728c75c118684326319628951ca55c282c1cc462f6f005edde258d5324c68b096913a01ce6c9b93d707e7cae5c3c1440708d1f26c6bfa45d456f6ef8bad03b5f5fee6013571ef3735d5bddf51430cc1bfdc4881411d850788fb55c03ce740a429c607d0ded1aef169b0778a8925e28e70cdda4e40d6fd3c8e7028992cca3aee9c9e0f66022e260322fa76c447c32aa3af013d0c0e8cd0d10577b7c52f331e4edffb7b22a06c509eed3a8b38df67402a0684e7acfbcfb21a19789312202a633baf6a1b3ab5696336ea2a2a434d481a6254216e406a968215933e61ac41bb50c3a81c322fdb05a09c9947f1ecdafe2dc08c990de95679cbb792f2d3432325a54d48ab5db9a834fa3eab5a627ec795b91ab4655e7fd2167ac8d96c6ee292dbe846c424268aaac8aa710d029c10a632f3741affa49a1004b5cdf40260ede39d223b74f429e20e266c9412939375231d20ef8fa2c9d4c49d5a5ca997121aa54840a5af24cec4e7619c3bb7e6532ecbed68097f4cd7c14a50e5e02bece360a6001b10ab4c154ca0cd5faad54cc886ba0cbeef8706545a5d638198dea690997649649147de0678d355ad06fd507800addc22a07691237c36235f9ad27d7a5cfd7a52a9a2dee9c1762a84fd60a6335407dac3d838a524ced29fa0f567ef88c4c687f14334da1633b6ec97fb13c71f929b48377dc1e2aa33eec0189d2e6e7dd9289c9d9fef25598ee084e794cec2f606fb11d2602b836bcc54403a4d32d5fc1a650308d7f1b98d9a9b99f0f91188cd5e6f4ab2e402958b034d13660905f720ae8f14ad004ac2d37902448bddb9461a1667536e3905a7a4b3272929ac2c31be78dea46bbaf4c3021e7c5162dd10649b39d5ea30e9e7ca7c2744f6952a04ff236e10792f07361f1e3ca61ccddf763a76176430a525534e077f1a0aa1335fb2721339ea126f83634fb50e312f6fc7d381bdfa93db1b9027a80af1593a28a6470cc959cdccda086fbcd164184596200fe1b7dbcaddb1f7e111e14f535d33769048a7e32b5bc46ba0b306020894650f9d16b47c825d87a0c20061f4b7e85184b0d1a430c4db714a6abe780b800d908cff2eb68fee9c275a29a309b454f81ece0e5288be61860d5e735d4a5422bbccbfb606265c10910e66eebce8a8cb64a909500860340b61bcd9d17bd580a09f4964be323f237d0fada29d45982922f4bf8b80c6de42ee4f726fa17625adb7e75a21c2256f38c08e20bb30ad5e0b7bdf9b0176ef7754b4a7fe48652c4a1ded11d21a66a02472be2cd83949e4589a96a592638a3d8fff0c6c8db00f0c133486b474d2bf06c8b2cf5035f8061a825f62f852b98b45b484bb553c62eca889aca72c32ef5c737560502031af3cb363a5749efeffdb39a8382441317f2365851642b41f61297000368cdfa8fdff267aecf2547775233bf127334cf9b42988082025a38b942d02f32049601d0b9a17ec245b8e7c1338849e2a7223e373f479e2a95767966a5c94a157f58bbeb2579aa7b7d6572c7a3200bbe709dccfb02eff29845f37bd160db3412ef6d5d665cd2afd43195c5a6506cb622f6f9a503d8d0009b4fa1d51b96dd993ef8b9281037a954bcf266ab1e9fb486b40a02ed19ee122cf2bef6d566c1f9823c7758f806aef5207fc83eb02364d577f44f5a9df37a2df5875b5f821fe9536081adacac18c6f2ccc17cdc58dab3f0f690a54b130c94ba56cc89121efb6c6f40339bde5ff957af31e5d5d1f22c439a302a11afe33c8044cc4b6dfed92a7e67f97adcb0b22997949d898caa416f102f967eabb04a1d37dbf64dc1550fcf8fafe63eeca5405994a4cc9ff156c3d9c3656b1b7cf05418ea71035a66f759df970a6f0617f0556409d777ceae3ed377af5251ac54e18f965aad9f46bclibofproto-2.14.so.0.0.2libopenvswitch-2.14.so.0.0.2libovsdb-2.14.so.0.0.2libsflow-2.14.so.0.0.2libvtep-2.14.so.0.0.2rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenvswitch-2.14.2-150400.24.23.1.src.rpmopenvswitch-developenvswitch-devel(aarch-64)openvswitch-dpdk-develpkgconfig(libofproto)pkgconfig(libopenvswitch)pkgconfig(libovsdb)pkgconfig(libsflow)@    /usr/bin/pkg-configlibopenvswitch-2_14-0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.14.23.0.4-14.6.0-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 linkopenvswitch-dpdk-develh02-armsrv3 1710256725  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     2.14.2-150400.24.23.12.14.2-150400.24.23.12.14.22.14.22.14.22.14.22.14.22.7.0 openflowintel-ext.hnetronome-ext.hnicira-ext.hopenflow-1.0.hopenflow-1.1.hopenflow-1.2.hopenflow-1.3.hopenflow-1.4.hopenflow-1.5.hopenflow-common.hopenflow.hopenvswitchcompiler.hdynamic-string.hflow.hgeneve.hhmap.hjson.hlibaes128.hasync-append.hbacktrace.hbfd.hbitmap.hbundle.hbyte-order.hbyteq.hccmap.hcfm.hclassifier-private.hclassifier.hcmap.hcolors.hcommand-line.hcompiler.hconnectivity.hconntrack-private.hconntrack-tp.hconntrack.hcoverage.hcrc32c.hcsum.hct-dpif.hdaemon-private.hdaemon.hdb-ctl-base.hdhcp.hdhparams.hdirs.hdns-resolve.hdp-packet.hdpctl.hdpdk.hdpif-netdev-lookup.hdpif-netdev-perf.hdpif-netdev-private.hdpif-netdev.hdpif-netlink-rtnl.hdpif-netlink.hdpif-provider.hdpif.hdummy.hentropy.hfat-rwlock.hfatal-signal.hflow.hguarded-list.hhash-aarch64.hhash.hheap.hhindex.hhmapx.hid-pool.hif-notifier.hipf.hjhash.hjsonrpc.hlacp.hlatch.hlearn.hlearning-switch.hlockfile.hmac-learning.hmcast-snooping.hmemory.hmultipath.hnetdev-afxdp-pool.hnetdev-afxdp.hnetdev-dpdk.hnetdev-linux-private.hnetdev-linux.hnetdev-native-tnl.hnetdev-offload-provider.hnetdev-offload.hnetdev-provider.hnetdev-vport-private.hnetdev-vport.hnetdev.hnetflow.hnetlink-conntrack.hnetlink-notifier.hnetlink-protocol.hnetlink-socket.hnetlink.hnetnsid.hnx-match.hobject-collection.hodp-execute.hodp-util.hofp-version-opt.hovs-atomic-c++.hovs-atomic-c11.hovs-atomic-clang.hovs-atomic-flag-gcc4.7+.hovs-atomic-gcc4+.hovs-atomic-gcc4.7+.hovs-atomic-i586.hovs-atomic-locked.hovs-atomic-msvc.hovs-atomic-pthreads.hovs-atomic-x86_64.hovs-atomic.hovs-lldp.hovs-numa.hovs-rcu.hovs-router.hovs-thread.hovsdb-condition.hovsdb-data.hovsdb-error.hovsdb-idl-provider.hovsdb-idl.hovsdb-map-op.hovsdb-parser.hovsdb-server-idl.hovsdb-session.hovsdb-set-op.hovsdb-types.hox-stat.hpackets.hpcap-file.hperf-counter.hprocess.hpvector.hrandom.hrculist.hreconnect.hroute-table.hrstp-common.hrstp-state-machines.hrstp.hrtbsd.hrtnetlink.hsat-math.hseq.hsflow.hsflow_api.hsha1.hsignals.hsimap.hskiplist.hsmap.hsocket-util.hsort.hsset.hstdio.hstopwatch.hstp.hstream-fd.hstream-provider.hstream-ssl.hstream.hstring.hsvec.hsyslog-direct.hsyslog-libc.hsyslog-null.hsyslog-provider.htable.htc.htimer.htimeval.htnl-neigh-cache.htnl-ports.htun-metadata.hunaligned.hunicode.hunixctl.huserspace-tso.hutil.huuid.hvalgrind.hvconn-provider.hversions.hvl-mff-map.hvlan-bitmap.hvswitch-idl.hwmi.hlist.hmatch.hmeta-flow.hnamemap.hnetdev.hnsh.hofp-actions.hofp-bundle.hofp-connection.hofp-ed-props.hofp-errors.hofp-flow.hofp-group.hofp-ipfix.hofp-match.hofp-meter.hofp-monitor.hofp-msgs.hofp-packet.hofp-parse.hofp-port.hofp-print.hofp-prop.hofp-protocol.hofp-queue.hofp-switch.hofp-table.hofp-util.hofpbuf.hpackets.hpoll-loop.hrconn.hshash.hsparsearpainet.hassert.hmath.hnetinetin.hip6.hnuma.hpthread.hrte_atomic.hrte_byteorder.hrte_memcpy.hsyssocket.hsysmacros.htypes.hwait.hthreads.hxmmintrin.hthread.htoken-bucket.htun-metadata.htype-props.htypes.hutil.huuid.hvconn.hversion.hvlog.hlibofproto.solibopenvswitch.solibovsdb.solibsflow.solibvtep.solibofproto.pclibopenvswitch.pclibovsdb.pclibsflow.pc/usr/include//usr/include/openflow//usr/include/openvswitch//usr/include/openvswitch/lib//usr/include/openvswitch/sparse//usr/include/openvswitch/sparse/arpa//usr/include/openvswitch/sparse/netinet//usr/include/openvswitch/sparse/sys//usr/lib64//usr/lib64/pkgconfig/-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_Updatedrpmxz5aarch64-suse-linuxdirectoryC source, ASCII textASCII textC source, UTF-8 Unicode textC++ source, ASCII textpkgconfig filePRPRPRPR J} 8a0utf-8f94bc4de16613a1d0f56ebc5eba8ae6b8cc405b619f96c85a845504ed20dea6f?7zXZ !t/oi]"k% N73| E] nT0zf$O^1;$k&GiNx0}rlL1Oá,"rBa;D#b>+沈,G-6U,S=x;Ur첬H֚h'N𘦎"-vֳm« 2ϧ/9V_>JA XZ YҤƢbI?:4e~iW?@WލM~ldfrt#X\UE*Vΐ\fQ)TlNRWtí^/Y+i\S[7L16937.4N[cA/XjSJͳWL묑hY=ۥpqGSŝ!#kSf ٩='cQhۙ&FSbv/?m˞T%j׋ 8,Jk >ENKRumeFLN6T@L:I.Nj!9F+}Eʚh-uC3A;荅p+aw[VGm3SOjg\RӶ5m? [oc)[e~3_Y阸ЬQ݊@϶:S\Zm5k'̕uu&Iʔr}"=B<[SkKz42TÓvHa܋24EGʏ 1|ɺRHjj,O1=^T eIOZ}ƈ7p!JIq߽segCjnQ̾.g4c=|Yxњb[y4x~wVB;zl3`' e` cuv jL /czf<ͮFgdesZX۲7Crq~d]{p7E1% æ/!F| tUl24 iGS>N:3(ӍC[C͢Mc8=\FB{pVZrL:(Sh$.䣒}9D8]AԚ-Yybڏ6Ffw%W e>@ zӾDJN.\v4+5xtUm牟'wE*Ol .Hၖ2/">:E:D{v]X92HS8@L9eWG!&|ou:g R7o3߳Rc{?A &;zfCA+L7&4_xi0%m+',DnGw3JV$9^$^Ea^L73\kNN_i 1>E02DžiqVx{8q ̱j1HOMבkl㠶e=Ǎ.5|?Z >#Zgn}=eaS] 9PxXflu1@`XDKҾ~Sߺ^q#Kjlz Q]de#$<uoUZ%9cE]n5$ƥH냯zjOY7b\QGMpH<$֝~?9Vȡ`vW {{I0o:uc0p%iZ>b~  w\ ѿN('f]577NP+{dBfċݤ]o41 y*#wѡ{g[]Eq }6wWKT`ETua|@VN!+6DcȊʁF5N-NRfR+ӕ Z jgu)r k5W*>S,1ӽrY:q2) cMoɆ! DԣWpͬ @(Z1iXX>ncIx ku[x[yOW, }źx7m0RE>M3O4ӣO;?K;<ȼ% ]aXT؜FjdTa[Q}Vl, σG(Dun&O[^ qUk{#Q5ɚkޥoyASI@lsO'ob-Ho}jߐ/h]4:@$ҥTߊƸ<7-#0;3# 4i\Q3.u_11bC4L0K^%>[c!{P A>u xoß$`w~D&lR;.1#l<&j},)ӣ+q* /AdY"*_ALҼyRX43Tg(@Gk/- 6ޓF)Dv՝^Sx`" kxZU,Oz{h° {jڳihFG$!J/2VYFfTAP5\}5k L%[M9Y,d :W+VۂfǯN˕y~qZ}/N#vi1nGS>楄-Lt DM!˿f_%u F]ڲ J9)V#X*9NcrHf*7bBCjgG%/RVPq]Zௗk7NizXUwO m Lz+Ld1Ox+gKUl̖ N C'ޑ s6jxFn?:&A flʼT-ănox*3~͋+D9Eda۹$z&dN1Ǿ+t^>=~&vaj.)Rjͳt@r;@4/`xȘ†3Pk񾍜vR> N2KMe`Ctd!/ ȟkQR?pjsnGlC*M~ǫ\2W:tCcO #8Z,=oAK ] ފ:"b83X_(^}(ӎDBӛb*w2lQy|qфR=0*k\Rԫ;‰n[|ٗ$e am,DU 2h/|/ 4~$!{zU{`Pz:}ЛZ'.Zs&~36@d ʲkǽ__V)JwPV)s\ёeH),̓ {kG:GZ0HM^/]k9 2v1Y @{ԛFX4ayeOPBUaЫ՛ӵ6kP=-g~4vENg֭z(bzԈFg5\LЦlB 0͹:*2Ԣ\ul6AuOq4WM\Mo4@IN<= 270g8({YX4gO581}`mO+xCSO;A#8;W5 ڏ?6o՞쟖z6q@5OGj^$໸{;8e&)[M+ChWKSq&'%@>uKܲs2'Y0 VF1g{Ѹ#N|yc[R%FPHrYJK_l<8'ڋk46ܻo Y)R8,F@Y 5 2$%vsg I] Z` q#ѧ\Hp8 S.ыոKj /3ZlssF(Q:k2b?o~AIOl1 qg".Y+q `vڏu-?QmؓU 5-P>:bb"Cu06h D~쿆ȪiFݳ%p_H, +߈G@՚9YpkDo|)@((dZXSAb2.iy[ߣa/J]d>Qt2WIbj#HER'r>p@CRxO铬nJq7%bğRtWX-}/Z4ҝY= k.ѯ{2] *73 &ul2-pZj|O*lc,k*:G3}_?L,1OFə۸&2rϛ9~x.].Šk'PBj]٢W^(@+eetg|GY^MsfzEs2^`)ȅVRi#5Z6+)kݓo =8TA>*D$iR˸.B_X^f̭esb+U`ob{tSQ<iB^hNzWoU+Gی@,Y/\6D&εrnt:a\0|>s aGsxq5zZV|ϗFu ed(n9~]O~Ni.di{pP$ϙJϱXpk q] ӗ9R/;:[RfZw,gn  ~5%~yj]n5mX sdZX(r9Ch])+<9swP‰']Lj'yT1 Vo#N(0 dmΙ/ ې@3ķe)`Xb%N6؏z ~V:W^ǀQ, \?s+Vf^٘)-vwUUAőI4ridw؏yI}f=*2ǯnVuc;]v( Z2QgN [UyY]Ky+Aktgc# 7# ڷiNM612fs`I+ڊZєe A閍sMvf*mR@{grk IM%$ X+tyCcAgzIvePL Dv=U~aB{Q|jj9n8q(a]M\&>|(wPvӘloh>[}zOuxW6Pew'['R_CSmG[jإDؚ1z̸;RH:O;bJ#K+o,u>rx<:ME{&ۇ Lc?հ1t4|tv^4GKzşߑ0xq{̢[G'?E47;`7oICzoT*UaO9d*3eK\*y;@쬧 {b ;8b+{DAQ& EJ8h/ [B)%'+7`ж/ QcKLRUkݑ㪌"7Mt8*DljXޯPJ+-e* mIQP]kCph"@@]lNWm( ΂F_>7&i,O'6򿏣v,|Um9a_:}fXk }[/^bhjL-_@&UyCِZT|y Z?ˏ 〱mSZ2QϪ]0GXEz0h^^3L _P6u%z*ǀ{)af1iEljW"6C{BA@`1E6_Oh O*ר~IxȄF0)h5Di!}ٖsˋg!w{|u`•6(RKzo m3r)>;埤TyZK,uC@ҌqVb` ?zp]ljקY*Zǭ6ʦ\ms*Ƿ뚫ѣ硘RghřN*NUpGXuSgB W^]$"ډ c$!1 )2}iw%"~=/Ԟ*-oARD'>` }V<–J[hEy)gҩ`bU) @\ 4~~YcntE44zmEg4$XR-JqSmՉnWHgWz炗.b]ƍ f=hG@S6#J}(%ػJƞD*#;r@(4EB2"OLT6砐uBn<6Wo53y~ψNo 1zX )S5F67|JJ38ǗlHF1 kꙦ.4LLFqKYs3>y={ze/|6mA#Q-̈z+Ix=gIxTp5P+!p΃uO|~2쀊DƗe*zDkh GYa[Z + Ō*./x$8B nK6~݌ԿAx™V`<>R6|>D?EAy+2]TT{zqUF|apbco?sB_<&9dezT#tf.#r?l\^" %Yr1>Ufj/[,{ ti|EFPb"b=5%n{m<?2}$uL}"}&FSa!hRZO fNT͡xykzfm9 mrΤh_Җ)?M$L Ib[ +5PF9+$!8Q֢?Уzx;#H?9U0stemM &s߲SL蟩osz/-v+<@DB0vE-b\R/ >o&~ a 1s6;ϭ}H8S ' C3Bppɤ/giZ̛CpVա+qo_8|-E6l AFߐ݊ܞ^dNeGX+Ek*WUOڋlJtU'Iz_G&TʄQpXOXɷmFhpaq~(t 9#=n ^T] |R5lg姧'<CiHq$/ŏYƄ"TmɆzxlYi#ðWVu?1^J9VMIz;m]zref@}L |'~I¹/(|hT-Xb5e0Sޘaƨ?V+]h;L77-PKSm$Pci})2;'a-%'Nxخ'Ɇ|}T_m ~ؠZ{ME*6Y2̑V%,q l4͏*JAWe@Sy&pΈ|aK^a^u%Y-9pәjUV qi![:QJ /^PNs/9 J7$^x GG g/aTM>7{uO\Y.]Y%yGæl5Β fY4krx3PHmS&=?v+ݎemʩG_Ĺ_[p/\s#'٦WIsfAYr 5 C9vb [K&1bvb\p2qjG`( s%~M_mZ-cr.zH94CQ<ϣ1Z`1WT:@!G'-Mlw4h+8(a:AXvhe7XoM /ogY<]iP۬yNsY(i8띔LoYƀޯv7ƒ۹YCq_%|!tIN>bxM+~Rؑ9ӊJA 1]Nj bHlt/ @S""S\s'2EC;פc4tRBi=TvuX}[7^k=ReW$pL8⯭QE:"[Y,#UJ,(ez)oYHGϠK%opjZ-}VepОcHֱo A5G=Snq61Ps85O Ơ4=]g]`-Y%ċ+9T2ۃ*59^Hʢ2) G)3DM9'.S'yXi!K핕t٧3ᵓԴ'!_JH ->@)͗YBaIPӇw}K(ݔFO2lc42^xĶkb1\fU:vms&l += S=ӵ U|:Rq,Q:nXFTs,l&iRNH b%4J‚RZ'UH>#Lj Ua[eWNdkZ9j#4{z(jr_'B;%M9@bO '>9UrHБ/7s]VoC1ESvֆVHW+ %/'3P1XYWV"u9tŌ>"8 ijXIBwEs=n_ >@f(D TA*#*XXڎoUWy J n#(7y.<S/m(JCjnLmRbmk4RSuxLpmiy^WeK%øVr֫0I.qapsOV ^>t_+Sþ/F࢓Qd:r$[rդ͊}GХ tkF!%o@ҢMrz],^ F]w3-촃.IM[^'BcAy$n;yƒ-պդc&Y)5&$d7CAh').:- zJ=fcg^&ge~XM")5G!fo0 Tc 9)> Ys3 NB|>%ݩkNkv^5gZl7e9iP)-oKbU;SLUҩ'~DfrE^U#0EK(  Q41SnI4kн\ZUI0-.+}(>x Q.;j?mh/8IT~;XoCh2',~6J2=P.ˣP |7ٓJ<8? [cnW׍~}UV}dQpUYO-|xחU'nӴ C> Ba17178 2w wav}V9אfWE5܆"yO/#hMW]Y+5my%!K OUSHSO Q]ڵTJOw ΟEI1E _ Nzox-ׁQ@(6TGT:S ?,`rX/eČ裇 w1w ^;qI=QQJLjY~Y1j399?ЮK! ̒h3TUfk,ڰrdk_}h#FRJ6 QixOPu`+3 ~cA \q\[g*,^Զt^]$$~:]2sn:u!<2UF.3fa:G즤ꙻAU7Gf"hg$Id#ǥO4' *5=>K!,U?tDP&k~2o <]um`{ L]:CM"(Xh y./ljXfqy܊!#Q{&$s!;7p=4U,Uq\F{Щv?PfiDǿ)=i /@b1xO5jU51\JͩHx]z׵,u^X(0 V۬ D#1t*Oawqr,'ra4XʷHt&]CA L ".uX$b.!6n #6]0 cݩDK u7;V; tߩ$g f@gtS(latx#ГA:&Ʋ⪾!SYt2A/~"=fhxkE G3 Ԡ8I XϺbD:u:AoX$T_çOrcO?@wBY ےA󟚱\q.;GE۷]}rkwRTk>*HJoFJel9踠u6sj~O&QShƶfqρ ND.r.cԆ7E{|Ӊ3'a~%:ٺ_+r75qprf! dxD\bL/~}hf,kB\t!moW[}k-2ղ݅i4J9^;_XB'xIt6&4O6 IiV:_ ˞#sK }G&IKێc#\Q7ʳ@#96 `>k8؉s"jp1X 7\rՂЛLW=I`b>CNW͟=CkS"OM.C` l?NO Z7\P` -8Se;ُz9;WGѴ9uOZr C5;Zu>c #P#; Ғ6pD,lBdvr~Nn~ʄWR%v\yx#jrU$cƒ:o%Lv- HI njB V a GUSewZPٻ>w6/V` ge WT# -3כҵ#[lk/oO|jJ 8Q8ѝ7\d2Ҥ؏EW(j3"-'+Qu]^՟tƣݘqםIn1G[z) |(U=2;7@ppSn+{-V5} S9s_z3 ) U,vwb]Spe>KeSܝٞzܠS&R@`e d|&YL^o.Ыf5>KX+4ܡ,iXƟn}}?dme3o?ƸS>D:68&lIۤb5JH4 񊫇J (W~u&p#{05IZCA ILGq uìW-ҧNwE?QդԌq-F7A|Cz~{0.o4oYd =Ǻ#imc쪴t\~E~!Śkj e˲r j*PX«0WSq]s؃gVjݹj{76 %:<9hb7q"xGnqfDrLả4QbtV.s񝟦>MYA`X}Kgq{d-8VQBEYO*5U5`YrI`sZHQ ?BAbm$zA,4K$hH/uE ^[FM =Y`BHc`h ).7W tڑg_^\JC]wz{e"մݹSTvP#1+ivāXj%wH:SXxyVV2׌wސpdhhCwKz#PP̼ ZGP>M3]Ğtf>9fi>= m+P|ֆVl6T O'$(٪1hMTB팠81 עN'!hbmhA&>@w&KpECCs7˖ 'XrBz\P$|/Jy AϬAX10B_5ݙObͤeKt *-pf:vy!VR_/_ɨ{Nd"Xn [qtT_$L ]?[aԷmO;Pzq l5m!> AtW)r{nq,z 5dײLƾ|` VE`QC/nrd+ePW nD Փ$gp"7( H;ٲ:HZiI}>=SI)[v\k"N_lS gݶ2 ׼ tMv; [4#KwIЋUC>M7\x' /k#{ b7Em(֜ʏF M薼dܛ [m9 . wEd.iI>3An @xEm <- ;rLf2N%Gx"pRR$yݦ: E{w?LFEJjծPQBP :Mb{}^ӝn[$w:o,00^pi9P0s:x`!І) |@҈t5Gv6cPvJ{JE' _;ϗN WO(:KT]*uyUf!a. gbRܨ71Kԝ ׳wB믅m[SiZ"UB ?r%>NP2T zpn .b:5cUR%nSd:_nbTNޏ$uAW{zQ~˒pU78چѣ{GM_#7 ݁Q(!.n4; /ׯj}[zͪ{ g?PH˂*;ea5O*?3נBYy`4H*ʹ^4w}uL690/,K3JP$ '&I&R?XD%X7h$yLvn`%Ht2Y?eNtJTDDt%xۂ?M j>ם8w+}w{ ٌYڒ)ޗ̼hs*f$dSߢ$r[Fs*LCVR )]nHͮI}z(gRgPg:]T|wBQt^t9P"DbUlAFr?I[r42ֻ(mG3߭9ivF6cw4؅O׫+/q=@gݥ5Gzz.{NyЯpdFlg ȓTRd؏h/,7d vmsYE^Cn¦b8 HBgWIڞz K.X'\d3B|i [;HXIqI2!U/#7;f'Pc=Q}dLO[Ttz36 oŲO}5т?gZf*V@rҌ}(mˉs;{ɨ'(QZaMg5׉iog0K`['Gdn>t~$< ЫԆ*~C]t5u`2W-n ly"a]; ZD-J<5BGy3nnzezNpa hWTH0i"8໩M%a?x&ꕚb)9l߼/G` ǣ3Tis_?. CX+cE+ sAx\JgKMW5eNpЈTu($|4V>CE38F2A#;=)laƺ(+}Tae0wd(-b*y\Y$aab`!ɑƗT$\ NQw&I;IkD\MYE`%L>{\T7\3(q-}t]ʜ[?f6JW]SpB:/:\tռYi/GnXc͝ H,6tV#ef$4nQ(e] (jb5MUB-[H.`kĤ8:6>G7@' :eR9?㽓\>l;إOaRJcmIhyG2]ՌXf{NzG sщC2T\e aPΗH#uqUF<{4xpo lZA9,W'6uq:ihnM:O5rhsqT9b$Pк6sPR9Y7zA%ǚb }K 1h6hssu (V|@ٛ5TTڳxe&FU61)ȁ֞}sWeq6==>{/eTQj ,YfXjJ<0PS?xJw!-noG_jJ=tT wt P $wAKJ籅&O%ȥ8GnV X C;۩j B.ad;t "MX)Nz9Eu,oկ/_SL#(o|=  1ї_]7]t&J:L #O&/2*px.we]IN%m ȱ8ɞB q!Nz'*j B0 ξj`aEcGe36c>jL7K<Ruwm5t)Iloy?9p\qQa$(j5"z[\Z ;f<_,gNَP ~ƷR]!GgfMthv|qꪕM>O 2e(JqRV0n1TE;Emn4g/@琷y|4zo=zVN>r죘+wt@o$_#_F2H0>; J|yDyV,:H(*EX*/\7vFx msvhyÏc~n*eue[N җ0]7H־¡-MObZD/3w=Uyӎc|G2Mq]FD%&K&EMlM\eW) m8gǞyP6;@F~%01عIBEES!csa;Ͷ=VٻEl|?/oɖf0S+pT8c $~%B"oG ' IuݩJ=> c2IU:>)C71)cD\? P֖bYAoY-/W5DEJe !8~LsBJ?O|cusۻ mu(?|o})S@կm8n;O*=$* d$l*  Ե,wE8KxL-hK yFx>$Bk\/ FCniK2,Zwd:\:>ÖOoGA zrTZ5{o g>ʿSHz|N"~. G*1puqA:}˽[ڏ?H,P 'vA(I &leG6]h$fߞ1Y I  1/g3s2NġwrN0HMAN2 H&húX&cv T~r8_V0Ŋ'rd'F7YW<M"g?&;*)ćBj/sY}Ѹz;LMyr%$16 21ZN#v ?lzGQ>K+姘 ,%"RJi8M-5JBjaA4bx=8aVG( Ԧb7'] MJ9ơjs}}&ِm74% =g1q-)\H; Dwim3Fi%}4϶FyM^q{ּj\&F`v iq(h$Āʎ q]Quw5XhDi/谈raIYsCg\HߨgCi:'h6}V:GBoRway6 m!N{j'hf ߾X$/DF |ֲ!d)V8=HGjFkKDO7]_ \F8u^`O BtM ĵ##/!mqMC6DLvc*Kx2>$N.8d'xKƢ6Hg*n12u+.4ž$)/OjHKn s?d'ǚQ~.9}[1, MG:#nKf.g)T" yݦ> B}Wm""I/вj)RHZeׅI/QKD [pv# Us5(!t:ʏ@WfӾ_\yqXSC &#cH99ٽa~ynlCςRb渿oNF/5DF/Z{4A[2y; a+*4E|9I@Mɲ6|4kp>ɴVJ<2GځvH6&.mFU6 ftm;T_J^~ͭuH\Gľj37=lV@2ȟ6B컁 퇏yϏ.#7d ϢuVSRMfYbvCV=Sj0r- jUB{J:F9lҕppP̫+蠋]VD^wx0ʜ6ӝCy̢ar,tfn pH M6MHeO,U ҃H}G\>w)r*3`<'#51P/tKBH R0?Cw“^/K02 pin3"QHppMB qO pe:$,9\Ԩ R7| zYG'H[Y!pM'b̨F]ZBW)IPNUuO*LcGA^`v3~\.B.H*~R/R"ˇ%>%lĸ&U(mcK" 3|2yū/qn\2a=DLͥ'h98; ,0)e&`aU#9̙i,Yq6>~w&J6t@8_>qԨ呶59GTP|PkEw|UÅ Pmy,߃Du z *p>$ufre>0w#.F8ikR+ct6 dDfC{jHU΋.wM2<0e?:cNٜ ͨaPQ&S?m%.^ K'-[t4XK:Մ j>Ϲpp- n˵T*Q*߄PmΡ<3#Ѓ ;SIh{P`JvL?6xxYKm;ma}5v 5<(;>hk娑"  1,bi`I. 08A¥zN(Kb !֎X1?7>fOkj:ᒙpL|o~X{at:f8.t]* $R/c@uv;uwB1eʠ^i8 =E{UNG0ڔv<5VRZ5w }V ,kLϮC"EX](A/vkt2׺ɫWs4?F.D_6[tƦIW S3xw,/d%4Áz[e'k0)}q-xLT ):CXcb`9򱶥4>$o.kN7B A?F)uJM8B 75LU|Si/F73xWiH诐= p&Fg+%'a?"=+ʾl PQxYbSִy?G{ԁkm8Bi}åv5յO_B̨7e[y#(|uwTh; /rٓf8z+/f,ß%ђ]X dbU@ıCh$G YHCzi~ɚ$\~Jηq1>5Ccm=el&;-`y)6Fz/RSvSPݱHHW.bE/Y[뚀ucȫ3,Uzw!PnAx7(lf_+W#^;i?H@l