aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2026-01-28 05:32:53 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2026-02-25 17:19:36 +0000
commitde29fd0322254127c3ebaedbc91ee4f9620f5fdf (patch)
tree60c0812db1212739eaa5d065ae7770a4f15987b2 /sys/dev
parent0e5caac7d543687d540fa83a7125726c7c9e6e58 (diff)
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/mlx5/mlx5_accel/ipsec.h1
-rw-r--r--sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c19
-rw-r--r--sys/dev/mlx5/mlx5_en/mlx5_en_main.c3
3 files changed, 18 insertions, 5 deletions
diff --git a/sys/dev/mlx5/mlx5_accel/ipsec.h b/sys/dev/mlx5/mlx5_accel/ipsec.h
index c3f3a2372482..8685c07e84db 100644
--- a/sys/dev/mlx5/mlx5_accel/ipsec.h
+++ b/sys/dev/mlx5/mlx5_accel/ipsec.h
@@ -204,6 +204,7 @@ struct mlx5e_ipsec_pol_entry {
/* This function doesn't really belong here, but let's put it here for now */
void mlx5_object_change_event(struct mlx5_core_dev *dev, struct mlx5_eqe *eqe);
+void mlx5e_ipsec_report(struct mlx5e_priv *priv);
int mlx5e_ipsec_init(struct mlx5e_priv *priv);
void mlx5e_ipsec_cleanup(struct mlx5e_priv *priv);
diff --git a/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c b/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c
index 3f3c575c9dad..bdbad6a084d9 100644
--- a/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c
+++ b/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c
@@ -739,13 +739,14 @@ static const struct if_ipsec_accel_methods mlx5e_ipsec_funcs = {
.if_hwassist = mlx5e_if_ipsec_hwassist,
};
-int mlx5e_ipsec_init(struct mlx5e_priv *priv)
+void
+mlx5e_ipsec_report(struct mlx5e_priv *priv)
{
- struct mlx5_core_dev *mdev = priv->mdev;
- struct mlx5e_ipsec *pipsec;
- if_t ifp = priv->ifp;
- int ret;
+ struct mlx5_core_dev *mdev;
+ if (!bootverbose)
+ return;
+ mdev = priv->mdev;
mlx5_core_info(mdev, "ipsec "
"offload %d log_max_dek %d gen_obj_types %d "
"ipsec_encrypt %d ipsec_decrypt %d "
@@ -775,6 +776,14 @@ int mlx5e_ipsec_init(struct mlx5e_priv *priv)
MLX5_CAP_FLOWTABLE_NIC_RX(mdev,
reformat_del_esp_transport_over_udp) != 0,
MLX5_CAP_IPSEC(mdev, ipsec_esn) != 0);
+}
+
+int mlx5e_ipsec_init(struct mlx5e_priv *priv)
+{
+ struct mlx5_core_dev *mdev = priv->mdev;
+ struct mlx5e_ipsec *pipsec;
+ if_t ifp = priv->ifp;
+ int ret;
if (!(mlx5_ipsec_device_caps(mdev) & MLX5_IPSEC_CAP_PACKET_OFFLOAD)) {
mlx5_core_dbg(mdev, "Not an IPSec offload device\n");
diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
index daa98752c59b..0baeab31b100 100644
--- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
+++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
@@ -4713,6 +4713,9 @@ mlx5e_create_ifp(struct mlx5_core_dev *mdev)
goto err_rl_init;
}
+#ifdef IPSEC_OFFLOAD
+ mlx5e_ipsec_report(priv);
+#endif
if ((if_getcapenable2(ifp) & IFCAP2_BIT(IFCAP2_IPSEC_OFFLOAD)) != 0) {
err = mlx5e_ipsec_init(priv);
if (err) {