Skip to content

Commit bf751ba

Browse files
govindarajuludavem330
authored andcommitted
driver/net: enic: record q_number and rss_hash for skb
The following patch sets the skb->rxhash and skb->q_number. This is used by RPS and RFS. Kernel can make use of hw provided hash instead of calculating the hash. Signed-off-by: Govindarajulu Varadarajan <govindarajulu90@gmail.com> Signed-off-by: Nishank Trivedi <nistrive@cisco.com> Signed-off-by: Christian Benvenuti <benve@cisco.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 822473b commit bf751ba

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

drivers/net/ethernet/cisco/enic/enic_main.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1034,6 +1034,14 @@ static void enic_rq_indicate_buf(struct vnic_rq *rq,
10341034

10351035
skb_put(skb, bytes_written);
10361036
skb->protocol = eth_type_trans(skb, netdev);
1037+
skb_record_rx_queue(skb, q_number);
1038+
if (netdev->features & NETIF_F_RXHASH) {
1039+
skb->rxhash = rss_hash;
1040+
if (rss_type & (NIC_CFG_RSS_HASH_TYPE_TCP_IPV6_EX |
1041+
NIC_CFG_RSS_HASH_TYPE_TCP_IPV6 |
1042+
NIC_CFG_RSS_HASH_TYPE_TCP_IPV4))
1043+
skb->l4_rxhash = true;
1044+
}
10371045

10381046
if ((netdev->features & NETIF_F_RXCSUM) && !csum_not_calc) {
10391047
skb->csum = htons(checksum);
@@ -2209,6 +2217,7 @@ static int enic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
22092217
}
22102218

22112219
netif_set_real_num_tx_queues(netdev, enic->wq_count);
2220+
netif_set_real_num_rx_queues(netdev, enic->rq_count);
22122221

22132222
/* Setup notification timer, HW reset task, and wq locks
22142223
*/
@@ -2258,6 +2267,8 @@ static int enic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
22582267
if (ENIC_SETTING(enic, TSO))
22592268
netdev->hw_features |= NETIF_F_TSO |
22602269
NETIF_F_TSO6 | NETIF_F_TSO_ECN;
2270+
if (ENIC_SETTING(enic, RSS))
2271+
netdev->hw_features |= NETIF_F_RXHASH;
22612272
if (ENIC_SETTING(enic, RXCSUM))
22622273
netdev->hw_features |= NETIF_F_RXCSUM;
22632274

0 commit comments

Comments
 (0)