From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id B76068015B for ; Thu, 24 Sep 2026 13:29:01 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 68ODRl0P016514; Thu, 24 Sep 2026 16:27:48 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 68ODRl0P016514 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="IY8Ua84W" Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 68ODRiIC016510 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Thu, 24 Sep 2026 16:27:45 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 68ODRiIC016510 Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-385d2703b64so753160a91.1 for ; Thu, 24 Sep 2026 06:27:45 -0700 (PDT) X-Gm-Message-State: AFuF++mBKOKy/yH8D47UpN/I6eNFHK+Cd+M4k0kai3KTh+6lfO1wJLf9 /Rub72hIRtCjoaU2S3BeTRxsTdzpbHDr3tnx6HkqpueuCEd4/AY01fljrdTziZi1dd0KZDisJOi cb6mx0gS2fTeBO+BGNEG3lxZkOxyJIfemppWEcvGV0ZYLTgi3Naf3bA== X-Gm-Gg: AYBFou0u241uE6elkJQPALlqr4veQLkUiEC8oqYFchwIzc+IxQG0NnQLB8+DjqKdDux 2JqLJ82ZIgtoorBsmzXdlQ+xhTkFtcCXv//pxWJPG0zRxG4vf341QbQPEUxQWBcEo9M+W0YDOpB tDS+1qRMe47muPlsEI/A0rxub7mioZ4n3ltfyCFH+oYRV/KYDM9LE5+PSXsA8ZdsaDod+3mv30y 2lqZ4zzNZhoX6QKsrp17qUf1PEnjGS4RdqnQYNedaeUp8mlYfq8QW3EbdxmLILYIAsMqXKCDgLE KRkLymkGsV0V7Z7UovjEcDeso5ArnZS6UNJL+yRxlcRoRKv/ea+YHAS4r/jVQ0wRB9wSiHPXvUe igYS6Lw8U7xNsKPGudzBg+PiyI/oOzqiUjGvey7U/hRK7ojVqiqPpvD92KGqUGElbWP745ytAg+ knikjsmFPFoyDeaP7g+q+w X-Received: by 2002:a17:90b:56c3:b0:3a0:ab97:85a with SMTP id 98e67ed59e1d1-3a0ab9708femr299791a91.32.1790256463938; Thu, 24 Sep 2026 06:27:43 -0700 (PDT) X-Received: by 2002:a17:90b:56c3:b0:3a0:ab97:85a with SMTP id 98e67ed59e1d1-3a0ab9708femr299779a91.32.1790256463312; Thu, 24 Sep 2026 06:27:43 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1790256463; cv=pass; d=google.com; s=arc-20260327; b=kVvW10f3ZaByWNnpTEnoNf0ufb16Yi+7Yi+ybtR2PpJk9AVVDM61s3DzyA2gEe7QMP 1WqJ7FjplsSBmSVfm2PScOJMypiomYkz6HbvC9xBXlhx9a/2bU10JXX0cku1OfQDSAHC opsYShx4LDURbbQ81pi5tnNRFB9JfKAcvN7rPbsgdTcBYaA4mKyD/hK8Q6jinjy1Az0F KCoxwytMSiygBaR7OYSbyYkdmMlmlMw3pQ6aqxShRNrKdkJtDicYssD7czOEZ+rLuK8C QEv0nXLL2HBCg1hofgQfCPojiZavu5EoicU/APuALxIEKp0Ny1k5zYPQfCBl4CBs5YNm ezqg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:date :message-id:dkim-signature; bh=myC6YLgq4d/jkVEfPjwVVKyAI6eJ8wr7XkjhggG6Sw8=; fh=4Sx4fRpltW7SVtdImyKcEUj5FPMjkilOdU//pCm4A+8=; b=swNwt79T/32fpZg4k/wTcXXv/wDt+AEA5g09izRbnlvTKqdKmc7WhdUDIU4Zko4w6O XHmAS9PSW5ynIO14baFCtPqx3Qcw44lP2w9/HJwrfdkgturkHk+47RH/WxLLtj/o9T3X +7R7GfU4gJVDJpKAGmM8jt9w4eVNVMnVDdSz6P8/e77CJ34a0ztBjHwjxQ+cP2SkAfrP TF6PnhRxNFmQMB0va3Q8kkvFPNr7JwHnXJ8pAeGL2X1jYH1avgetBRl8V791OUBlIGxW U/mPnCrVk/IgQJGCEfRX8SobSP3i8vRahgn7Q9qU7bAPcibk/hQfbX92fzfSjCVpI/DX AUYA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=IY8Ua84W; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c201::1 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazlp170100001.outbound.protection.outlook.com. [2a01:111:f403:c201::1]) by mx.google.com with ESMTPS id 41be03b00d2f7-cc75f661036si10448986a12.271.2026.09.24.06.27.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Sep 2026 06:27:43 -0700 (PDT) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c201::1 as permitted sender) client-ip=2a01:111:f403:c201::1; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=IY8Ua84W; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c201::1 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xEdS32E3STmWx3XIZ7c7o6RmsBNN0R1iTyN9UCdR4aAo+nlfhc+NpTgopO20e3bTjIGSg0fnbcFYrPBTWUsrgxDWeu8oVsK92eFhhQSkQAcBMmoEo0/r8ZlvVc6U62nrfyW36FXqbL0L0pmQ7M+B0t/NqIrREdzK9iPL+0QWzWLxBnxbig0nLHidGQ+xOUR4dT9ZjeBcK0i3WrZTTxNClbWzPxfwFtlqQU1V2k9Pp3UHd1k+QVKo+FTwTEgyT7G+WvcDldSMoZtjkPh9kAjJleDmrUiwzDdGoV9DB5rEcIq4fCwnXe0WIaPVkWPq7bPUyAV2D29d2sRQTViqB4lcXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=myC6YLgq4d/jkVEfPjwVVKyAI6eJ8wr7XkjhggG6Sw8=; b=VAchiKLa7JV2ZrOsQWnJPerMYYrmA69BJ/JaaA0ose1socpG9UCgxSe9I4Vm+0y0jK8HVZYSvwF+D7U+5c/G0tWs7HKgHd49WYp5ShqSPM4nX7ehOYaRE8JQO33gwlL8TJ1jSzP9BxveqiZp2AwzBGJz+jmLP32kefoyMgZm9xfe6C9m4Xn16Lxd5OO3P64nrKcTfo/BJuntntsa49hbvkodJnR56ib2jg+NDc8pejlXerKKqT1tk2t+RB5Y07h9tLDzpgus5nEw6xUYCfZzs/mqL9XPXGk1AT8Mgwc1O3bKOJewz38vWImehGXwZ57J8NsEpfF4+ku89ksFMMgp4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=myC6YLgq4d/jkVEfPjwVVKyAI6eJ8wr7XkjhggG6Sw8=; b=IY8Ua84WV8/8UuHz1SooZYSEH//0YHk+PBTVfXt5LmxT/EqwXBOEuFfsU+9xNgGqQ/exDrr4p2w+Gncnfguwt1YDDtQGW0BCq6HkfKpY55DkiedzwSxbWLna3/Ag0PhqOggnGQ16EA3GTeyCDt3wzX96MH9gaSvoAgwn3C7tmWUYQfG5KpObnNmvqqB1UQo5FpuA1Ur0ixwmHZpIgQvqyy1O+7L8KmAtp+3EOvlQa/Ql5B0ZnrzEnw6sRdQJ5gLdyXbrGoqeKJz7odMwrTEI/HEyEffVUbiVSTWvqMWMQioF8/qy8CyPPRymnqG5fzLuEv/3BCss9ROVxudT8xYNkQ== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from PA6PR08MB10708.eurprd08.prod.outlook.com (2603:10a6:102:3c7::20) by DU2PR08MB10279.eurprd08.prod.outlook.com (2603:10a6:10:46e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.472.7; Thu, 24 Sep 2026 13:27:39 +0000 Received: from PA6PR08MB10708.eurprd08.prod.outlook.com ([fe80::1999:c6db:dc55:494a]) by PA6PR08MB10708.eurprd08.prod.outlook.com ([fe80::1999:c6db:dc55:494a%5]) with mapi id 15.21.0451.014; Thu, 24 Sep 2026 13:27:39 +0000 Message-ID: <75de8d9d-ced0-4cb3-97dc-ba38ecf9d9a9@virtuozzo.com> Date: Thu, 24 Sep 2026 15:27:38 +0200 User-Agent: Mozilla Thunderbird To: Eva Kurchatova References: <20260831225137.1642608-1-eva.kurchatova@virtuozzo.com> Content-Language: en-US, ru, sr From: Konstantin Khorenko In-Reply-To: <20260831225137.1642608-1-eva.kurchatova@virtuozzo.com> X-ClientProxiedBy: AS4P251CA0002.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:5d2::8) To PA6PR08MB10708.eurprd08.prod.outlook.com (2603:10a6:102:3c7::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA6PR08MB10708:EE_|DU2PR08MB10279:EE_ X-MS-Office365-Filtering-Correlation-Id: b6fd4971-7dfc-4d0b-eafc-08df1a3f9b02 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|23010399003|376014|1800799024|13003099007|6133799003|10067099003|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: libpOZDkbU+IjzX4/jJWqW2z6hxbzrF5sijkqgjONVB8ZXc/57hNQ+1/rjFaXa3+w7c4Oo/35knxtfkfsUq7+cJd2OEAWEb1ByUxJhbWMqAgV0EvJ0L3jBNpcoH9k7nLUjzSAfoZvrzK2Y2QzE3Vj9Rhps59sDrXq67v+2vWd8ybt57VoJiqa6Q1XQdFK5dllnk7HQHqO3x1Qyd+lPtJC44EKnKtWbCJpSwooEcY3heFGyJl03Pql9RGd8EAbvRVqtXQmmChdxc+8Vw+/KhOvxH3CdoqnHd1sUAVSZOOVJt/zE0F3LyTy+KwtWgtomP9c6yiwmxnMjiI/CQTz5JkMnGBqvQl2Xs0/s2rdaSPd8x9+qzMzMxeupWT0yfP5MSkr+nWNEZsnZ22EB2g3wSqM7EgiU8V7w/cGW6aorXGKqAJltcNox3/N0U0Cf3+QTPoAYixjw+2W9lBpKa9tuOgws5Dhv3OL7eqcFTrDd/sSbfpRBinTvQBQcgRtBpJOKy0MZ6LkexJBYHYG1dsLCpKRx97E8muA/924yVBfB9vA8MSGCX1vVHotoSgngAKxFD6tjAGQzAP4b4V6ZEnGo9tDuSPR7B77GxAr6oUJsCyetoi1BAUyrNsQ761uP82MvwR X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA6PR08MB10708.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(13003099007)(6133799003)(10067099003)(56012099006)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K1F1VGRMVlBwd3ZIUFVoOUZRc240TG9ZczZJMHVmQzBOL3BoU0hLQWMyaWcy?= =?utf-8?B?Z2tWcEZwMDlqanBMVnRvemRRakxQL3FpaGZMRnlkUUpVZk94Q0ZHYnNkbFp2?= =?utf-8?B?RmV5SjdVWlNBNGZHblNQVC9RakhIL3pqYVczOXN0V3FYYzBYWGYxdGlOS0RZ?= =?utf-8?B?ejVRNmJpNUVMWnFEd1ZNbVBhcDFTZ3pFM1dFY2pLUDg4L2xuNjRXOFk3Zitm?= =?utf-8?B?dkg2YjlwMkVmNXNFRDNRc0s0dFZSWCsybFhYZDY3bkNNUUVBY3pURklKN1c0?= =?utf-8?B?VjZvY05PaUFwb1RnbWRUOW1veXAyMno2MXBKLytnYmxOdTFpUGJ4NzFXUG1Z?= =?utf-8?B?enFDb2NJTXM5YVJJQUdqRXdiQzRLTjREZ2xOVGYrREF2YXlURlRnSnRzQTgx?= =?utf-8?B?MjZ1clZnS0JaWlA2alpQWGN0dU96NERSR25sK2lNcDlFZzdSRkdad202L3JC?= =?utf-8?B?ZGUrbWVqZy82b3AxWGh4eDc3ZHY4akZWdEFTZUR5L0xXMkE3M3plZVI2TDB4?= =?utf-8?B?N2N6ZE1kZ2duZGJlK1ErWVhkSlh6R0pxTXgrd0JmNUMzb1V4cC9JdDZrNW1j?= =?utf-8?B?dVpoNHdZbDc0Q2loMmhhMHJlNWFTbzQ1OUZQL2pJWWNEUkQ2V2M5a0JPOG8x?= =?utf-8?B?eE12UHdxK3JoWkV1OHRLbG1Zd1lBd0JkUCtXenhBbVpJY1Y5b291Z1NkbjNF?= =?utf-8?B?akQzdWx2dWxGWHh4Rk1CL3hPQUlZY09ZQm90Vi9JaC9UQ2FRT09FTjdWNzVy?= =?utf-8?B?Z0pMRTY3YkpvaEZTMjVpRWhtU2xiODFVMjhGclhVOE1JWWxlcVFYMHpUUExZ?= =?utf-8?B?TUZtYmlkTEZyN09EMEZDL1p1UWdnc1N5c1NCTWMxVjBJdG9kcE5HbHdsMmsw?= =?utf-8?B?MWVaV2phZmhuSGZ6QWlQTm5ndmtuL2VVcnVHcFdtcG9Xa0gwYlpZSkVKODJn?= =?utf-8?B?aXllSTRrYkNSb0NKSThKbUxOdXhDTlJnY2ZFUUxETEQ5dWNodGpQMGYyNjcw?= =?utf-8?B?Z2poUmRBZmVidXcyY0dCZ2VCY00zN1hmQkZZaFhTREd1Ukt2SDNIbzRNU2hU?= =?utf-8?B?SHMvbSt2dzB3YUN4bDhNVXd3MnR3TWs0aEFiSUNNMHU0bitRbWJ6WTlIdWVU?= =?utf-8?B?Vk1iUjZmK2Rmek02UVZoemdtd3pML1hGd2Y3NVRIVzFaWi9TTnIrSXdBR3Ux?= =?utf-8?B?T1VoVG16V2VxRGhlZDE2ZDQxU0EwSG9XRHlZUnArMW1KVHRrajFmMWNjSjl1?= =?utf-8?B?SWRWNlVhRDRoclc2cWRkcW0xdGd3UTE0OUVxTWgwMkRQbW54bzdWSkFzTVJV?= =?utf-8?B?QmZmOWhERFYzODNwUEZOUU1EUHhsQjZXbFF5MDllbjV5SVJ4RERsVnE5UGM0?= =?utf-8?B?Mm9nSzFqMVR6czhkNGY0RmJuVXk5ZndxMUZIU2pSUGtybWs5cmh0QXRhc1pi?= =?utf-8?B?UEt1bW1pWkxuSUZka2NJM1NoWGgxZEJsQTF4emJoa0Rpa2UzaWZITHNJTEMr?= =?utf-8?B?eW5uU2JWZDBnWE9TWHB3ZFd4MGZFM2htOFQ0Mzh1bjdEZnA1eno2ZWdtUGtL?= =?utf-8?B?RUZrRVJYaVJGS0piak1FNW1nQlB1bDRSamFYaTgwNDUwbWw0cTQ4ZTVGZG1B?= =?utf-8?B?eWkzeG92K0ZxYmpGMS9JQzQwNzExK1BzY1pBNzZvd2g0ekNBWGx3bjRNdllx?= =?utf-8?B?QUVkVEtIaGs3UGNTN3hwYVJXY3VNZDZGOXJaL0txTjFqUjFMdStVRXlTVGVw?= =?utf-8?B?TlJjK0xicWZvODRTT2gwL09jN2pLM2JCck9wRUhnZzRwVUZ0NVlVcWJqbWlO?= =?utf-8?B?VVdRYWFKSG1ReEY5UUE1T0xxTlluNzQyN1VZMVVqRjZ3Y1lkRFBPM2RNaWhm?= =?utf-8?B?Z1lobWdNUFA4YnpuKzJ6dE5ES3VrVGQ3Umlqa0EwTms0S3Z0a2l0eHVscnBC?= =?utf-8?B?WFVYSWVUbTBhdWJGWEN6TDVvbjVCOGc0eTdjSUNtREtaSXdlTUU0S3M1TE52?= =?utf-8?B?a3FhSmtYMWlseHZyYkVJUFExZGdsT29pbFA5TGZRRVFOck5MR0YyZ2RSSSt1?= =?utf-8?B?WnduZWJINGloT09uS3V4bjlGUGsxTTFIdTg2UUduTGt5T3FDaU1icE5oSmJC?= =?utf-8?B?RW9OOWtqdHozV0w3UllQOFBweHFXWmpzMXlmY2IySkxsbWJ3anB2bDE2OVJM?= =?utf-8?B?aTg4RzBZM1dPdS9RajU2RVRKYjFKWUNKYkdhMkxhUVlTRW1XTFJDaFl5aDVk?= =?utf-8?B?SFpHa2FRd1NGQ0tMTlZ2QStqQVpjWFpKb25sVG1BKzhoRDg0dTZkOGdHQTF3?= =?utf-8?B?S3V1K1QyK2hGL1FUc2x1aUFHNytBU0lQSFdDK3Ivd3BwTTlmYWpjR2pIb1Iy?= =?utf-8?Q?em7kWBmjvAD/iBwI=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6fd4971-7dfc-4d0b-eafc-08df1a3f9b02 X-MS-Exchange-CrossTenant-AuthSource: PA6PR08MB10708.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2026 13:27:39.7228 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BZlQxhZByQ3ZhNiT0acQo+qaf9rRsWuJLj6y1YtLG4l3sDm30fva5sR6qONu8yhHmFbJZyl1bqicwsQlfjzp7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB10279 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH vz10 1/4] ms/selftests: net: Add python context manager for netns entering X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org Committed to branch-rh10-6.12.0-211.52.1.22.x.vz10-ovz, will be released in rh10-6.12.0-211.52.1.22.3.vz10 ae029f6f2312 ms/selftests: net: Add python context manager for netns entering Change netns of current thread and switch back on context exit. For example: with NetNSEnter("ns1"): ip("link add dummy0 type dummy") The command be executed in netns "ns1". Signed-off-by: Xiao Liang Link: https://patch.msgid.link/20250219125039.18024-13-shaw.leon@gmail.com Signed-off-by: Jakub Kicinski (cherry picked from commit 030329416232ff9f2e3e4bb065b29e6c9a7d5050) https://virtuozzo.atlassian.net/browse/VSTOR-139651 Feature: fix selftests Signed-off-by: Eva Kurchatova Link: http://lore.virtuozzo.com/20260831225137.1642608-1-eva.kurchatova@virtuozzo.com -- Best regards, Konstantin Khorenko, Virtuozzo Linux Kernel Team On 9/1/26 00:50, Eva Kurchatova wrote: > From: Xiao Liang > > Change netns of current thread and switch back on context exit. > For example: > > with NetNSEnter("ns1"): > ip("link add dummy0 type dummy") > > The command be executed in netns "ns1". > > Signed-off-by: Xiao Liang > Link: https://patch.msgid.link/20250219125039.18024-13-shaw.leon@gmail.com > Signed-off-by: Jakub Kicinski > (cherry picked from commit 030329416232ff9f2e3e4bb065b29e6c9a7d5050) > > https://virtuozzo.atlassian.net/browse/VSTOR-139651 > Feature: fix selftests > Signed-off-by: Eva Kurchatova > --- > tools/testing/selftests/net/lib/py/__init__.py | 2 +- > tools/testing/selftests/net/lib/py/netns.py | 18 ++++++++++++++++++ > 2 files changed, 19 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/net/lib/py/__init__.py b/tools/testing/selftests/net/lib/py/__init__.py > index bffe01d5ee2d..02be28dcc089 100644 > --- a/tools/testing/selftests/net/lib/py/__init__.py > +++ b/tools/testing/selftests/net/lib/py/__init__.py > @@ -2,7 +2,7 @@ > > from .consts import KSRC > from .ksft import * > -from .netns import NetNS > +from .netns import NetNS, NetNSEnter > from .nsim import * > from .utils import * > from .ynl import NlError, YnlFamily, EthtoolFamily, NetdevFamily, RtnlFamily, RtnlAddrFamily > diff --git a/tools/testing/selftests/net/lib/py/netns.py b/tools/testing/selftests/net/lib/py/netns.py > index ecff85f9074f..8e9317044eef 100644 > --- a/tools/testing/selftests/net/lib/py/netns.py > +++ b/tools/testing/selftests/net/lib/py/netns.py > @@ -1,9 +1,12 @@ > # SPDX-License-Identifier: GPL-2.0 > > from .utils import ip > +import ctypes > import random > import string > > +libc = ctypes.cdll.LoadLibrary('libc.so.6') > + > > class NetNS: > def __init__(self, name=None): > @@ -29,3 +32,18 @@ class NetNS: > > def __repr__(self): > return f"NetNS({self.name})" > + > + > +class NetNSEnter: > + def __init__(self, ns_name): > + self.ns_path = f"/run/netns/{ns_name}" > + > + def __enter__(self): > + self.saved = open("/proc/thread-self/ns/net") > + with open(self.ns_path) as ns_file: > + libc.setns(ns_file.fileno(), 0) > + return self > + > + def __exit__(self, exc_type, exc_value, traceback): > + libc.setns(self.saved.fileno(), 0) > + self.saved.close() _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel