> > +static int alloc_rss_resource(struct net_device *netdev) > > +{ > > + struct hinic3_nic_dev *nic_dev =3D netdev_priv(netdev); > > + static const u8 default_rss_key[L2NIC_RSS_KEY_SIZE] =3D { > > + 0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2, > > + 0x41, 0x67, 0x25, 0x3d, 0x43, 0xa3, 0x8f, 0xb0, > > + 0xd0, 0xca, 0x2b, 0xcb, 0xae, 0x7b, 0x30, 0xb4, > > + 0x77, 0xcb, 0x2d, 0xa3, 0x80, 0x30, 0xf2, 0x0c, > > + 0x6a, 0x42, 0xb7, 0x3b, 0xbe, 0xac, 0x01, 0xfa}; > > + > > + nic_dev->rss_hkey =3D kzalloc(L2NIC_RSS_KEY_SIZE, GFP_KERNEL); > > + if (!nic_dev->rss_hkey) > > + return -ENOMEM; > > + > > + memcpy(nic_dev->rss_hkey, default_rss_key, L2NIC_RSS_KEY_SIZE); > > I think you need to explain why you are not using netdev_rss_key_fill() Thanks for your comment. We use this default rss key for stable hashing effect but omit the rss attack surface. We will modify this in next version.