Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/564183/?format=api
{ "id": 564183, "url": "http://patchwork.ozlabs.org/api/patches/564183/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20160107071133.13648.51584.stgit@localhost.localdomain/", "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": "<20160107071133.13648.51584.stgit@localhost.localdomain>", "list_archive_url": null, "date": "2016-01-07T07:11:34", "name": "[next,10/11] igb: Enable use of \"bridge fdb add\" to set unicast table entries", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "2f95016b46b2cd45e51053ff1122195a1c5f5cde", "submitter": { "id": 67293, "url": "http://patchwork.ozlabs.org/api/people/67293/?format=api", "name": "Alexander Duyck", "email": "aduyck@mirantis.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/20160107071133.13648.51584.stgit@localhost.localdomain/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/564183/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/564183/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\tby ozlabs.org (Postfix) with ESMTP id 2D26D1402E2\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 7 Jan 2016 18:11:42 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 5B85E32D9C;\n\tThu, 7 Jan 2016 07:11:41 +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 kmEvysdtVJDd; Thu, 7 Jan 2016 07:11:40 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id 65CB2303A9;\n\tThu, 7 Jan 2016 07:11:40 +0000 (UTC)", "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id 82F5A1C09CE\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 7 Jan 2016 07:11:39 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 11F8B8B549\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 7 Jan 2016 07:11:39 +0000 (UTC)", "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id T9EaF0YmagIY for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 7 Jan 2016 07:11:38 +0000 (UTC)", "from mail-pa0-f44.google.com (mail-pa0-f44.google.com\n\t[209.85.220.44])\n\tby whitealder.osuosl.org (Postfix) with ESMTPS id 762A388AD2\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 7 Jan 2016 07:11:38 +0000 (UTC)", "by mail-pa0-f44.google.com with SMTP id uo6so233204707pac.1\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 06 Jan 2016 23:11:38 -0800 (PST)", "from localhost.localdomain\n\t(static-50-53-29-36.bvtn.or.frontiernet.net. [50.53.29.36])\n\tby smtp.gmail.com with ESMTPSA id\n\tdg1sm149513285pad.18.2016.01.06.23.11.37\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 06 Jan 2016 23:11:38 -0800 (PST)" ], "Authentication-Results": "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=mirantis.com header.i=@mirantis.com\n\theader.b=bmlHU1RG; dkim-atps=neutral", "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "from auto-whitelisted by SQLgrey-1.7.6", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=mirantis.com;\n\ts=google; \n\th=subject:from:to:cc:date:message-id:in-reply-to:references\n\t:user-agent:mime-version:content-type:content-transfer-encoding;\n\tbh=fRYbc/U4t5it6qwoLmlehUZHGt6ucUpaETIj7Z9qWQ0=;\n\tb=bmlHU1RGHDJh6weNElew1WBQDSgpTS+b4gHrs6mk5N66NN/0t3/s/X23ut41TY/Ngq\n\t+DiE9NnczGMFFR5BmahQmfLa4rqwL06wWXR8uwcxfYkRwd2SNlyuWvssk/q6wt7dd9D1\n\tkozaApJRRloOHM9Z0oDoVywv3l8nBmZELHgm8=", "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:cc:date:message-id:in-reply-to\n\t:references:user-agent:mime-version:content-type\n\t:content-transfer-encoding;\n\tbh=fRYbc/U4t5it6qwoLmlehUZHGt6ucUpaETIj7Z9qWQ0=;\n\tb=nKnPVQP7/PLCYBhjhdQoyRBZaecfKKPjLAVDTNrC7WxESJ/8+sVbK/A9zqYtWsB8FJ\n\tttiXXlT4xNGfgrsUWII3PgDWwkmFHMjhgHoxeFy8GgGloar7qDEFeoOwfhii2vV/29w0\n\tNyEhnDgLgvO/pVdRS/VorHWFVh5CeClCcnyZcHFP/UrIQOZ8y0CWCcqnllf4SQ8p1ArD\n\tXh7InontHvvVHQ+qrWvbcjG8BtgtOxonYpNKkhoGiocB8b7hCr9zwKLh6OaqdydDc2XU\n\txwVF1gsbw0JAMYDlVGhvRVQ1QUZ8azmdWnylQLoz2/wa3cLpYv4JvsYIjw9/XYWmtmZf\n\tKhjQ==", "X-Gm-Message-State": "ALoCoQm3qvCRCLdtBg5bbIGiXQkK/ansynKGxaPOB4h6ccUI/ZuMyDg1xy3RV4Vx98AVv9W/hgZsrsJbjNpIuPOBmVPy6AViqQ==", "X-Received": "by 10.66.65.109 with SMTP id w13mr147322596pas.142.1452150698582;\n\tWed, 06 Jan 2016 23:11:38 -0800 (PST)", "From": "Alexander Duyck <aduyck@mirantis.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Wed, 06 Jan 2016 23:11:34 -0800", "Message-ID": "<20160107071133.13648.51584.stgit@localhost.localdomain>", "In-Reply-To": "<20160107070850.13648.21033.stgit@localhost.localdomain>", "References": "<20160107070850.13648.21033.stgit@localhost.localdomain>", "User-Agent": "StGit/0.17.1-dirty", "MIME-Version": "1.0", "Subject": "[Intel-wired-lan] [next PATCH 10/11] igb: Enable use of \"bridge fdb\n\tadd\" to set unicast table entries", "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>", "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": "This change makes it so that we can use the bridge utility to add a FDB\nentry for the PF to an igb port. By doing this we can enable the VFs to\ntalk to virtual ports residing on top of the PF.\n\nIn addition this should also address issues with MACVLANs trying to reside\non top of the PF as well as they would have had similar issues when added\nto the PF with SR-IOV enabled.\n\nSigned-off-by: Alexander Duyck <aduyck@mirantis.com>\n---\n drivers/net/ethernet/intel/igb/igb_main.c | 39 ++++++++++++++++++++++-------\n 1 file changed, 30 insertions(+), 9 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c\nindex 49daac3bb051..06b8b1e0362b 100644\n--- a/drivers/net/ethernet/intel/igb/igb_main.c\n+++ b/drivers/net/ethernet/intel/igb/igb_main.c\n@@ -2126,6 +2126,25 @@ static u16 igb_select_queue(struct net_device *netdev,\n \t\treturn fallback(netdev, skb);\n }\n \n+static int igb_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],\n+\t\t\t struct net_device *dev,\n+\t\t\t const unsigned char *addr, u16 vid,\n+\t\t\t u16 flags)\n+{\n+\t/* guarantee we can provide a unique filter for the unicast address */\n+\tif (is_unicast_ether_addr(addr) || is_link_local_ether_addr(addr)) {\n+\t\tstruct igb_adapter *adapter = netdev_priv(dev);\n+\t\tstruct e1000_hw *hw = &adapter->hw;\n+\t\tint vfn = adapter->vfs_allocated_count;\n+\t\tint rar_entries = hw->mac.rar_entry_count - (vfn + 1);\n+\n+\t\tif (netdev_uc_count(dev) >= rar_entries)\n+\t\t\treturn -ENOMEM;\n+\t}\n+\n+\treturn ndo_dflt_fdb_add(ndm, tb, dev, addr, vid, flags);\n+}\n+\n static const struct net_device_ops igb_netdev_ops = {\n \t.ndo_open\t\t= igb_open,\n \t.ndo_stop\t\t= igb_close,\n@@ -2150,6 +2169,7 @@ static const struct net_device_ops igb_netdev_ops = {\n #endif\n \t.ndo_fix_features\t= igb_fix_features,\n \t.ndo_set_features\t= igb_set_features,\n+\t.ndo_fdb_add\t\t= igb_ndo_fdb_add,\n \t.ndo_features_check\t= passthru_features_check,\n };\n \n@@ -4256,15 +4276,16 @@ static void igb_set_rx_mode(struct net_device *netdev)\n \t\t\t\tvmolr |= E1000_VMOLR_ROMPE;\n \t\t\t}\n \t\t}\n-\t\t/* Write addresses to available RAR registers, if there is not\n-\t\t * sufficient space to store all the addresses then enable\n-\t\t * unicast promiscuous mode\n-\t\t */\n-\t\tcount = igb_write_uc_addr_list(netdev);\n-\t\tif (count < 0) {\n-\t\t\trctl |= E1000_RCTL_UPE;\n-\t\t\tvmolr |= E1000_VMOLR_ROPE;\n-\t\t}\n+\t}\n+\n+\t/* Write addresses to available RAR registers, if there is not\n+\t * sufficient space to store all the addresses then enable\n+\t * unicast promiscuous mode\n+\t */\n+\tcount = igb_write_uc_addr_list(netdev);\n+\tif (count < 0) {\n+\t\trctl |= E1000_RCTL_UPE;\n+\t\tvmolr |= E1000_VMOLR_ROPE;\n \t}\n \n \t/* enable VLAN filtering by default */\n", "prefixes": [ "next", "10/11" ] }