efa: Add support for the query port speed verb Add support for the query speed verb to get the effective port bandwidth. Reviewed-by: Michael Margolin <mrgolin@amazon.com> Reviewed-by: Yonatan Nachum <ynachum@amazon.com> Signed-off-by: Tom Sela <tomsela@amazon.com>
diff --git a/providers/efa/efa.c b/providers/efa/efa.c index 539bcb5..5e6d873 100644 --- a/providers/efa/efa.c +++ b/providers/efa/efa.c
@@ -49,6 +49,7 @@ .post_send = efa_post_send, .query_device_ex = efa_query_device_ex, .query_port = efa_query_port, + .query_port_speed = efa_query_port_speed, .query_qp = efa_query_qp, .query_qp_data_in_order = efa_query_qp_data_in_order, .reg_dmabuf_mr = efa_reg_dmabuf_mr,
diff --git a/providers/efa/verbs.c b/providers/efa/verbs.c index ef951ca..8327cb3 100644 --- a/providers/efa/verbs.c +++ b/providers/efa/verbs.c
@@ -63,6 +63,12 @@ uint16_t gen; }; +int efa_query_port_speed(struct ibv_context *context, uint32_t port, + uint64_t *speed) +{ + return ibv_cmd_query_port_speed(context, port, speed); +} + int efa_query_port(struct ibv_context *ibvctx, uint8_t port, struct ibv_port_attr *port_attr) {
diff --git a/providers/efa/verbs.h b/providers/efa/verbs.h index 2789dee..b38b4e4 100644 --- a/providers/efa/verbs.h +++ b/providers/efa/verbs.h
@@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */ /* - * Copyright 2019-2025 Amazon.com, Inc. or its affiliates. All rights reserved. + * Copyright 2019-2026 Amazon.com, Inc. or its affiliates. All rights reserved. */ #ifndef __EFA_VERBS_H__ @@ -12,6 +12,8 @@ int efa_query_device_ctx(struct efa_context *ctx); int efa_query_port(struct ibv_context *uctx, uint8_t port, struct ibv_port_attr *attr); +int efa_query_port_speed(struct ibv_context *context, uint32_t port, + uint64_t *speed); int efa_query_device_ex(struct ibv_context *context, const struct ibv_query_device_ex_input *input, struct ibv_device_attr_ex *attr, size_t attr_size);