git: e39ee9b9ef3c - stable/14 - libibverbs: Extend support of NDR rates
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 22 Mar 2025 00:28:27 UTC
The branch stable/14 has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=e39ee9b9ef3c9951da0f0a0f00460e7e4b3175c0
commit e39ee9b9ef3c9951da0f0a0f00460e7e4b3175c0
Author: Slava Shwartsman <slavash@nvidia.com>
AuthorDate: 2025-03-12 08:49:37 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2025-03-22 00:27:55 +0000
libibverbs: Extend support of NDR rates
PR: 285305
(cherry picked from commit 5963423232e869b8dbe8e9a65134e92735dfb521)
---
contrib/ofed/libibverbs/examples/devinfo.c | 1 +
contrib/ofed/libibverbs/verbs.c | 8 ++++++++
contrib/ofed/libibverbs/verbs.h | 2 ++
3 files changed, 11 insertions(+)
diff --git a/contrib/ofed/libibverbs/examples/devinfo.c b/contrib/ofed/libibverbs/examples/devinfo.c
index 7693cb30739d..866d82718f7d 100644
--- a/contrib/ofed/libibverbs/examples/devinfo.c
+++ b/contrib/ofed/libibverbs/examples/devinfo.c
@@ -145,6 +145,7 @@ static const char *speed_str(uint8_t speed)
case 16: return "14.0 Gbps";
case 32: return "25.0 Gbps";
case 64: return "50.0 Gbps";
+ case 128: return "100.0 Gbps";
default: return "invalid speed";
}
}
diff --git a/contrib/ofed/libibverbs/verbs.c b/contrib/ofed/libibverbs/verbs.c
index aec8706fd0cc..9c7e3b403f92 100644
--- a/contrib/ofed/libibverbs/verbs.c
+++ b/contrib/ofed/libibverbs/verbs.c
@@ -115,6 +115,8 @@ int __attribute__((const)) ibv_rate_to_mult(enum ibv_rate rate)
case IBV_RATE_50_GBPS: return 20;
case IBV_RATE_400_GBPS: return 160;
case IBV_RATE_600_GBPS: return 240;
+ case IBV_RATE_800_GBPS: return 320;
+ case IBV_RATE_1200_GBPS: return 480;
default: return -1;
}
}
@@ -135,6 +137,8 @@ enum ibv_rate __attribute__((const)) mult_to_ibv_rate(int mult)
case 20: return IBV_RATE_50_GBPS;
case 160: return IBV_RATE_400_GBPS;
case 240: return IBV_RATE_600_GBPS;
+ case 320: return IBV_RATE_800_GBPS;
+ case 480: return IBV_RATE_1200_GBPS;
default: return IBV_RATE_MAX;
}
}
@@ -163,6 +167,8 @@ int __attribute__((const)) ibv_rate_to_mbps(enum ibv_rate rate)
case IBV_RATE_50_GBPS: return 53125;
case IBV_RATE_400_GBPS: return 425000;
case IBV_RATE_600_GBPS: return 637500;
+ case IBV_RATE_800_GBPS: return 850000;
+ case IBV_RATE_1200_GBPS: return 1275000;
default: return -1;
}
}
@@ -191,6 +197,8 @@ enum ibv_rate __attribute__((const)) mbps_to_ibv_rate(int mbps)
case 53125: return IBV_RATE_50_GBPS;
case 425000: return IBV_RATE_400_GBPS;
case 637500: return IBV_RATE_600_GBPS;
+ case 850000: return IBV_RATE_800_GBPS;
+ case 1275000: return IBV_RATE_1200_GBPS;
default: return IBV_RATE_MAX;
}
}
diff --git a/contrib/ofed/libibverbs/verbs.h b/contrib/ofed/libibverbs/verbs.h
index 498275561280..8a76dfdf7fd5 100644
--- a/contrib/ofed/libibverbs/verbs.h
+++ b/contrib/ofed/libibverbs/verbs.h
@@ -595,6 +595,8 @@ enum ibv_rate {
IBV_RATE_50_GBPS = 20,
IBV_RATE_400_GBPS = 21,
IBV_RATE_600_GBPS = 22,
+ IBV_RATE_800_GBPS = 23,
+ IBV_RATE_1200_GBPS = 24,
};
/**