X710网卡RSS对称哈希

news/2025/2/11 20:29:13/

Intel X710的RSS哈希函数支持微软的Toeplitz算法以及XOR算法。并且支持对称和非对称操作。与82599不同,X710的Toeplitz算法使用416位(52字节)的秘钥,82599网卡使用320位(40字节)的秘钥。

I40E驱动定义的秘钥值结构如下:

struct i40e_aqc_get_set_rss_key_data {u8 standard_rss_key[0x28];u8 extended_hash_key[0xc];
}; 

VPP默认使用的秘钥,以下可见:

vpp# show hardware-interfacesName                Idx   Link  Hardware
m1/1                               1     up   m1/1Link speed: 10 GbpsIntel X710/XL710 Familyrss key length:    52rss key:           0x44 0x39 0x79 0x6b 0xb5 0x4c 0x50 0x23 0xb6 0x750xea 0x5b 0x12 0x4f 0x9f 0x30 0xb8 0xa2 0xc0 0x3d0xdf 0xdc 0x4d 0x02 0xa0 0x8c 0x9b 0x33 0x4a 0xf60x4a 0x4c 0x05 0xc6 0xfa 0x34 0x39 0x58 0xd8 0x550x7d 0x99 0x58 0x3a 0xe1 0x38 0xc9 0x2e 0x81 0x150x03 0x66

在DPDK中,函数i40e_hash_parse_key默认设置此hash秘钥值rss_key_default。

static void
i40e_hash_parse_key(const struct rte_flow_action_rss *rss_act,struct i40e_rte_flow_rss_conf *rss_conf)
{const uint8_t *key = rss_act->key;if (!key || rss_act->key_len != sizeof(rss_conf->key)) {const uint32_t rss_key_default[] = {0x6b793944,0x23504cb5, 0x5bea75b6, 0x309f4f12, 0x3dc0a2b8,0x024ddcdf, 0x339b8ca0, 0x4c4af64a, 0x34fac605,0x55d85839, 0x3a58997d, 0x2ec938e1, 0x66031581};if (rss_act->key_len != sizeof(rss_conf->key))PMD_DRV_LOG(WARNING,"RSS key length invalid, must be %u bytes, now set key to default",(uint32_t)sizeof(rss_conf->key));memcpy(rss_conf->key, rss_key_default, sizeof(rss_conf->key));} else {memcpy(rss_conf->key, key, sizeof(rss_conf->key));}rss_conf->conf.key = rss_conf->key;rss_conf->conf.key_len = sizeof(rss_conf->key);

启用对称哈希,可以使用如下的秘钥值。而不用启用X710的对称设置。

uint8_t symmetric_rss_hash_key[52] = {0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,0x6d, 0x5a, 0x6d, 0x5a
};

http://www.ppmy.cn/news/866890.html

相关文章

麒麟710处理器的实际意义

现在市面上的处理器,主要就是高通骁龙处理器,以及苹果的A系列处理器以及联发科天玑处理器作斗争,但是当初还有一个华为的麒麟海思处理器,性能也是非常强悍的,而海思麒麟710处理器的意义是非常重大的。 麒麟710处理器给…

ssh方式克隆GitHub repo

官方教程在这里: Adding a new SSH key to your GitHub account,我主要整理一下流程和说一下我遇到的问题 此处特别感谢Claude2的悉心指导,tql 首先遇到的问题就是 git clone 私有仓库的时候显示 remote: Support for password authenticatio…

2307d静态栈

原文 import core.stdc.stdio : printf;extern(C) void main() {printf("Hello betterC\n");test(); }void test() {enum test foo();static if(test) {printf("Static object is created :)\n");S!int s;foreach(key, value; s.n){printf("Previou…

majaro kde 搜狗五笔拼音 无法输入顿号

个人在输入法界面配置了半天,没有解决,后面在输入法中加入搜狗五笔,在界面上找到解决方案,如下图所示,最后又换回五笔拼音输入法就可以了,核心就是切到全角字符(全角标点)。 一个字解…

关于使用微软拼音在Hbuilder打不出顿号、的问题

新手一枚,因为在实际操作中遇到了相同的问题,而在网上找了很久也没有找到答案,所以填完坑后想和大家分享一下。 正常情况下 第一种情况 错按ctrl. 第二种情况 上图中此时指的是按了ctrl.后 填完坑后分享一下,而且我不知道字…

Android解压zip rar 7z文件

添加依赖 implementation org.apache.commons:commons-compress:1.23.0 implementation com.github.junrar:junrar:7.5.4//解压rar implementation org.tukaani:xz:1.9//解压.7z文件需要 下面 FileUtil.kt 代码中用到了 Context 的拓展方法 getAppDir fun Context.getAppDir…

龙芯开始支持主流开发栈: Java, .Net以及NodeJS

最近有媒体报道龙芯发布了.Net软件,好奇地点进去看了看。原来是龙芯社区发布了.Net Core 3.1的运行时 (Runtime) 和开发包 (SDK)。上龙芯开源社区可以看到到今年12月份为止,程序员已经可以在龙芯上使用 Java, .Net 和 NodeJS 开发软件。对这三大主流技术…

龙芯2k按键中断驱动_龙芯2k1000的中断处理逻辑

龙芯2k1000的中断设计 1.前言 2.龙芯2k1000的中断描述 2.1mips设计上的通用中断处理 2.2龙芯中断的设计 3.龙芯2k1000中断的产生与处理 4.龙芯2k1000中断处理概述 1.前言 中断与异常在任何体系架构的芯片上都不会完全一样。在arm的m系列芯片上需要理解NVIC,这个相对…