From f870a5f9fc7af42f650859054b80d70bd538741e Mon Sep 17 00:00:00 2001 From: Revanth Kumar Uppala Date: Wed, 15 May 2024 16:55:40 +0000 Subject: [PATCH] nvethernet: macsec: Add module param for macsec. Add module parameter to enable/disable macsec. By default macsec will be enabled and it can be disabled with help of module parameter "macsec_enable" Bug 4640382 Change-Id: I3b6ffde52a73760cd65f02abe472c3133996b698 Signed-off-by: Revanth Kumar Uppala Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3156387 GVS: buildbot_gerritrpt Reviewed-by: Jon Hunter --- drivers/net/ethernet/nvidia/nvethernet/ether_linux.c | 2 +- drivers/net/ethernet/nvidia/nvethernet/macsec.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index d66811f6..3092bb7a 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -6666,7 +6666,7 @@ static int ether_probe(struct platform_device *pdev) goto err_macsec; } else if (ret == 1) { /* Nothing to do, macsec is not supported */ - dev_info(&pdev->dev, "Macsec not supported/Not enabled in DT\n"); + dev_info(&pdev->dev, "Macsec not supported/Not enabled\n"); } else { dev_info(&pdev->dev, "Macsec not enabled\n"); /* Macsec is supported, reduce MTU */ diff --git a/drivers/net/ethernet/nvidia/nvethernet/macsec.c b/drivers/net/ethernet/nvidia/nvethernet/macsec.c index ece870d2..6f7d0efe 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/macsec.c +++ b/drivers/net/ethernet/nvidia/nvethernet/macsec.c @@ -9,6 +9,11 @@ #ifdef HSI_SUPPORT #include #endif + +static bool macsec_enable = true; +module_param(macsec_enable, bool, 0644); +MODULE_PARM_DESC(macsec_enable, "Enable Macsec for nvethernet module"); + static int macsec_get_tx_next_pn(struct sk_buff *skb, struct genl_info *info); #ifndef MACSEC_KEY_PROGRAM @@ -1365,9 +1370,10 @@ int macsec_probe(struct ether_priv_data *pdata) /* Read if macsec is enabled in DT */ ret = of_property_read_u32(np, "nvidia,macsec-enable", &macsec_pdata->is_macsec_enabled_in_dt); - if ((ret != 0) || (macsec_pdata->is_macsec_enabled_in_dt == 0U)) { + if (ret != 0 || !macsec_enable || + macsec_pdata->is_macsec_enabled_in_dt == 0U) { dev_info(dev, - "macsec param in DT is missing or disabled\n"); + "macsec parameter is missing or disabled\n"); ret = 1; goto init_err; }