From patchwork Fri Aug 2 08:52:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunyang Wu X-Patchwork-Id: 1968255 X-Patchwork-Delegate: i.maximets@samsung.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=jaguarmicro.com header.i=@jaguarmicro.com header.a=rsa-sha256 header.s=selector2 header.b=l7RmGSPG; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Wb0392hKLz1yZl for ; Fri, 2 Aug 2024 18:52:51 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id DB37940915; Fri, 2 Aug 2024 08:52:48 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id I0wDd7mQBc60; Fri, 2 Aug 2024 08:52:47 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=2605:bc80:3010:104::8cd3:938; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 4032240734 Authentication-Results: smtp4.osuosl.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=jaguarmicro.com header.i=@jaguarmicro.com header.a=rsa-sha256 header.s=selector2 header.b=l7RmGSPG Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id 4032240734; Fri, 2 Aug 2024 08:52:46 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 748ABC002B; Fri, 2 Aug 2024 08:52:46 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 86DCBC002A for ; Fri, 2 Aug 2024 08:52:45 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 66A3E820A9 for ; Fri, 2 Aug 2024 08:52:45 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id bqKcbMW2pRck for ; Fri, 2 Aug 2024 08:52:44 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a01:111:f400:feab::715; helo=apc01-sg2-obe.outbound.protection.outlook.com; envelope-from=sunyang.wu@jaguarmicro.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp1.osuosl.org C6DC6820A8 Authentication-Results: smtp1.osuosl.org; dmarc=pass (p=quarantine dis=none) header.from=jaguarmicro.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org C6DC6820A8 Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=jaguarmicro.com header.i=@jaguarmicro.com header.a=rsa-sha256 header.s=selector2 header.b=l7RmGSPG Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on20715.outbound.protection.outlook.com [IPv6:2a01:111:f400:feab::715]) by smtp1.osuosl.org (Postfix) with ESMTPS id C6DC6820A8 for ; Fri, 2 Aug 2024 08:52:42 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Zd9UCm/jlBfjozHKQ4LeSy9iV6MWsjmq2cdPuNwRRkLnV7Hp45706HGYwsdexqTCLLK/sCa6EYAmAhfIWhEJLyzKqg9nqtwar1DETxpb2tIQGXSn8p5GRNpyhnNJ3V8Q3IIqcYm3sysyzyjcNI0tm+u2cTu5XoQFS9LgRfwi9NLyX51/dB4Sj83YBXredbJn1pb49ngLgHtk3Bs7ExaI2yu9RN2UQkB0iYGiXTiiTLwWFRyKMLAXmuzDEQF03gn4SLTn9yRAapWfP8hLj//eDLBUskIQtuueHgJqM3GQq4XRTwm5mXDi3EOoJ+FTzR2HdLrhFLpkHkRPEwhLvphpiw== 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=RCwI7fRFvlKJiris1NY9rroPdB4rSCtv9jl148rdyP4=; b=N26NRLRMa2W+2FZ77wOIEO97xTwyN7k7upDfs1xJ5krgHHdhFWY57wj18e9gqJYg2JpaytgVrRh2r6yzAVatGyn4EKUIT0DAwwLZwneQZRf59Q9xu1tSVk16IqD1IxUuNxNHN0yz6ywh9vige09UPw+6K7QhXBKvZ/fAe83PteJYoh/aLU1ifAKizP2P7QWOu6zqOV1/ggNxoddh7C1/x1PPQYidSJCnQFtMJsVdkWyijwcEZiyxLFFz0gV3qX8m7oQVJaXT3ZDAIJQQXWskLAtUEVmQbaQtRHyXmDZWDduuX3cVuEOK7/MGwXHFr89C1SS4MQCRzaPsnbz+fLeh2A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jaguarmicro.com; dmarc=pass action=none header.from=jaguarmicro.com; dkim=pass header.d=jaguarmicro.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jaguarmicro.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RCwI7fRFvlKJiris1NY9rroPdB4rSCtv9jl148rdyP4=; b=l7RmGSPGr/GSdUCz8j5vNSlWYlbAI8/oq9H2Sc4JnwJKoZp00AnT8kuhz98ouX0EK/NFnq+HfTO4uoTjjk+GvaNDORICQmmREm/ClCHmvhtwTweOgvpwI4ORWiyfF+0oxZKWZzZ8Qto1mY1kR8LLoKn64POp7jyLrkHF6zWYdJqhw9hXufCzO6Dumgv0f88hcRg0u4rGhNDxItkRDAjYd//ta5OydA7jWkLyHl6tF9jrtApqtIClfm14/jovLxAEZabhRIPVs4KMGbWS7RYBO266VRZUzWego2pF0Wtrw/8G5/XODQQQnhVt/N4J73BjzORZWWhVW4Ha3dUkhfhOXQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=jaguarmicro.com; Received: from KL1PR0601MB5567.apcprd06.prod.outlook.com (2603:1096:820:c5::14) by KL1PR06MB6257.apcprd06.prod.outlook.com (2603:1096:820:d1::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.21; Fri, 2 Aug 2024 08:52:35 +0000 Received: from KL1PR0601MB5567.apcprd06.prod.outlook.com ([fe80::3ad3:b4d9:7e69:85cb]) by KL1PR0601MB5567.apcprd06.prod.outlook.com ([fe80::3ad3:b4d9:7e69:85cb%5]) with mapi id 15.20.7828.021; Fri, 2 Aug 2024 08:52:33 +0000 To: ovs-dev@openvswitch.org Date: Fri, 2 Aug 2024 16:52:22 +0800 Message-Id: <20240802085222.30784-1-sunyang.wu@jaguarmicro.com> X-Mailer: git-send-email 2.19.0.rc0.windows.1 X-ClientProxiedBy: SG2PR01CA0148.apcprd01.prod.exchangelabs.com (2603:1096:4:8f::28) To KL1PR0601MB5567.apcprd06.prod.outlook.com (2603:1096:820:c5::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR0601MB5567:EE_|KL1PR06MB6257:EE_ X-MS-Office365-Filtering-Correlation-Id: 0c2e7b9e-17cf-4740-75dd-08dcb2d07341 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|52116014|376014|366016|38350700014; X-Microsoft-Antispam-Message-Info: pc/xj+zGliaRwMeXwIFaZJ6V9/usOVNRMnh8uq4WUIJqOyGr1B3pK+DxPSn193S0Gaxf4UvJhWOzpDT0KfmubI4mfA/mx0jdMjc7YuXkM7QCLNGLzKxHP6outg9obnFDzQQlv3cLzY5wdQEdO9INPNAs9zU+7aeoe0eXhx1kOQ6RXMKCIBAOJ+6nirNzgNIm+Fdovt+x9W7ioP2a0RQjVnrrkgToY65ZQ+y6ANbR1z88dwqcctdWrXUrELl9zhRBqG2VLvEWZyOh4xpyouDXmMvzDiM3zHrcPRvvB+E9vCHQEAqD1VlfNKlGUVdNJJ0h/cbY49/X1E7QXvUUKl/cDaE0ga0ixbq8FHfQbulOwVuH2PSxBzDg3BJIbropnd+Ghfww7d73HDceVIPh6MCw2U3XoFBhaVrC4vH1Q+9CGgfGdOXYaGDroUrcB8khP0qxS+286kVuN7MjkRd7+FTA8N/kN15Kjw/+zt+SBshwj7YfhplrLHv+z447DWg+b/WVzKvO98XkfvWhr2So025CDS+nlTUI+bXgaFlMrxqKqjX7NQ9Zi3x2h6uXFOFynT8yH2nvNaMDpGPmuuIc7YZcziWtX+LWgM3GnTMZKjBUWUZ5flISlfxO2uKKrz1Pomaricr8dZdlnqd4w/eOYHLnc0K5hIaoB6nSTgj82/37rPa2/hXpoLg2yl+d7EkFjXs/92lAKCpJ89zn/JGpuJzUZGQyTzFHUaNC4RdNpI59LGM1gO8y88RI6AoO5tFJn8LhDd55erOXITCwjsR+TmiDp3dMCNMqZPtEOPeDXW78IgkEmRKep/Na7j0MSca5ryG2H4KPvbJqNhBd/cU0ecPf6nnvfY4dwEybHdbX8OTZ5J9lUVGVL0Ufz0wZMzbGX3ngJvDon0zkt5FHxTm5w+XCjT42F/e0NWka20IKyWKMCpm5CpnBZgMpM8JPWgvb/3Z/tqKFVvqzX6+RC5Sp1xkpev00VWfDtTRjmjGy3/6UPBVuAI6wubi1757nh/ULk+xhN3azSe37/tOAYcJHex0NTRlEWbh88xwQDjlh0pbnfdIo7F01L+QxTH82iGRSB6yS3u60sAY1NgrubD6M1uFpMQPH8YugdzXN7WoPAh+0CRnh5zYrqombu7+DEbEyHoK+MjvkQY+ZTbkMWRo59W8e//g9Edp7yj8gGOlqCkv81UAdloiWdwBT2MjKUhjOw8zU2BcdOxHLAyI5N8Zd3XkCXtE9/TJnkcHq9TV+gSaFH8g6x63jYn0D3hLSYXZg1T2qB0JDdxVFCaY8AdgxJeA6EYoPd4975OXJXhfiC37Bxiv41CEMXMNEf5E1eLxsWAtyKKvkKUmv1whReFd//he27k1yQh0KMqX8QqeBKq/4Ro3dJCQTtLuY7HmfNf7dJXEHDp2od5C/qLOA+a6GGWKS+w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR0601MB5567.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(52116014)(376014)(366016)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cZ+VjZcXm27uxlA5XmRNAmxR5acqJHIvK0AACnBWr86A/gbrzFv+YSce8AdX3f0cYF7y8iU1Ul7aAZ36v2tIl34Siw2VaPVoIMAFT/monNC5EG62/yZ4IC8LCqMqGsP62ZEnu/LS1mE6MIHsrwXOPz+yJok6+8/WiLAHON3A5cJmddF/EqZ2BctUFGjG1xK2mSO5SEaALmV/bWbl2dQHLOp5laLAF/gJxp46eiF00N2xuXFVYxrKHL6Sti8BBnb+BFRefEPQNs+JJsZHjbPSvguKLPiNIG6EthlfjilBaQVZ+69iKouMNc0SN4gpfJ/gFVwKFd5VhM+VweB2S6JerNloHbvnJ0NojptnsTtlDoEou+Q1jk1ij/8B9ePqmeViV15s1JkkaGeo1oDHDY446I5I00oJEeqg5KmevH0gcGs7VqCFcunJg95xGonyRWbdQxIlJVcxd+lVF4U2DmpKSvHc/d0ekiot2/cQGmL7biFAMxcoMlGRhWnWj6JAlEEOi1KPGyraQJXJ9+DMimHwRX16CneOd6yQxg66AbPqGRsL/mt4SmUkcg5Saa5NAu+UHHglC3SmS/zcsZFsbRuZFGICJRvEC4uMBoddU+jNLWe2uLeSUfmFQG1hqYbrMSQJ8mpl6UeIHWvN7rhNIFpjrW03pGNacoTYBeZwzvYdXYR0Sgbmo5f25rvNRKdy6eODn5EcDSWt4UC2iJX+eDkTWIoa9jzMYuCxr0Jva2nowOl9Wtx9BTAJpDpZynFAWR1HCluhayQ1nvR93sLkngIB+OnYUlVdFWTOGB1tkOPmhlr3p9+wehjWZlwzl7U4W5aJCpGoi1piriPyLNvOKY/Ee4tMbOc2zBjt7NF4ZqxKsD1KnxZjyeGylg930yVRNd37lhoOwrr3Fcl/Wd7sQh1w/NZZTq0z6HMUIiWxHljtkalxLA5A+/570M+AbpA3VTTzwVg8CtuBuxafnAVJK9mn5F2qus0r2DGM/k0aBKBwxUPiCqDLa0JizYjpvaTSW+/YkkLHPR9ANJcKSyaMU4bt/FudRv/T/TuVuEFU0SabNheY3orh2gcnltULOtabe7nRkf1TQZvMxIzPDB6OwX4T0o6U3hu7osoBp+EjZ3tud6xJ0tuaDHtFJ9+Vm2Uh7yqMK5lZzigc5Hs6S1avvxKmVt4Y6CeAVNLbAv6eb29arVh4Te2KQzbmwJYvBBr6nx5J2rLnapgLlriElAQP9UIuj9/9PYQSIo6ah7RzlF/QPGV5r1sKUKbrJfOihrY71sopEhiaLGtkCXzBeEyKGJp+0uZkH8HZIOZ4VRBdyZ2LCPMUzzc1zX/rR5ve+I4oAxG9FTlaT5OXwXm1lOXqc70bIf2oMOB2fMVdlD9aF4KUCMSFnf9OWH85mCIxBiwsw3JfVQMQ5v+rZ6i65Kj+/H8hSkpX3PQoUZ6CPwzV5U/ewUzo6QU4v3OX20KrhuVNlHM5mjBms3C9mTeFfo19ALeoJZgvGw+RPex5o/XZpVZ+MdkqnFi8vxjAGEgP7J2MyjdieRGHEE8bKEZoy9MVjZahCazTyebZa0h5zAZA8cNX32EkcnnhU7LxFIEJbsBGY3pYjqLawsqYVrV0dqunXZw2JA== X-OriginatorOrg: jaguarmicro.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c2e7b9e-17cf-4740-75dd-08dcb2d07341 X-MS-Exchange-CrossTenant-AuthSource: KL1PR0601MB5567.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2024 08:52:33.8365 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 1e45a5c2-d3e1-46b3-a0e6-c5ebf6d8ba7b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SoBrRqvvILG8eBRkvB9n6OFmXUrnqiV6Cz3ZSq8rfG9jpqRyA9rs6oXRX275nkesNG9+VTRNiDg0hO1kdD8ZcsQQHku+AlD4PXr7IIqvN74= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR06MB6257 Subject: [ovs-dev] [PATCH] tunnel: Fix the bug in calculating the pop header length. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunyang Wu via dev From: Sunyang Wu Reply-To: Sunyang Wu Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" In the original logic, when the Layer 3 protocol is IPv4, hlen equals sizeof(struct eth_header) + IP_HEADER_LEN. For IPv6, hlen equals sizeof(struct eth_header) + packet->l4_ofs - packet->l3_ofs. However, in the VLAN over VXLAN scenario, the hlen length does not include the VLAN length, leading to errors in popping the header. Now, hlen is uniformly modified to packet->l4_ofs, which includes the total length of both Layer 2 and Layer 3 headers, thereby correctly removing the tunnel header. Signed-off-by: Sunyang Wu --- lib/netdev-native-tnl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c index 16c56608d..1db258daf 100644 --- a/lib/netdev-native-tnl.c +++ b/lib/netdev-native-tnl.c @@ -117,7 +117,7 @@ netdev_tnl_ip_extract_tnl_md(struct dp_packet *packet, struct flow_tnl *tnl, tnl->ip_tos = ip->ip_tos; tnl->ip_ttl = ip->ip_ttl; - *hlen += IP_HEADER_LEN; + *hlen += packet->l4_ofs - sizeof(struct eth_header); } else if (IP_VER(ip->ip_ihl_ver) == 6) { ovs_be32 tc_flow = get_16aligned_be32(&ip6->ip6_flow); @@ -128,7 +128,7 @@ netdev_tnl_ip_extract_tnl_md(struct dp_packet *packet, struct flow_tnl *tnl, tnl->ip_tos = ntohl(tc_flow) >> 20; tnl->ip_ttl = ip6->ip6_hlim; - *hlen += packet->l4_ofs - packet->l3_ofs; + *hlen += packet->l4_ofs - sizeof(struct eth_header); } else { VLOG_WARN_RL(&err_rl, "ipv4 packet has invalid version (%d)",