当前位置: 首页 > news >正文

Mellanox的LAG全称是什么?网卡的创建机制如何?(Link Aggregation Group 链路聚合组)

背景

对于双端口的网卡,有时候有将链路聚合的需求。在Mellanox网卡上通过LAG提供。对于RoCE的报文在Mellanox上也可以通过LAG来完成报文收发,叫做RoCE over LAG。但是仅仅适用于双端口卡。

关键点

  • LAG: Link Aggregation Group (LAG) 链路聚合组。一种网络技术,允许将多个物理链路组合成一个逻辑链路,以提高带宽和冗余。(注意这里是指链路,还不涉及端口port的概念,聚合的不是端口而是链路)
  • Linux内核中链路聚合是 bonding 功能
  • LAG 的创建和销毁:通过 mlx5_cmd_create_lag 和 mlx5_cmd_destroy_lag
  • LAG的激活和去激活:mlx5_activate_lag 和mlx5_deactivate_lag(清理相关资源)
  • Mellanox网卡只有在HCA_CAP.num_lag_ports > 1的时候才能用lag功能,在HCA_CAP的“寄存器”地址的偏移4Ch处
    在这里插入图片描述
  • 如果 HCA_CAP.lag_master = 1,软件(SW)必须使用特定的命令(如 CREATE/MODIFY/DESTROY LAG)来启用和管理 LAG
  • LAG相关的几条命令:创建,修改,查询,销毁,创建vport的lag和销毁
    MLX5_CMD_OP_CREATE_LAG = 0x840,
    MLX5_CMD_OP_MODIFY_LAG = 0x841,
    MLX5_CMD_OP_QUERY_LAG = 0x842,
    MLX5_CMD_OP_DESTROY_LAG = 0x843,
    MLX5_CMD_OP_CREATE_VPORT_LAG = 0x844,
    MLX5_CMD_OP_DESTROY_VPORT_LAG = 0x845,
  • 以创建LAG为例HOST和FW交互cmd格式:
    在这里插入图片描述
    在这里插入图片描述
    其中context内容:
    在这里插入图片描述
  • 代码中创建lag是:mlx5_cmd_create_lag,可见是对cmd的封装
    在这里插入图片描述
    创建执行结束后会返回状态和syndrome:
    在这里插入图片描述
  • mlx5_create_lag执行成功后会将设置到FW的flags同时赋值到ldev->flags |= flags;(如果失败不会被执行),然后__mlx5_lag_is_active会判断这个flags是否为有效ldev->flags & MLX5_LAG_MODE_FLAGS,下面任何一个flag被打标都表示有效。
#define MLX5_LAG_MODE_FLAGS (MLX5_LAG_FLAG_ROCE | MLX5_LAG_FLAG_SRIOV |\MLX5_LAG_FLAG_MULTIPATH | \MLX5_LAG_FLAG_HASH_BASED | MLX5_LAG_FLAG_MULTI_PORT_ESW)
  • 当ibdev2netdev查看bond口名字的时候,使用的是mlx5_0还是mlx5_bond_0,就是根据是否active决定的:
    在这里插入图片描述

参考:
https://enterprise-support.nvidia.com/s/article/How-to-Configure-RoCE-over-LAG-ConnectX-4-ConnectX-5-ConnectX-6
https://docs.nvidia.com/networking/display/mlnxofedv23070512/changes+and+new+features+history

http://www.lryc.cn/news/543282.html

相关文章:

  • 【最大通过数——二分】
  • Liunx系统中FTP与NFS
  • uniapp 测试 IPA 包安装到测试 iPhone
  • 结构体指针传递给函数注意事项
  • mfy学习笔记
  • C语言--文件操作
  • 网络安全内参
  • C++大整数类的设计与实现
  • 在 macOS 系统上安装 kubectl
  • 【人工智能】蓝耘智算平台盛大发布DeepSeek满血版:开创AI推理体验新纪元
  • 构建数据治理闭环:DAMA视角下的全流程实践与价值变现
  • 《深度剖析:AI与姿态估计技术在元宇宙VR交互中的应用困境》
  • 【Python LeetCode】面试经典 150 题
  • 2011-2019年各省乡镇综合文化站机构数数据
  • LeetCode 热题100 226. 翻转二叉树
  • mysql 拼接多行合并为一行
  • 【Java项目】基于Spring Boot的论坛管理系统
  • unity学习54:图片+精灵+遮罩mask,旧版文本 text 和新的TMP文本
  • 2024年国赛高教杯数学建模D题反潜航空深弹命中概率问题解题全过程文档及程序
  • 什么是数字人
  • 15.5 基于 RetrievalQA 的销售话术增强系统实战:构建智能销售大脑
  • 软件供应链安全工具链研究系列—RASP自适应威胁免疫平台(下篇)
  • WordPress网站502错误全面排查与解决指南
  • PCL源码分析:曲面法向量采样
  • HTTP 动态报错码的原因和解决方法
  • 1分钟用DeepSeek编写一个PDF转Word软件
  • 生成对抗网络(GAN)
  • openlayers结合turf geojson面获取面积和中心点
  • 【SRC实战】修改金币数量实现财富自由
  • 地理数据可视化:飞线说明(笔记)