aboutsummaryrefslogtreecommitdiff
path: root/sys/ofed
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2016-03-15 15:53:37 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2016-03-15 15:53:37 +0000
commit1f20c68e0764d0fa50e0ffc756a29fddb01b3f00 (patch)
treef9d2ce07d12f997b1c510647bfa8825b84909d5a /sys/ofed
parent9319562b86a6df09b762849ac00646968ff6e9af (diff)
Notes
Diffstat (limited to 'sys/ofed')
-rw-r--r--sys/ofed/drivers/net/mlx4/en_rx.c3
-rw-r--r--sys/ofed/drivers/net/mlx4/en_tx.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/sys/ofed/drivers/net/mlx4/en_rx.c b/sys/ofed/drivers/net/mlx4/en_rx.c
index 7c5b759e547e..16bf597b01a2 100644
--- a/sys/ofed/drivers/net/mlx4/en_rx.c
+++ b/sys/ofed/drivers/net/mlx4/en_rx.c
@@ -616,7 +616,8 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
goto next;
}
- mb->m_pkthdr.flowid = cq->ring;
+ /* forward Toeplitz compatible hash value */
+ mb->m_pkthdr.flowid = be32_to_cpu(cqe->immed_rss_invalid);
M_HASHTYPE_SET(mb, M_HASHTYPE_OPAQUE);
mb->m_pkthdr.rcvif = dev;
if (be32_to_cpu(cqe->vlan_my_qpn) &
diff --git a/sys/ofed/drivers/net/mlx4/en_tx.c b/sys/ofed/drivers/net/mlx4/en_tx.c
index 56bb5b29fb72..4358aa631368 100644
--- a/sys/ofed/drivers/net/mlx4/en_tx.c
+++ b/sys/ofed/drivers/net/mlx4/en_tx.c
@@ -1060,7 +1060,7 @@ mlx4_en_transmit(struct ifnet *dev, struct mbuf *m)
/* Compute which queue to use */
if (M_HASHTYPE_GET(m) != M_HASHTYPE_NONE) {
- i = m->m_pkthdr.flowid % priv->tx_ring_num;
+ i = (m->m_pkthdr.flowid % 128) % priv->tx_ring_num;
}
else {
i = mlx4_en_select_queue(dev, m);