2021-10-30 01:00:26

by Dexuan Cui

[permalink] [raw]
Subject: [PATCH net-next 2/4] net: mana: Report OS info to the PF driver

The PF driver might use the OS info for statistical purposes.

Signed-off-by: Dexuan Cui <[email protected]>
---
drivers/net/ethernet/microsoft/mana/gdma_main.c | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c
index cee75b561f59..8a9ee2885f8c 100644
--- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
+++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c
@@ -3,6 +3,8 @@

#include <linux/module.h>
#include <linux/pci.h>
+#include <linux/utsname.h>
+#include <linux/version.h>

#include "mana.h"

@@ -848,6 +850,15 @@ int mana_gd_verify_vf_version(struct pci_dev *pdev)
req.gd_drv_cap_flags3 = GDMA_DRV_CAP_FLAGS3;
req.gd_drv_cap_flags4 = GDMA_DRV_CAP_FLAGS4;

+ req.drv_ver = 0; /* Unused*/
+ req.os_type = 0x10; /* Linux */
+ req.os_ver_major = LINUX_VERSION_MAJOR;
+ req.os_ver_minor = LINUX_VERSION_PATCHLEVEL;
+ req.os_ver_build = LINUX_VERSION_SUBLEVEL;
+ strscpy(req.os_ver_str1, utsname()->sysname, sizeof(req.os_ver_str1));
+ strscpy(req.os_ver_str2, utsname()->release, sizeof(req.os_ver_str2));
+ strscpy(req.os_ver_str3, utsname()->version, sizeof(req.os_ver_str3));
+
err = mana_gd_send_request(gc, sizeof(req), &req, sizeof(resp), &resp);
if (err || resp.hdr.status) {
dev_err(gc->dev, "VfVerifyVersionOutput: %d, status=0x%x\n",
--
2.17.1


2021-10-30 15:37:47

by Haiyang Zhang

[permalink] [raw]
Subject: RE: [PATCH net-next 2/4] net: mana: Report OS info to the PF driver



> -----Original Message-----
> From: Dexuan Cui <[email protected]>
> Sent: Friday, October 29, 2021 8:54 PM
> To: [email protected]; [email protected]; [email protected]; Haiyang
> Zhang <[email protected]>; [email protected]
> Cc: KY Srinivasan <[email protected]>; [email protected];
> [email protected]; [email protected]; linux-
> [email protected]; Shachar Raindel <[email protected]>; Paul
> Rosswurm <[email protected]>; [email protected]; vkuznets
> <[email protected]>; Dexuan Cui <[email protected]>
> Subject: [PATCH net-next 2/4] net: mana: Report OS info to the PF driver
>
> The PF driver might use the OS info for statistical purposes.
>
> Signed-off-by: Dexuan Cui <[email protected]>
> ---
> drivers/net/ethernet/microsoft/mana/gdma_main.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c
> b/drivers/net/ethernet/microsoft/mana/gdma_main.c
> index cee75b561f59..8a9ee2885f8c 100644
> --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
> +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c
> @@ -3,6 +3,8 @@
>
> #include <linux/module.h>
> #include <linux/pci.h>
> +#include <linux/utsname.h>
> +#include <linux/version.h>
>
> #include "mana.h"
>
> @@ -848,6 +850,15 @@ int mana_gd_verify_vf_version(struct pci_dev *pdev)
> req.gd_drv_cap_flags3 = GDMA_DRV_CAP_FLAGS3;
> req.gd_drv_cap_flags4 = GDMA_DRV_CAP_FLAGS4;
>
> + req.drv_ver = 0; /* Unused*/
> + req.os_type = 0x10; /* Linux */

Instead of a magic number, could you define it as a macro?

Other parts look fine.

Reviewed-by: Haiyang Zhang <[email protected]>

> + req.os_ver_major = LINUX_VERSION_MAJOR;
> + req.os_ver_minor = LINUX_VERSION_PATCHLEVEL;
> + req.os_ver_build = LINUX_VERSION_SUBLEVEL;
> + strscpy(req.os_ver_str1, utsname()->sysname,
> sizeof(req.os_ver_str1));
> + strscpy(req.os_ver_str2, utsname()->release,
> sizeof(req.os_ver_str2));
> + strscpy(req.os_ver_str3, utsname()->version,
> sizeof(req.os_ver_str3));
> +
> err = mana_gd_send_request(gc, sizeof(req), &req, sizeof(resp),
> &resp);
> if (err || resp.hdr.status) {
> dev_err(gc->dev, "VfVerifyVersionOutput: %d, status=0x%x\n",
> --
> 2.17.1

2021-11-01 06:09:03

by Dexuan Cui

[permalink] [raw]
Subject: RE: [PATCH net-next 2/4] net: mana: Report OS info to the PF driver

> From: Haiyang Zhang <[email protected]>
> Sent: Saturday, October 30, 2021 8:36 AM
> > @@ -848,6 +850,15 @@ int mana_gd_verify_vf_version(struct pci_dev
> *pdev)
> > req.gd_drv_cap_flags3 = GDMA_DRV_CAP_FLAGS3;
> > req.gd_drv_cap_flags4 = GDMA_DRV_CAP_FLAGS4;
> >
> > + req.drv_ver = 0; /* Unused*/
> > + req.os_type = 0x10; /* Linux */
>
> Instead of a magic number, could you define it as a macro?
>
> Other parts look fine.
>
> Reviewed-by: Haiyang Zhang <[email protected]>

Ok, I'll apply the below change in v2.

@@ -497,6 +497,7 @@ enum {

#define GDMA_DRV_CAP_FLAGS4 0

+#define GDMA_OS_TYPE_LINUX 0x10
struct gdma_verify_ver_req {
struct gdma_req_hdr hdr;

diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c
index c96ac81212f7..bea218c5c043 100644
--- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
+++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c
@@ -851,7 +851,7 @@ int mana_gd_verify_vf_version(struct pci_dev *pdev)
req.gd_drv_cap_flags4 = GDMA_DRV_CAP_FLAGS4;

req.drv_ver = 0; /* Unused*/
- req.os_type = 0x10; /* Linux */
+ req.os_type = GDMA_OS_TYPE_LINUX;
req.os_ver_major = LINUX_VERSION_MAJOR;
req.os_ver_minor = LINUX_VERSION_PATCHLEVEL;
req.os_ver_build = LINUX_VERSION_SUBLEVEL;