Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/633444/?format=api
{ "id": 633444, "url": "http://patchwork.ozlabs.org/api/patches/633444/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1465516213-18176-1-git-send-email-jarod@redhat.com/", "project": { "id": 46, "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api", "name": "Intel Wired Ethernet development", "link_name": "intel-wired-lan", "list_id": "intel-wired-lan.osuosl.org", "list_email": "intel-wired-lan@osuosl.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1465516213-18176-1-git-send-email-jarod@redhat.com>", "list_archive_url": null, "date": "2016-06-09T23:50:13", "name": "[net,v2] e1000e: keep vlan interfaces functional after rxvlan off", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "d5d3bb1eb6ce7f092fb85be6fce69527191494d2", "submitter": { "id": 1153, "url": "http://patchwork.ozlabs.org/api/people/1153/?format=api", "name": "Jarod Wilson", "email": "jarod@redhat.com" }, "delegate": { "id": 68, "url": "http://patchwork.ozlabs.org/api/users/68/?format=api", "username": "jtkirshe", "first_name": "Jeff", "last_name": "Kirsher", "email": "jeffrey.t.kirsher@intel.com" }, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1465516213-18176-1-git-send-email-jarod@redhat.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/633444/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/633444/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<intel-wired-lan-bounces@lists.osuosl.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Received": [ "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3rQhy51G7jz9sR8\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 10 Jun 2016 09:55:24 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 9DDBA32AAA;\n\tThu, 9 Jun 2016 23:55:22 +0000 (UTC)", "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id p61jY5y4xWy1; Thu, 9 Jun 2016 23:55:20 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id F32A732226;\n\tThu, 9 Jun 2016 23:55:19 +0000 (UTC)", "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 817161C2A60\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 9 Jun 2016 23:55:18 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 7B12B89768\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 9 Jun 2016 23:55:18 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id uIqsx8FNmnPT for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 9 Jun 2016 23:55:17 +0000 (UTC)", "from mx1.redhat.com (mx1.redhat.com [209.132.183.28])\n\tby hemlock.osuosl.org (Postfix) with ESMTPS id BF3108A840\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 9 Jun 2016 23:55:17 +0000 (UTC)", "from int-mx10.intmail.prod.int.phx2.redhat.com\n\t(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 070AC71092;\n\tThu, 9 Jun 2016 23:55:17 +0000 (UTC)", "from hp-dl360pgen8-07.khw.lab.eng.bos.redhat.com\n\t(hp-dl360pgen8-07.khw.lab.eng.bos.redhat.com [10.16.184.47])\n\tby int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with\n\tESMTP id u59NtG99028805; Thu, 9 Jun 2016 19:55:16 -0400" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": [ "domain auto-whitelisted by SQLgrey-1.7.6", "Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.38]); Thu, 09 Jun 2016 23:55:17 +0000 (UTC)" ], "From": "Jarod Wilson <jarod@redhat.com>", "To": "linux-kernel@vger.kernel.org", "Date": "Thu, 9 Jun 2016 19:50:13 -0400", "Message-Id": "<1465516213-18176-1-git-send-email-jarod@redhat.com>", "In-Reply-To": "<1463511831-13684-1-git-send-email-jarod@redhat.com>", "References": "<1463511831-13684-1-git-send-email-jarod@redhat.com>", "X-Scanned-By": "MIMEDefang 2.68 on 10.5.11.23", "Cc": "netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org", "Subject": "[Intel-wired-lan] [PATCH net v2] e1000e: keep vlan interfaces\n\tfunctional after rxvlan off", "X-BeenThere": "intel-wired-lan@lists.osuosl.org", "X-Mailman-Version": "2.1.18-1", "Precedence": "list", "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.lists.osuosl.org>", "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>", "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>", "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>", "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>", "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=subscribe>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "intel-wired-lan-bounces@lists.osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>" }, "content": "I've got a bug report about an e1000e interface, where a vlan interface is\nset up on top of it:\n\n$ ip link add link ens1f0 name ens1f0.99 type vlan id 99\n$ ip link set ens1f0 up\n$ ip link set ens1f0.99 up\n$ ip addr add 192.168.99.92 dev ens1f0.99\n\nAt this point, I can ping another host on vlan 99, ip 192.168.99.91.\nHowever, if I do the following:\n\n$ ethtool -K ens1f0 rxvlan off\n\nThen no traffic passes on ens1f0.99. It comes back if I toggle rxvlan on\nagain. Upon discussion with folks here, and closer inspection, it appears\nthat the software *receive* fallback is working correctly, but outbound\ntraffic is broken. Upon glancing at the e1000 driver, I saw a note about\nhaving to keep RX and TX accel flags in sync, because there's no\n(hardware?) support for separate vlan accel toggle. Swipe the same hack\nfrom the e1000 driver, and things start to behave again with rxvlan off.\n\nAfter patch:\n\n$ ping 192.168.99.91\nPING 192.168.99.91 (192.168.99.91) 56(84) bytes of data.\n64 bytes from 192.168.99.91: icmp_seq=1 ttl=64 time=0.591 ms\n64 bytes from 192.168.99.91: icmp_seq=2 ttl=64 time=0.335 ms\n64 bytes from 192.168.99.91: icmp_seq=3 ttl=64 time=0.417 ms\n^C\n--- 192.168.99.91 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2000ms\nrtt min/avg/max/mdev = 0.335/0.447/0.591/0.109 ms\n\n$ sudo ethtool -K ens1f0 rxvlan off\nActual changes:\nrx-vlan-offload: off\ntx-vlan-offload: off [requested on]\n\n$ ping 192.168.99.91\nPING 192.168.99.91 (192.168.99.91) 56(84) bytes of data.\n64 bytes from 192.168.99.91: icmp_seq=1 ttl=64 time=0.327 ms\n64 bytes from 192.168.99.91: icmp_seq=2 ttl=64 time=0.393 ms\n64 bytes from 192.168.99.91: icmp_seq=3 ttl=64 time=0.424 ms\n^C\n--- 192.168.99.91 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 1999ms\nrtt min/avg/max/mdev = 0.327/0.381/0.424/0.043 ms\n\nAlso slipped a related-ish fix to the kerneldoc text for\ne1000e_vlan_strip_disable here...\n\nCC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>\nCC: intel-wired-lan@lists.osuosl.org\nCC: netdev@vger.kernel.org\nSigned-off-by: Jarod Wilson <jarod@redhat.com>\n---\n drivers/net/ethernet/intel/e1000e/netdev.c | 10 +++++++++-\n 1 file changed, 9 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c\nindex 75e6089..2b2e2f8 100644\n--- a/drivers/net/ethernet/intel/e1000e/netdev.c\n+++ b/drivers/net/ethernet/intel/e1000e/netdev.c\n@@ -2789,7 +2789,7 @@ static void e1000e_vlan_filter_enable(struct e1000_adapter *adapter)\n }\n \n /**\n- * e1000e_vlan_strip_enable - helper to disable HW VLAN stripping\n+ * e1000e_vlan_strip_disable - helper to disable HW VLAN stripping\n * @adapter: board private structure to initialize\n **/\n static void e1000e_vlan_strip_disable(struct e1000_adapter *adapter)\n@@ -6915,6 +6915,14 @@ static netdev_features_t e1000_fix_features(struct net_device *netdev,\n \tif ((hw->mac.type >= e1000_pch2lan) && (netdev->mtu > ETH_DATA_LEN))\n \t\tfeatures &= ~NETIF_F_RXFCS;\n \n+\t/* Since there is no support for separate Rx/Tx vlan accel\n+\t * enable/disable make sure Tx flag is always in same state as Rx.\n+\t */\n+\tif (features & NETIF_F_HW_VLAN_CTAG_RX)\n+\t\tfeatures |= NETIF_F_HW_VLAN_CTAG_TX;\n+\telse\n+\t\tfeatures &= ~NETIF_F_HW_VLAN_CTAG_TX;\n+\n \treturn features;\n }\n \n", "prefixes": [ "net", "v2" ] }