* [PATCH net 0/3] qlcnic: Bug fixes
@ 2014-08-04 15:51 Rajesh Borundia
2014-08-04 15:51 ` [PATCH net 1/3] qlcnic: Fix update of ethtool stats Rajesh Borundia
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: Rajesh Borundia @ 2014-08-04 15:51 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev
The patch series contains following bug fixes.
* Aggregating tx stats in adapter variable was resulting
in increase of stats when user runs ifconfig command
and no traffic is running. Instead aggregate tx stats
in local variable and then assign it to adapter struct
variable.
* Set_driver_version was called after registering netdev
which was resulting in a race between FLR in open
handler and set_driver_version command as open handler
can be called simulatneously on another cpu even if probe
is not complete. So call this command before registering
netdev.
* dcbnl_ops should be initialized before registering netdev
as they are referenced in open handler.
Please apply this series to net.
Thanks,
Rajesh
Rajesh Borundia (3):
qlcnic: Fix update of ethtool stats.
qlcnic: Set driver version before registering netdev
qlcnic: Initialize dcbnl_ops before register_netdev
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 2 +-
.../net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 18 +++++++++++++-----
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 10 +++++-----
3 files changed, 19 insertions(+), 11 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 1/3] qlcnic: Fix update of ethtool stats.
2014-08-04 15:51 [PATCH net 0/3] qlcnic: Bug fixes Rajesh Borundia
@ 2014-08-04 15:51 ` Rajesh Borundia
2014-08-04 15:51 ` [PATCH net 2/3] qlcnic: Set driver version before registering netdev Rajesh Borundia
` (2 subsequent siblings)
3 siblings, 0 replies; 15+ messages in thread
From: Rajesh Borundia @ 2014-08-04 15:51 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev
o Aggregating tx stats in adapter variable was resulting in
an increase in stats even after no traffic was run and
user runs ifconfig/ethtool command.
o qlcnic_update_stats used to accumulate stats in adapter
struct at each function call, instead accumulate tx stats
in local variable and then assign it to adapter structure.
Reported-by: Holger Kiehl <holger.kiehl@dwd.de>
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
---
.../net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
index 1b7f3db..141f116 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
@@ -1290,17 +1290,25 @@ static u64 *qlcnic_fill_stats(u64 *data, void *stats, int type)
void qlcnic_update_stats(struct qlcnic_adapter *adapter)
{
+ struct qlcnic_tx_queue_stats tx_stats;
struct qlcnic_host_tx_ring *tx_ring;
int ring;
+ memset(&tx_stats, 0, sizeof(tx_stats));
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
tx_ring = &adapter->tx_ring[ring];
- adapter->stats.xmit_on += tx_ring->tx_stats.xmit_on;
- adapter->stats.xmit_off += tx_ring->tx_stats.xmit_off;
- adapter->stats.xmitcalled += tx_ring->tx_stats.xmit_called;
- adapter->stats.xmitfinished += tx_ring->tx_stats.xmit_finished;
- adapter->stats.txbytes += tx_ring->tx_stats.tx_bytes;
+ tx_stats.xmit_on += tx_ring->tx_stats.xmit_on;
+ tx_stats.xmit_off += tx_ring->tx_stats.xmit_off;
+ tx_stats.xmit_called += tx_ring->tx_stats.xmit_called;
+ tx_stats.xmit_finished += tx_ring->tx_stats.xmit_finished;
+ tx_stats.tx_bytes += tx_ring->tx_stats.tx_bytes;
}
+
+ adapter->stats.xmit_on = tx_stats.xmit_on;
+ adapter->stats.xmit_off = tx_stats.xmit_off;
+ adapter->stats.xmitcalled = tx_stats.xmit_called;
+ adapter->stats.xmitfinished = tx_stats.xmit_finished;
+ adapter->stats.txbytes = tx_stats.tx_bytes;
}
static u64 *qlcnic_fill_tx_queue_stats(u64 *data, void *stats)
--
1.6.3.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH net 2/3] qlcnic: Set driver version before registering netdev
2014-08-04 15:51 [PATCH net 0/3] qlcnic: Bug fixes Rajesh Borundia
2014-08-04 15:51 ` [PATCH net 1/3] qlcnic: Fix update of ethtool stats Rajesh Borundia
@ 2014-08-04 15:51 ` Rajesh Borundia
2014-08-04 15:51 ` [PATCH net 3/3] qlcnic: Initialize dcbnl_ops before register_netdev Rajesh Borundia
2014-08-05 23:24 ` [PATCH net 0/3] qlcnic: Bug fixes David Miller
3 siblings, 0 replies; 15+ messages in thread
From: Rajesh Borundia @ 2014-08-04 15:51 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev
o Earlier, set_drv_version was getting called after register_netdev.
This was resulting in a race between set_drv_version and FLR called
from open(). Moving set_drv_version before register_netdev avoids
the race.
o Log response code in error message on CDRP failure.
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 2 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
index 304e247..ffbae29 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
@@ -136,7 +136,7 @@ int qlcnic_82xx_issue_cmd(struct qlcnic_adapter *adapter,
rsp = qlcnic_poll_rsp(adapter);
if (rsp == QLCNIC_CDRP_RSP_TIMEOUT) {
- dev_err(&pdev->dev, "card response timeout.\n");
+ dev_err(&pdev->dev, "command timeout, response = 0x%x\n", rsp);
cmd->rsp.arg[0] = QLCNIC_RCODE_TIMEOUT;
} else if (rsp == QLCNIC_CDRP_RSP_FAIL) {
cmd->rsp.arg[0] = QLCRD32(adapter, QLCNIC_CDRP_ARG(1), &err);
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
index 4fc1867..158e1d9 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
@@ -2623,13 +2623,13 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (err)
goto err_out_disable_mbx_intr;
+ if (adapter->portnum == 0)
+ qlcnic_set_drv_version(adapter);
+
err = qlcnic_setup_netdev(adapter, netdev, pci_using_dac);
if (err)
goto err_out_disable_mbx_intr;
- if (adapter->portnum == 0)
- qlcnic_set_drv_version(adapter);
-
pci_set_drvdata(pdev, adapter);
if (qlcnic_82xx_check(adapter))
--
1.6.3.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH net 3/3] qlcnic: Initialize dcbnl_ops before register_netdev
2014-08-04 15:51 [PATCH net 0/3] qlcnic: Bug fixes Rajesh Borundia
2014-08-04 15:51 ` [PATCH net 1/3] qlcnic: Fix update of ethtool stats Rajesh Borundia
2014-08-04 15:51 ` [PATCH net 2/3] qlcnic: Set driver version before registering netdev Rajesh Borundia
@ 2014-08-04 15:51 ` Rajesh Borundia
2014-08-05 23:24 ` [PATCH net 0/3] qlcnic: Bug fixes David Miller
3 siblings, 0 replies; 15+ messages in thread
From: Rajesh Borundia @ 2014-08-04 15:51 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev
o Initialization of dcbnl_ops after register netdev may result in
dcbnl_ops not getting set before it is being accessed from open.
So, moving it before register_netdev.
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
index 158e1d9..3187bc0 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
@@ -2323,14 +2323,14 @@ qlcnic_setup_netdev(struct qlcnic_adapter *adapter, struct net_device *netdev,
if (err)
return err;
+ qlcnic_dcb_init_dcbnl_ops(adapter->dcb);
+
err = register_netdev(netdev);
if (err) {
dev_err(&pdev->dev, "failed to register net device\n");
return err;
}
- qlcnic_dcb_init_dcbnl_ops(adapter->dcb);
-
return 0;
}
--
1.6.3.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: Bug fixes
2014-08-04 15:51 [PATCH net 0/3] qlcnic: Bug fixes Rajesh Borundia
` (2 preceding siblings ...)
2014-08-04 15:51 ` [PATCH net 3/3] qlcnic: Initialize dcbnl_ops before register_netdev Rajesh Borundia
@ 2014-08-05 23:24 ` David Miller
3 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2014-08-05 23:24 UTC (permalink / raw)
To: rajesh.borundia; +Cc: netdev, Dept-HSGLinuxNICDev
From: Rajesh Borundia <rajesh.borundia@qlogic.com>
Date: Mon, 4 Aug 2014 11:51:15 -0400
> The patch series contains following bug fixes.
>
> * Aggregating tx stats in adapter variable was resulting
> in increase of stats when user runs ifconfig command
> and no traffic is running. Instead aggregate tx stats
> in local variable and then assign it to adapter struct
> variable.
> * Set_driver_version was called after registering netdev
> which was resulting in a race between FLR in open
> handler and set_driver_version command as open handler
> can be called simulatneously on another cpu even if probe
> is not complete. So call this command before registering
> netdev.
> * dcbnl_ops should be initialized before registering netdev
> as they are referenced in open handler.
>
> Please apply this series to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: bug fixes
2016-08-03 8:02 [PATCH net 0/3] qlcnic: bug fixes Manish Chopra
@ 2016-08-03 19:03 ` David Miller
0 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2016-08-03 19:03 UTC (permalink / raw)
To: manish.chopra; +Cc: netdev, Dept-GELinuxNICDev
From: Manish Chopra <manish.chopra@qlogic.com>
Date: Wed, 3 Aug 2016 04:02:01 -0400
> This series fixes a data structure corruption bug in
> VF's async mailbox commands handling and an issue realted
> to napi poll budget in the driver.
>
> Please consider applying this series to "net"
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 0/3] qlcnic: bug fixes
@ 2016-08-03 8:02 Manish Chopra
2016-08-03 19:03 ` David Miller
0 siblings, 1 reply; 15+ messages in thread
From: Manish Chopra @ 2016-08-03 8:02 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-GELinuxNICDev
Hi David,
This series fixes a data structure corruption bug in
VF's async mailbox commands handling and an issue realted
to napi poll budget in the driver.
Please consider applying this series to "net"
Thanks,
Manish
Manish Chopra (3):
qlcnic: fix data structure corruption in async mbx command handling
qlcnic: fix napi budget alteration
qlcnic: Update version to 5.3.65
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 4 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 2 -
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h | 9 +-
.../ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 95 +++++++++++--------
4 files changed, 62 insertions(+), 48 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: Bug fixes
2014-08-18 13:31 [PATCH net 0/3] qlcnic: Bug fixes Shahed Shaikh
@ 2014-08-22 0:43 ` David Miller
0 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2014-08-22 0:43 UTC (permalink / raw)
To: shahed.shaikh; +Cc: netdev, Dept-HSGLinuxNICDev
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
Date: Mon, 18 Aug 2014 09:31:52 -0400
> This series fixes some bugs related to endianess.
>
> Please apply this series to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 0/3] qlcnic: Bug fixes
@ 2014-08-18 13:31 Shahed Shaikh
2014-08-22 0:43 ` David Miller
0 siblings, 1 reply; 15+ messages in thread
From: Shahed Shaikh @ 2014-08-18 13:31 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev, Shahed Shaikh
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
Hi Dave,
This series fixes some bugs related to endianess.
Please apply this series to net.
Thanks,
Shahed
Jitendra Kalsaria (1):
qlcnic: Fix flash access interface to application
Rajesh Borundia (1):
qlcnic: Fix endianess issue in FW dump template header
Shahed Shaikh (1):
qlcnic: Fix endianess issue in firmware load from file operation
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 15 +++++-
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 6 +-
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 35 +++++++++----
.../net/ethernet/qlogic/qlcnic/qlcnic_minidump.c | 57 ++++++++++++++++++++
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c | 16 +++++-
5 files changed, 114 insertions(+), 15 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: bug fixes
2013-08-15 12:29 [PATCH net 0/3] qlcnic: bug fixes Sucheta Chakraborty
@ 2013-08-15 21:35 ` David Miller
0 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2013-08-15 21:35 UTC (permalink / raw)
To: sucheta.chakraborty; +Cc: netdev, Dept-HSGLinuxNICDev
From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Date: Thu, 15 Aug 2013 08:29:26 -0400
> Please apply to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 0/3] qlcnic: bug fixes
@ 2013-08-15 12:29 Sucheta Chakraborty
2013-08-15 21:35 ` David Miller
0 siblings, 1 reply; 15+ messages in thread
From: Sucheta Chakraborty @ 2013-08-15 12:29 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev
Please apply to net.
Thanks,
Sucheta.
Himanshu Madhani (1):
qlcnic: Fix set driver version command
Manish Chopra (1):
qlcnic: Fix diagnostic interrupt test for 83xx adapters
Sucheta Chakraborty (1):
qlcnic: Fix beacon state return status handling
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 5 +++++
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 3 ++-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 6 ++++--
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c | 6 +++---
4 files changed, 14 insertions(+), 6 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: Bug fixes
2013-05-21 19:26 [PATCH net 0/3] qlcnic: Bug fixes Shahed Shaikh
@ 2013-05-22 21:52 ` David Miller
0 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2013-05-22 21:52 UTC (permalink / raw)
To: shahed.shaikh; +Cc: netdev, Dept_NX_Linux_NIC_Driver
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
Date: Tue, 21 May 2013 15:26:58 -0400
> This patch series includes following bug fixes:
> * Fix probe failure path by returning proper error codes.
> * Removed access to netdev->trans_start in driver.
> * Fix netdev->features manipulation as part of change in EPORT
> features
>
> Please apply to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 0/3] qlcnic: Bug fixes
@ 2013-05-21 19:26 Shahed Shaikh
2013-05-22 21:52 ` David Miller
0 siblings, 1 reply; 15+ messages in thread
From: Shahed Shaikh @ 2013-05-21 19:26 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept_NX_Linux_NIC_Driver, Shahed Shaikh
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
This patch series includes following bug fixes:
* Fix probe failure path by returning proper error codes.
* Removed access to netdev->trans_start in driver.
* Fix netdev->features manipulation as part of change in EPORT
features
Please apply to net.
Thanks,
Shahed
Shahed Shaikh (1):
qlcnic: Fix updating netdev->features
Sony Chacko (2):
qlcnic: Return proper error codes from probe failure paths
qlcnic: remove netdev->trans_start updates within the driver
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 6 ++
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 2 -
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c | 49 ++++++++++++++-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 65 +++++---------------
.../ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 1 -
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c | 3 +
6 files changed, 70 insertions(+), 56 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: Bug fixes
2013-04-18 18:10 Shahed Shaikh
@ 2013-04-18 18:55 ` David Miller
0 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2013-04-18 18:55 UTC (permalink / raw)
To: shahed.shaikh; +Cc: netdev, Dept_NX_Linux_NIC_Driver
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
Date: Thu, 18 Apr 2013 14:10:03 -0400
> From: Shahed Shaikh <shahed.shaikh@qlogic.com>
>
> This patch series contains bug fixes for -
> * Loopback test failure while traffic is running.
> * Tx timeout and subsequent firmware reset by removing check for
> '(adapter->netdev->features & (NETIF_F_TSO | NETIF_F_TSO6)' from tx fast
> path, as per Eric's suggestion.
> * Typo in logs.
>
> Please apply to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 0/3] qlcnic: Bug fixes
@ 2013-04-18 18:10 Shahed Shaikh
2013-04-18 18:55 ` David Miller
0 siblings, 1 reply; 15+ messages in thread
From: Shahed Shaikh @ 2013-04-18 18:10 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept_NX_Linux_NIC_Driver, Shahed Shaikh
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
This patch series contains bug fixes for -
* Loopback test failure while traffic is running.
* Tx timeout and subsequent firmware reset by removing check for
'(adapter->netdev->features & (NETIF_F_TSO | NETIF_F_TSO6)' from tx fast
path, as per Eric's suggestion.
* Typo in logs.
Please apply to net.
Thanks,
Shahed
Jitendra Kalsaria (1):
qlcnic: Stop traffic before performing loopback test
Shahed Shaikh (1):
qlcnic: Fix typo in logs
Sritej Velaga (1):
qlcnic: fix TSO race condition
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 15 ++++++++++-----
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 3 +--
2 files changed, 11 insertions(+), 7 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2016-08-03 19:03 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-04 15:51 [PATCH net 0/3] qlcnic: Bug fixes Rajesh Borundia
2014-08-04 15:51 ` [PATCH net 1/3] qlcnic: Fix update of ethtool stats Rajesh Borundia
2014-08-04 15:51 ` [PATCH net 2/3] qlcnic: Set driver version before registering netdev Rajesh Borundia
2014-08-04 15:51 ` [PATCH net 3/3] qlcnic: Initialize dcbnl_ops before register_netdev Rajesh Borundia
2014-08-05 23:24 ` [PATCH net 0/3] qlcnic: Bug fixes David Miller
-- strict thread matches above, loose matches on Subject: below --
2016-08-03 8:02 [PATCH net 0/3] qlcnic: bug fixes Manish Chopra
2016-08-03 19:03 ` David Miller
2014-08-18 13:31 [PATCH net 0/3] qlcnic: Bug fixes Shahed Shaikh
2014-08-22 0:43 ` David Miller
2013-08-15 12:29 [PATCH net 0/3] qlcnic: bug fixes Sucheta Chakraborty
2013-08-15 21:35 ` David Miller
2013-05-21 19:26 [PATCH net 0/3] qlcnic: Bug fixes Shahed Shaikh
2013-05-22 21:52 ` David Miller
2013-04-18 18:10 Shahed Shaikh
2013-04-18 18:55 ` David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.