Drivers should call skb_set_hash to set the hash and its type
in an skbuff.

Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Tom Herbert 2013-12-17 23:23:11 -08:00 коммит произвёл David S. Miller
Родитель cf1bfd6a9e
Коммит bd5cef0359
1 изменённых файлов: 7 добавлений и 4 удалений

Просмотреть файл

@ -728,8 +728,9 @@ static void bnx2x_tpa_stop(struct bnx2x *bp, struct bnx2x_fastpath *fp,
skb_reserve(skb, pad + NET_SKB_PAD); skb_reserve(skb, pad + NET_SKB_PAD);
skb_put(skb, len); skb_put(skb, len);
skb->rxhash = tpa_info->rxhash; skb_set_hash(skb, tpa_info->rxhash,
skb->l4_rxhash = tpa_info->l4_rxhash; tpa_info->l4_rxhash ?
PKT_HASH_TYPE_L4 : PKT_HASH_TYPE_L3);
skb->protocol = eth_type_trans(skb, bp->dev); skb->protocol = eth_type_trans(skb, bp->dev);
skb->ip_summed = CHECKSUM_UNNECESSARY; skb->ip_summed = CHECKSUM_UNNECESSARY;
@ -846,6 +847,7 @@ int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget)
enum eth_rx_cqe_type cqe_fp_type; enum eth_rx_cqe_type cqe_fp_type;
u16 len, pad, queue; u16 len, pad, queue;
u8 *data; u8 *data;
u32 rxhash;
bool l4_rxhash; bool l4_rxhash;
#ifdef BNX2X_STOP_ON_ERROR #ifdef BNX2X_STOP_ON_ERROR
@ -987,8 +989,9 @@ reuse_rx:
skb->protocol = eth_type_trans(skb, bp->dev); skb->protocol = eth_type_trans(skb, bp->dev);
/* Set Toeplitz hash for a none-LRO skb */ /* Set Toeplitz hash for a none-LRO skb */
skb->rxhash = bnx2x_get_rxhash(bp, cqe_fp, &l4_rxhash); rxhash = bnx2x_get_rxhash(bp, cqe_fp, &l4_rxhash);
skb->l4_rxhash = l4_rxhash; skb_set_hash(skb, rxhash,
l4_rxhash ? PKT_HASH_TYPE_L4 : PKT_HASH_TYPE_L3);
skb_checksum_none_assert(skb); skb_checksum_none_assert(skb);