From patchwork Sat Dec 9 20:58:28 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Subash Abhinov Kasiviswanathan X-Patchwork-Id: 846596 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=codeaurora.org header.i=@codeaurora.org header.b="f03NSO5O"; dkim=pass (1024-bit key) header.d=codeaurora.org header.i=@codeaurora.org header.b="f03NSO5O"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yvM6M623gz9sCZ for ; Sun, 10 Dec 2017 07:59:39 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751942AbdLIU7O (ORCPT ); Sat, 9 Dec 2017 15:59:14 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:49304 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751115AbdLIU7H (ORCPT ); Sat, 9 Dec 2017 15:59:07 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 715DA605A5; Sat, 9 Dec 2017 20:59:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1512853147; bh=eAYcxcOOrxjd0Y6R63kofBO2KaemKPQJxSpXSf5LLSg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=f03NSO5O8qlJb/zlHzxSEIAXRkLCBotxbyjcIddHonP6ZvdFfHqnTtIQHPtRTOziS OvzmPNj4oFDDtUgXkx6Y0A4HVMjLEXFcW5ivWCT6ttZys/Q0S6QsPtnVctc3DAuNwb N/QoyAETmVuNQOfO2G0t1u/krtfbv0vFnMo4sT3Q= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED, T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from subashab-lnx.qualcomm.com (unknown [129.46.15.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: subashab@codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id BB9DE60581; Sat, 9 Dec 2017 20:59:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1512853147; bh=eAYcxcOOrxjd0Y6R63kofBO2KaemKPQJxSpXSf5LLSg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=f03NSO5O8qlJb/zlHzxSEIAXRkLCBotxbyjcIddHonP6ZvdFfHqnTtIQHPtRTOziS OvzmPNj4oFDDtUgXkx6Y0A4HVMjLEXFcW5ivWCT6ttZys/Q0S6QsPtnVctc3DAuNwb N/QoyAETmVuNQOfO2G0t1u/krtfbv0vFnMo4sT3Q= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org BB9DE60581 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=subashab@codeaurora.org From: Subash Abhinov Kasiviswanathan To: davem@davemloft.net, netdev@vger.kernel.org Cc: Subash Abhinov Kasiviswanathan Subject: [PATCH net-next v2 4/6] net: qualcomm: rmnet: Process packets over ethernet Date: Sat, 9 Dec 2017 13:58:28 -0700 Message-Id: <1512853110-4893-5-git-send-email-subashab@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1512853110-4893-1-git-send-email-subashab@codeaurora.org> References: <1512853110-4893-1-git-send-email-subashab@codeaurora.org> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add support to send and receive packets over ethernet. An example of usage is testing the data path on UML. This can be achieved by setting up two UML instances in multicast mode and associating rmnet over the UML ethernet device. Signed-off-by: Subash Abhinov Kasiviswanathan --- drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c b/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c index a46053c..0553932 100644 --- a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c +++ b/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c @@ -15,6 +15,7 @@ #include #include +#include #include "rmnet_private.h" #include "rmnet_config.h" #include "rmnet_vnd.h" @@ -104,6 +105,15 @@ static void rmnet_set_skb_proto(struct sk_buff *skb) { struct sk_buff *skbn; + if (skb->dev->type == ARPHRD_ETHER) { + if (pskb_expand_head(skb, ETH_HLEN, 0, GFP_KERNEL)) { + kfree_skb(skb); + return; + } + + skb_push(skb, ETH_HLEN); + } + if (port->ingress_data_format & RMNET_INGRESS_FORMAT_DEAGGREGATION) { while ((skbn = rmnet_map_deaggregate(skb)) != NULL) __rmnet_map_ingress_handler(skbn, port);