From patchwork Mon Aug 20 17:15:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 959842 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41vL8L5KWLz9s8T for ; Tue, 21 Aug 2018 03:17:06 +1000 (AEST) Received: from localhost ([::1]:48265 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1frnnc-0007D7-9Q for incoming@patchwork.ozlabs.org; Mon, 20 Aug 2018 13:17:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49086) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1frnn0-0007Bf-8g for qemu-devel@nongnu.org; Mon, 20 Aug 2018 13:16:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1frnmv-0003CO-AU for qemu-devel@nongnu.org; Mon, 20 Aug 2018 13:16:26 -0400 Received: from mout.kundenserver.de ([212.227.126.133]:35230) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1frnmu-0003Bb-V7 for qemu-devel@nongnu.org; Mon, 20 Aug 2018 13:16:21 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue003 [212.227.15.167]) with ESMTPSA (Nemesis) id 0MXTlq-1fNQXC0YGE-00WY9B; Mon, 20 Aug 2018 19:16:12 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Mon, 20 Aug 2018 19:15:56 +0200 Message-Id: <20180820171557.7734-4-laurent@vivier.eu> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180820171557.7734-1-laurent@vivier.eu> References: <20180820171557.7734-1-laurent@vivier.eu> X-Provags-ID: V03:K1:PnNR/pidQhEQkXXBcazfhKMpGmW/yrflNXfON0z6cq10GxsPPhr gnZweZYzo13N94WtL92hEhrQs6pW0fPrvCnWCgMY3MzkbS63mlPUxHOmiZ1PDdEz6pEb7Aw 2b7TbC9OLjfwUsTzZIVgFGmLlJRxv86i93vXWFUg+CYYyUUvuE88XOrXzr0d7fb5DvZ/lbc JSItiUCnllnEbuGMiuscw== X-UI-Out-Filterresults: notjunk:1; V01:K0:jzCzmvih8ZU=:BJN70TBSFdgMkM6k79Mt10 19dfGcODqlq3Cl8i8XwcF+u29Wy2EhgJ6WE/x2mzeoB2Qk4b9vfLS/r4deSO8d2NDTAkwop49 xhriDArnsihO1Jhaono3+zFoxf84gA7kTYp6esD3j9Ef/loK5vPxvX40mlRWQen/1r2CKPxas bKgZaaYfjCuG837TUcf3Oc+iPOCs/D350ZovIC+mx08CfvSKYqUQPfBE02ZHCgkRnhsSzG2nf 4rIk1IsO7Ak9ZVqutts/GfAj2UeZTvT8R85rd1BE0PHNcgqdknbWngq4PZl9PZWyfEolKJFFM Jg5VdbUur1K3NByJqVwxOiW7/s4YMbfn9e9foul4I54s5BVa+sakKPWcH93zcEMcG5wubkBcb fEBYUzPotiIlzm0Ysi3uehmMf875mXOet+eSyyjGheFgxhv7wb7+k9U4vVQ+pFPtzGSJg49Hm nWKkN/z0VYvKUR0XoBwJzNeZcON+1ika8kTkFnV0nCJafGVkTF9DE3bdZw5NJp9j+ZKiQ4Js2 gkmXh/6z1vE07n2uRho98OzFe603jgis/wE6HP/uQfrGPkoFGTTKgSp/MhmLtUrpQJWphFmEt Ft8aQPKYSqC0Etr/6AaVXNT6PnE83YuvumBvkMiTXeHditK6l1emtzI8eRn1fh+prt8Nq88MH t7ps5sOh3uLLhXnQYSK7StAp8Oz5ESC/PohgIJQO7Gkkan/arQGEW2J9ymRezXd+H1zo= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.126.133 Subject: [Qemu-devel] [PATCH v2 3/4] linux-user: update netlink route types X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Add RTA_PREF and RTA_CACHEINFO. Fix following errors when we start gedit: Unknown host RTA type: 12 Unknown host RTA type: 20 Signed-off-by: Laurent Vivier Reviewed-by: Peter Maydell --- linux-user/syscall.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index a2395eb1b6..197010945f 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2690,12 +2690,17 @@ static abi_long host_to_target_data_addr_rtattr(struct rtattr *rtattr) static abi_long host_to_target_data_route_rtattr(struct rtattr *rtattr) { uint32_t *u32; + struct rta_cacheinfo *ci; + switch (rtattr->rta_type) { /* binary: depends on family type */ case QEMU_RTA_GATEWAY: case QEMU_RTA_DST: case QEMU_RTA_PREFSRC: break; + /* u8 */ + case QEMU_RTA_PREF: + break; /* u32 */ case QEMU_RTA_PRIORITY: case QEMU_RTA_TABLE: @@ -2703,6 +2708,20 @@ static abi_long host_to_target_data_route_rtattr(struct rtattr *rtattr) u32 = RTA_DATA(rtattr); *u32 = tswap32(*u32); break; + /* struct rta_cacheinfo */ + case QEMU_RTA_CACHEINFO: + ci = RTA_DATA(rtattr); + ci->rta_clntref = tswap32(ci->rta_clntref); + ci->rta_lastuse = tswap32(ci->rta_lastuse); + ci->rta_expires = tswap32(ci->rta_expires); + ci->rta_error = tswap32(ci->rta_error); + ci->rta_used = tswap32(ci->rta_used); +#if defined(RTNETLINK_HAVE_PEERINFO) + ci->rta_id = tswap32(ci->rta_id); + ci->rta_ts = tswap32(ci->rta_ts); + ci->rta_tsage = tswap32(ci->rta_tsage); +#endif + break; default: gemu_log("Unknown host RTA type: %d\n", rtattr->rta_type); break;