Received: by 2002:a25:d783:0:0:0:0:0 with SMTP id o125csp654383ybg; Thu, 19 Mar 2020 06:28:56 -0700 (PDT) X-Google-Smtp-Source: ADFU+vsfXCHLU5rcLruL1q/xjKjls3Wtjqmjotj2fDv6dTcDnvdHGWmB+Zl9HXgxgFen1GFWPbn/ X-Received: by 2002:a9d:5e8e:: with SMTP id f14mr2269269otl.303.1584624536752; Thu, 19 Mar 2020 06:28:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584624536; cv=none; d=google.com; s=arc-20160816; b=INkYtTY/+RqdgQy6aA1LXA8kvc9DHBroOjF4GsJC0BirLShg1RSdGsKzz/lBjpz/WE OyvtLKZSw8P6g9x8gR6iItoIYMv2mi57d1leyZd6RwthDO67yG+RiD1MbCSEVEh57tvx BHw3b6IppPZ1VZ+aCifTYdqVm2ZUinXZlKjEP7T/tXl2Pabu/ae77OI4SlFI89bUyefJ OC9Mze6POnnuiZm16NSRg9NTtJEUa4MLIAjeW+jZvX6n+ppiAxJA4xM6DB0gCKvNK1bQ FoHSnkjQYh48ACHhVI0V/zaPJEWXmAelcoIxd9EgTpBE7kINkhf0AtENkYX+sPHmnVHG TcTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=35v5eqw9pgcJEPAs0EzeOsAfrMD+fSwm6gpSw+EnsmI=; b=IWQUq4OaCsJHPIYVQJLl1OqSC/GHJtpzm3w6yr7v0uqPcGEAoFbXth4Qlt1NQXo83r xklhuMNuhvoJt05sXPajFX3aXCVBNxOyHkwbiCsACI+DyHiSlX7u+4TRyfkK9Fnbmajo W/hvLVa7JdCtoRTa1cdQO4zhU0O+5ExInqYIkiZn7oB9K8NVhsnJYYHvxKA75i6xg5Jb o4kYJCORBMTP+F2ZtXkGMGG1HLI3Pb8HyCJvsoWUitFcynIXHfvq2+4C/yAjOGbzt7/M D1nHt9RVtspn6/SmWQTRXqkGR+KL66QRc0v8X7GZNS/1R9Fj1ilX2AQwn2o6sgCfd1CK xdcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=zIsSJplx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v9si1229328otn.120.2020.03.19.06.28.44; Thu, 19 Mar 2020 06:28:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=zIsSJplx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730931AbgCSN1t (ORCPT + 99 others); Thu, 19 Mar 2020 09:27:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:56122 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730331AbgCSN1n (ORCPT ); Thu, 19 Mar 2020 09:27:43 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 51B49208C3; Thu, 19 Mar 2020 13:27:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1584624462; bh=vwFQSTRGBXIuEHRlKDxDsMBN5Lx7bJ4941rvcPOxF5M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=zIsSJplxxEd0ZIRVJ1E0NqmkAz5NtRoOrqXJQyACZ05qKTjL/VtYmtmCgLmLXIWXK 5AWFA8f+ZaVWWCJtsZSPboKzAm/rfS8wTpPCCC84LTN1l7zsoJZl949G5Q8TNIJIs2 gz4yp5FLbn441xpgf6+BgJstMvJoYqWtKXQYgq00= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Taehee Yoo , "David S. Miller" , Sasha Levin Subject: [PATCH 5.5 53/65] net: rmnet: fix packet forwarding in rmnet bridge mode Date: Thu, 19 Mar 2020 14:04:35 +0100 Message-Id: <20200319123943.072434015@linuxfoundation.org> X-Mailer: git-send-email 2.25.2 In-Reply-To: <20200319123926.466988514@linuxfoundation.org> References: <20200319123926.466988514@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Taehee Yoo [ Upstream commit ad3cc31b599ea80f06b29ebdc18b3a39878a48d6 ] Packet forwarding is not working in rmnet bridge mode. Because when a packet is forwarded, skb_push() for an ethernet header is needed. But it doesn't call skb_push(). So, the ethernet header will be lost. Test commands: modprobe rmnet ip netns add nst ip netns add nst2 ip link add veth0 type veth peer name veth1 ip link add veth2 type veth peer name veth3 ip link set veth1 netns nst ip link set veth3 netns nst2 ip link add rmnet0 link veth0 type rmnet mux_id 1 ip link set veth2 master rmnet0 ip link set veth0 up ip link set veth2 up ip link set rmnet0 up ip a a 192.168.100.1/24 dev rmnet0 ip netns exec nst ip link set veth1 up ip netns exec nst ip a a 192.168.100.2/24 dev veth1 ip netns exec nst2 ip link set veth3 up ip netns exec nst2 ip a a 192.168.100.3/24 dev veth3 ip netns exec nst2 ping 192.168.100.2 Fixes: 60d58f971c10 ("net: qualcomm: rmnet: Implement bridge mode") Signed-off-by: Taehee Yoo Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c b/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c index 074a8b326c304..29a7bfa2584dc 100644 --- a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c +++ b/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c @@ -159,6 +159,9 @@ static int rmnet_map_egress_handler(struct sk_buff *skb, static void rmnet_bridge_handler(struct sk_buff *skb, struct net_device *bridge_dev) { + if (skb_mac_header_was_set(skb)) + skb_push(skb, skb->mac_len); + if (bridge_dev) { skb->dev = bridge_dev; dev_queue_xmit(skb); -- 2.20.1