From: Jiri Pirko <jiri@resnulli.us>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, idosch@mellanox.com, eladr@mellanox.com,
yotamg@mellanox.com, nogahf@mellanox.com, arkadis@mellanox.com,
ogerlitz@mellanox.com, roopa@cumulusnetworks.com,
dsa@cumulusnetworks.com, nikolay@cumulusnetworks.com,
andy@greyhouse.net, vivien.didelot@savoirfairelinux.com,
andrew@lunn.ch, f.fainelli@gmail.com,
alexander.h.duyck@intel.com, hannes@stressinduktion.org,
kaber@trash.net
Subject: [patch net-next v3 12/12] rocker: Register FIB notifier before creating ports
Date: Wed, 30 Nov 2016 11:09:06 +0100 [thread overview]
Message-ID: <1480500546-2544-13-git-send-email-jiri@resnulli.us> (raw)
In-Reply-To: <1480500546-2544-1-git-send-email-jiri@resnulli.us>
From: Ido Schimmel <idosch@mellanox.com>
Unlike mlxsw, rocker only supports the reflection of routes pointing to
its own netdevs. Therefore, instead of requesting a FIB dump during
init, simply register the FIB notifier before creating the ports.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
---
drivers/net/ethernet/rocker/rocker_main.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/rocker/rocker_main.c b/drivers/net/ethernet/rocker/rocker_main.c
index 914e9e1..8c9c90a 100644
--- a/drivers/net/ethernet/rocker/rocker_main.c
+++ b/drivers/net/ethernet/rocker/rocker_main.c
@@ -2804,6 +2804,9 @@ static int rocker_probe(struct pci_dev *pdev, const struct pci_device_id *id)
goto err_alloc_ordered_workqueue;
}
+ rocker->fib_nb.notifier_call = rocker_router_fib_event;
+ register_fib_notifier(&rocker->fib_nb);
+
rocker->hw.id = rocker_read64(rocker, SWITCH_ID);
err = rocker_probe_ports(rocker);
@@ -2812,15 +2815,13 @@ static int rocker_probe(struct pci_dev *pdev, const struct pci_device_id *id)
goto err_probe_ports;
}
- rocker->fib_nb.notifier_call = rocker_router_fib_event;
- register_fib_notifier(&rocker->fib_nb);
-
dev_info(&pdev->dev, "Rocker switch with id %*phN\n",
(int)sizeof(rocker->hw.id), &rocker->hw.id);
return 0;
err_probe_ports:
+ unregister_fib_notifier(&rocker->fib_nb);
destroy_workqueue(rocker->rocker_owq);
err_alloc_ordered_workqueue:
free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_EVENT), rocker);
@@ -2848,9 +2849,9 @@ static void rocker_remove(struct pci_dev *pdev)
{
struct rocker *rocker = pci_get_drvdata(pdev);
+ rocker_remove_ports(rocker);
unregister_fib_notifier(&rocker->fib_nb);
rocker_write32(rocker, CONTROL, ROCKER_CONTROL_RESET);
- rocker_remove_ports(rocker);
destroy_workqueue(rocker->rocker_owq);
free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_EVENT), rocker);
free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_CMD), rocker);
--
2.7.4
prev parent reply other threads:[~2016-11-30 10:09 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-30 10:08 [patch net-next v3 00/12] ipv4: fib: Allow modules to dump FIB tables Jiri Pirko
2016-11-30 10:08 ` [patch net-next v3 01/12] ipv4: fib: Export free_fib_info() Jiri Pirko
2016-11-30 10:08 ` [patch net-next v3 02/12] ipv4: fib: Add fib_info_hold() helper Jiri Pirko
2016-11-30 10:08 ` [patch net-next v3 03/12] mlxsw: core: Create an ordered workqueue for FIB offload Jiri Pirko
2016-11-30 10:08 ` [patch net-next v3 04/12] mlxsw: spectrum_router: Implement FIB offload in deferred work Jiri Pirko
2016-11-30 10:08 ` [patch net-next v3 05/12] rocker: Create an ordered workqueue for FIB offload Jiri Pirko
2016-11-30 10:09 ` [patch net-next v3 06/12] rocker: Implement FIB offload in deferred work Jiri Pirko
2016-11-30 10:09 ` [patch net-next v3 07/12] ipv4: fib: Convert FIB notification chain to be atomic Jiri Pirko
2016-11-30 10:09 ` [patch net-next v3 08/12] ipv4: fib: Allow for consistent FIB dumping Jiri Pirko
2016-11-30 10:09 ` [patch net-next v3 09/12] ipv4: fib: Add sysctl to limit number of FIB dump retries Jiri Pirko
2016-11-30 10:09 ` [patch net-next v3 10/12] ipv4: fib: Add an API to request a FIB dump Jiri Pirko
2016-11-30 10:09 ` [patch net-next v3 11/12] mlxsw: spectrum_router: Request a dump of FIB tables during init Jiri Pirko
2016-11-30 15:37 ` Hannes Frederic Sowa
2016-11-30 16:32 ` Ido Schimmel
2016-11-30 16:49 ` Hannes Frederic Sowa
2016-11-30 18:22 ` Ido Schimmel
2016-12-01 21:57 ` Hannes Frederic Sowa
2016-12-01 23:14 ` Ido Schimmel
2016-12-01 23:27 ` Hannes Frederic Sowa
2016-12-02 9:34 ` Ido Schimmel
2016-12-01 20:04 ` David Miller
2016-12-01 20:40 ` Hannes Frederic Sowa
2016-12-01 20:54 ` Ido Schimmel
2016-12-01 21:09 ` Hannes Frederic Sowa
2016-12-01 21:21 ` Ido Schimmel
2016-12-01 21:09 ` Hannes Frederic Sowa
2016-11-30 10:09 ` Jiri Pirko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1480500546-2544-13-git-send-email-jiri@resnulli.us \
--to=jiri@resnulli.us \
--cc=alexander.h.duyck@intel.com \
--cc=andrew@lunn.ch \
--cc=andy@greyhouse.net \
--cc=arkadis@mellanox.com \
--cc=davem@davemloft.net \
--cc=dsa@cumulusnetworks.com \
--cc=eladr@mellanox.com \
--cc=f.fainelli@gmail.com \
--cc=hannes@stressinduktion.org \
--cc=idosch@mellanox.com \
--cc=kaber@trash.net \
--cc=netdev@vger.kernel.org \
--cc=nikolay@cumulusnetworks.com \
--cc=nogahf@mellanox.com \
--cc=ogerlitz@mellanox.com \
--cc=roopa@cumulusnetworks.com \
--cc=vivien.didelot@savoirfairelinux.com \
--cc=yotamg@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).