Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/616990/?format=api
{ "id": 616990, "url": "http://patchwork.ozlabs.org/api/patches/616990/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/20160429224327.12418.95639.stgit@ahduyck-xeon-server/", "project": { "id": 7, "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api", "name": "Linux network development", "link_name": "netdev", "list_id": "netdev.vger.kernel.org", "list_email": "netdev@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20160429224327.12418.95639.stgit@ahduyck-xeon-server>", "list_archive_url": null, "date": "2016-04-29T22:43:27", "name": "[net-next,v2,4/9] vxlan: Add checksum check to the features check function", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "cd27a2fa0962e8486e5a7fe89f300725881291dc", "submitter": { "id": 67293, "url": "http://patchwork.ozlabs.org/api/people/67293/?format=api", "name": "Alexander Duyck", "email": "aduyck@mirantis.com" }, "delegate": { "id": 34, "url": "http://patchwork.ozlabs.org/api/users/34/?format=api", "username": "davem", "first_name": "David", "last_name": "Miller", "email": "davem@davemloft.net" }, "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/20160429224327.12418.95639.stgit@ahduyck-xeon-server/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/616990/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/616990/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<netdev-owner@vger.kernel.org>", "X-Original-To": "patchwork-incoming@ozlabs.org", "Delivered-To": "patchwork-incoming@ozlabs.org", "Received": [ "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3qxTJG0f3kz9t7Z\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSat, 30 Apr 2016 08:43:42 +1000 (AEST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752838AbcD2Wnd (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tFri, 29 Apr 2016 18:43:33 -0400", "from mail-pa0-f53.google.com ([209.85.220.53]:34772 \"EHLO\n\tmail-pa0-f53.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1752231AbcD2Wn3 (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Fri, 29 Apr 2016 18:43:29 -0400", "by mail-pa0-f53.google.com with SMTP id r5so51664524pag.1\n\tfor <netdev@vger.kernel.org>; Fri, 29 Apr 2016 15:43:29 -0700 (PDT)", "from [192.168.1.143] (static-50-53-29-36.bvtn.or.frontiernet.net.\n\t[50.53.29.36]) by smtp.gmail.com with ESMTPSA id\n\tr191sm26067651pfr.36.2016.04.29.15.43.27\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tFri, 29 Apr 2016 15:43:28 -0700 (PDT)" ], "Authentication-Results": "ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=mirantis.com header.i=@mirantis.com\n\theader.b=OJT+BRJM; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=mirantis.com; s=google;\n\th=subject:from:to:date:message-id:in-reply-to:references:user-agent\n\t:mime-version:content-transfer-encoding;\n\tbh=2oEgTb1jk+hV3CVPMd2dRe87VUFChihyAseqt/LXfMs=;\n\tb=OJT+BRJM0A4I0GePBrSIXoRCvJ9rhJMysfFPAsAUKmeTlzAsnGIX/vUOWtmbnameIt\n\t3kMYpmaNfKAky0bjiWExjEWJZ9siErbQPcFXyeVkeZ90kuet9wdb9vlD7pQvqnwH21yU\n\tTdwKZfawiEWmMe+odO5HrtfFaEjF4u+wZuagM=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:subject:from:to:date:message-id:in-reply-to\n\t:references:user-agent:mime-version:content-transfer-encoding;\n\tbh=2oEgTb1jk+hV3CVPMd2dRe87VUFChihyAseqt/LXfMs=;\n\tb=RjJvPCwtJ/bUWXYrBmAl50NqH227znCcxvxg89TLhAc0e9wEx8AW2n22M1WGyLlAh/\n\t+rkoQ/tGgfOFOGxEfGnerDmabCIfBr6Cm+0Eu9H+oUOGyXf5Y2mgPRdIduFbRi3RkXOE\n\t4czf43TytmkmWXq9U0RUgGEurRAgYyCs2aUzdlFR16IeuHSsunSijpY8mE6kwyCLJejd\n\tWDRqwlaZiHaaC4y2eDALmZkYyoZCEYmNEXOmOCCek5XS6nvb6d6MbsXJj5wpFXaScuCc\n\tBs2ZWYsE1WmfasZ7BTfSW6Gj62EgLIfJMjn7kGn5wJlJCapIRGbG9lnKl7rAjzKFieYP\n\tOuHA==", "X-Gm-Message-State": "AOPr4FVV1N7Vfg6sO271E7eeX9X+DxbTNBDC7v44NyA2IOwpXb4gTYpdivGqfW9DmeMUXaAU", "X-Received": "by 10.66.222.202 with SMTP id\n\tqo10mr31850151pac.141.1461969808599; \n\tFri, 29 Apr 2016 15:43:28 -0700 (PDT)", "Subject": "[net-next PATCH v2 4/9] vxlan: Add checksum check to the features\n\tcheck function", "From": "Alexander Duyck <aduyck@mirantis.com>", "To": "talal@mellanox.com, netdev@vger.kernel.org,\n\tmichael.chan@broadcom.com, davem@davemloft.net, galp@mellanox.com,\n\togerlitz@mellanox.com, eranbe@mellanox.com", "Date": "Fri, 29 Apr 2016 15:43:27 -0700", "Message-ID": "<20160429224327.12418.95639.stgit@ahduyck-xeon-server>", "In-Reply-To": "<20160429222735.12418.61229.stgit@ahduyck-xeon-server>", "References": "<20160429222735.12418.61229.stgit@ahduyck-xeon-server>", "User-Agent": "StGit/0.17.1-dirty", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Sender": "netdev-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<netdev.vger.kernel.org>", "X-Mailing-List": "netdev@vger.kernel.org" }, "content": "We need to perform an additional check on the inner headers to determine if\nwe can offload the checksum for them. Previously this check didn't occur\nso we would generate an invalid frame in the case of an IPv6 header\nencapsulated inside of an IPv4 tunnel. To fix this I added a secondary\ncheck to vxlan_features_check so that we can verify that we can offload the\ninner checksum.\n\nSigned-off-by: Alexander Duyck <aduyck@mirantis.com>\n---\n include/linux/if_ether.h | 5 +++++\n include/net/vxlan.h | 4 +++-\n 2 files changed, 8 insertions(+), 1 deletion(-)", "diff": "diff --git a/include/linux/if_ether.h b/include/linux/if_ether.h\nindex d5569734f672..548fd535fd02 100644\n--- a/include/linux/if_ether.h\n+++ b/include/linux/if_ether.h\n@@ -28,6 +28,11 @@ static inline struct ethhdr *eth_hdr(const struct sk_buff *skb)\n \treturn (struct ethhdr *)skb_mac_header(skb);\n }\n \n+static inline struct ethhdr *inner_eth_hdr(const struct sk_buff *skb)\n+{\n+\treturn (struct ethhdr *)skb_inner_mac_header(skb);\n+}\n+\n int eth_header_parse(const struct sk_buff *skb, unsigned char *haddr);\n \n extern ssize_t sysfs_format_mac(char *buf, const unsigned char *addr, int len);\ndiff --git a/include/net/vxlan.h b/include/net/vxlan.h\nindex 673e9f9e6da7..b8803165df91 100644\n--- a/include/net/vxlan.h\n+++ b/include/net/vxlan.h\n@@ -317,7 +317,9 @@ static inline netdev_features_t vxlan_features_check(struct sk_buff *skb,\n \t (skb->inner_protocol_type != ENCAP_TYPE_ETHER ||\n \t skb->inner_protocol != htons(ETH_P_TEB) ||\n \t (skb_inner_mac_header(skb) - skb_transport_header(skb) !=\n-\t sizeof(struct udphdr) + sizeof(struct vxlanhdr))))\n+\t sizeof(struct udphdr) + sizeof(struct vxlanhdr)) ||\n+\t (skb->ip_summed != CHECKSUM_NONE &&\n+\t !can_checksum_protocol(features, inner_eth_hdr(skb)->h_proto))))\n \t\treturn features & ~(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK);\n \n \treturn features;\n", "prefixes": [ "net-next", "v2", "4/9" ] }