From patchwork Tue Apr 24 14:39:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Toshiaki Makita X-Patchwork-Id: 903535 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@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; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="AQqQdP3p"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40VmFR3k94z9ry1 for ; Wed, 25 Apr 2018 00:39:55 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754353AbeDXOjx (ORCPT ); Tue, 24 Apr 2018 10:39:53 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:42277 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753873AbeDXOjm (ORCPT ); Tue, 24 Apr 2018 10:39:42 -0400 Received: by mail-pf0-f195.google.com with SMTP id o16so12428075pfk.9 for ; Tue, 24 Apr 2018 07:39:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Ka0ZM5CLXuMLb1EDxJatXwxi10OkeGsdQMib7YdxCHM=; b=AQqQdP3pX+Nmi8VdfZnNZ3ymQawvgaJOUXty8jnRzPqC1z7eeOmsQ+1piN2GJUmwD8 Q/RlY8bxoRzmOSo+EmernhTjsCLRC6pUKS0irggN9QqROn5BYc2aA+wnHZDeZ08LlgVJ KruEj+1OU7WVroh8eOiwqpWC9WYnq1O+0YNrjWLovjsy139Ibe0/QAmFFuv6M9SRzArL xbnqp6WGZIZWAJhGbx+xN4Kl2ykk1hEV4gkROhG4VLYWqfHjNdazc0yNaAU5k7zXnveV 0Y6v3NKqN3wHDSgvQznEvJHPBJQSHXC9c/cUT/YroycCtvDDMORirPEyC6KJ9WjaPeYy Ygkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Ka0ZM5CLXuMLb1EDxJatXwxi10OkeGsdQMib7YdxCHM=; b=gK+nqpAeSp7uKDKSBEa9nIxUrHr7mHsL6iMnBsSznvRh5maZekG9fhXJgrBfEsVJEV tbP951tPDdPd+E6PcEiiup92EHQFH3Nu+Xq9FbHPfDaqPku+W+paGFn1D197FqVHNsL9 iFoTlmXV+bZV0iFJf0tgFEFbwlzNFH8jDC8X6eLKd6V/8+zdu7jeJ4u3qcWfo7zaQHrb brS2Zb5HcdXT6AOOchrE0FGW47H/tutqkZZsOZyUGVkEdE8RqZef37Jwcn7Tm7mhH4OI 3HLb2j28d09GlXhO9+W2/VZ021DL8LUCJFAsLVPkKasTytGOWhPSY2LV4YdCWkzWnRn3 Nb+Q== X-Gm-Message-State: ALQs6tBeuvrzPxIMpOEO4JRjQPOT+3fmKH970ghf8ms6pR/uyKwjK7al 6XJcL0FseBCF5E/e3yLC5bjf6TZkWVk= X-Google-Smtp-Source: AIpwx481GJMMk/K33FKYb7kFX8gR+5GD7zArOznzzINNpJw065nFwa2FaO30lAqLMXrbUWu30yw+Tg== X-Received: by 10.98.118.130 with SMTP id r124mr24117655pfc.80.1524580782223; Tue, 24 Apr 2018 07:39:42 -0700 (PDT) Received: from localhost.localdomain (i121-115-166-6.s42.a013.ap.plala.or.jp. [121.115.166.6]) by smtp.gmail.com with ESMTPSA id o64sm28179970pfb.62.2018.04.24.07.39.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 24 Apr 2018 07:39:41 -0700 (PDT) From: Toshiaki Makita To: netdev@vger.kernel.org Cc: Toshiaki Makita Subject: [PATCH RFC 1/9] net: Export skb_headers_offset_update and skb_copy_header Date: Tue, 24 Apr 2018 23:39:15 +0900 Message-Id: <20180424143923.26519-2-toshiaki.makita1@gmail.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180424143923.26519-1-toshiaki.makita1@gmail.com> References: <20180424143923.26519-1-toshiaki.makita1@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Toshiaki Makita Signed-off-by: Toshiaki Makita --- include/linux/skbuff.h | 2 ++ net/core/skbuff.c | 12 +++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 9065477ed255..fdf80a9d4582 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -1030,6 +1030,8 @@ static inline struct sk_buff *alloc_skb_fclone(unsigned int size, } struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); +void skb_headers_offset_update(struct sk_buff *skb, int off); +void skb_copy_header(struct sk_buff *new, const struct sk_buff *old); int skb_copy_ubufs(struct sk_buff *skb, gfp_t gfp_mask); struct sk_buff *skb_clone(struct sk_buff *skb, gfp_t priority); struct sk_buff *skb_copy(const struct sk_buff *skb, gfp_t priority); diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 345b51837ca8..531354900177 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -1290,7 +1290,7 @@ struct sk_buff *skb_clone(struct sk_buff *skb, gfp_t gfp_mask) } EXPORT_SYMBOL(skb_clone); -static void skb_headers_offset_update(struct sk_buff *skb, int off) +void skb_headers_offset_update(struct sk_buff *skb, int off) { /* Only adjust this if it actually is csum_start rather than csum */ if (skb->ip_summed == CHECKSUM_PARTIAL) @@ -1304,8 +1304,9 @@ static void skb_headers_offset_update(struct sk_buff *skb, int off) skb->inner_network_header += off; skb->inner_mac_header += off; } +EXPORT_SYMBOL(skb_headers_offset_update); -static void copy_skb_header(struct sk_buff *new, const struct sk_buff *old) +void skb_copy_header(struct sk_buff *new, const struct sk_buff *old) { __copy_skb_header(new, old); @@ -1313,6 +1314,7 @@ static void copy_skb_header(struct sk_buff *new, const struct sk_buff *old) skb_shinfo(new)->gso_segs = skb_shinfo(old)->gso_segs; skb_shinfo(new)->gso_type = skb_shinfo(old)->gso_type; } +EXPORT_SYMBOL(skb_copy_header); static inline int skb_alloc_rx_flag(const struct sk_buff *skb) { @@ -1355,7 +1357,7 @@ struct sk_buff *skb_copy(const struct sk_buff *skb, gfp_t gfp_mask) BUG_ON(skb_copy_bits(skb, -headerlen, n->head, headerlen + skb->len)); - copy_skb_header(n, skb); + skb_copy_header(n, skb); return n; } EXPORT_SYMBOL(skb_copy); @@ -1419,7 +1421,7 @@ struct sk_buff *__pskb_copy_fclone(struct sk_buff *skb, int headroom, skb_clone_fraglist(n); } - copy_skb_header(n, skb); + skb_copy_header(n, skb); out: return n; } @@ -1599,7 +1601,7 @@ struct sk_buff *skb_copy_expand(const struct sk_buff *skb, BUG_ON(skb_copy_bits(skb, -head_copy_len, n->head + head_copy_off, skb->len + head_copy_len)); - copy_skb_header(n, skb); + skb_copy_header(n, skb); skb_headers_offset_update(n, newheadroom - oldheadroom);