Message ID | 20240731071406.1054655-1-lulu@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | David Ahern |
Headers | show |
Series | [v3] vdpa: Add support for setting the MAC address and MTU in vDPA tool. | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
On 7/31/24 1:14 AM, Cindy Lu wrote: > Add a new function in vDPA tool to support set MAC address and MTU. > Currently, the kernel only supports setting the MAC address. MTU support > will be added to the kernel later. > > Update the man page to include usage for setting the MAC address. Usage > for setting the MTU will be added after the kernel supports MTU setting. > What's the status of the kernel patch? I do not see VDPA_CMD_DEV_ATTR_SET in net-next for 6.11.
On Sun, 4 Aug 2024 at 23:32, David Ahern <dsahern@gmail.com> wrote: > > On 7/31/24 1:14 AM, Cindy Lu wrote: > > Add a new function in vDPA tool to support set MAC address and MTU. > > Currently, the kernel only supports setting the MAC address. MTU support > > will be added to the kernel later. > > > > Update the man page to include usage for setting the MAC address. Usage > > for setting the MTU will be added after the kernel supports MTU setting. > > > > What's the status of the kernel patch? I do not see > VDPA_CMD_DEV_ATTR_SET in net-next for 6.11. > hi David The kernel patch has received ACK, but it hasn't been merged yet. https://lore.kernel.org/netdev/20240731031653.1047692-1-lulu@redhat.com/T/ thanks cindy
On Tue, 6 Aug 2024 at 09:01, Cindy Lu <lulu@redhat.com> wrote: > > On Sun, 4 Aug 2024 at 23:32, David Ahern <dsahern@gmail.com> wrote: > > > > On 7/31/24 1:14 AM, Cindy Lu wrote: > > > Add a new function in vDPA tool to support set MAC address and MTU. > > > Currently, the kernel only supports setting the MAC address. MTU support > > > will be added to the kernel later. > > > > > > Update the man page to include usage for setting the MAC address. Usage > > > for setting the MTU will be added after the kernel supports MTU setting. > > > > > > > What's the status of the kernel patch? I do not see > > VDPA_CMD_DEV_ATTR_SET in net-next for 6.11. > > > hi David > The kernel patch has received ACK, but it hasn't been merged yet. > > https://lore.kernel.org/netdev/20240731031653.1047692-1-lulu@redhat.com/T/ > thanks > cindy Hi All ping for this patch The kernel part of this tool was merged upstream in following commit commit 0181f8c809d6116a8347d8beb25a8c35ed22f7d7 Merge: 11a299a7933e efcd71af38be Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu Sep 26 08:43:17 2024 -0700 Would you help review this patch? Thanks, Cindy
On 10/22/24 1:01 AM, Cindy Lu wrote: > Hi All > ping for this patch > The kernel part of this tool was merged upstream in following commit > commit 0181f8c809d6116a8347d8beb25a8c35ed22f7d7 > Merge: 11a299a7933e efcd71af38be > Author: Linus Torvalds <torvalds@linux-foundation.org> > Date: Thu Sep 26 08:43:17 2024 -0700 > > Would you help review this patch? > Thanks, > Cindy > patch no longer applies. Please re-base and re-send.
On Sat, 26 Oct 2024 at 00:54, David Ahern <dsahern@gmail.com> wrote: > > On 10/22/24 1:01 AM, Cindy Lu wrote: > > Hi All > > ping for this patch > > The kernel part of this tool was merged upstream in following commit > > commit 0181f8c809d6116a8347d8beb25a8c35ed22f7d7 > > Merge: 11a299a7933e efcd71af38be > > Author: Linus Torvalds <torvalds@linux-foundation.org> > > Date: Thu Sep 26 08:43:17 2024 -0700 > > > > Would you help review this patch? > > Thanks, > > Cindy > > > > patch no longer applies. Please re-base and re-send. > Sure, I will send a new version Thanks cindy
diff --git a/man/man8/vdpa-dev.8 b/man/man8/vdpa-dev.8 index 43e5bf48..718f40b2 100644 --- a/man/man8/vdpa-dev.8 +++ b/man/man8/vdpa-dev.8 @@ -50,6 +50,12 @@ vdpa-dev \- vdpa device configuration .B qidx .I QUEUE_INDEX +.ti -8 +.B vdpa dev set +.B name +.I NAME +.B mac +.RI "[ " MACADDR " ]" .SH "DESCRIPTION" .SS vdpa dev show - display vdpa device attributes @@ -120,6 +126,15 @@ VDPA_DEVICE_NAME .BI qidx " QUEUE_INDEX" - specifies the virtqueue index to query +.SS vdpa dev set - set the configuration to the vdpa device. + +.BI name " NAME" +-Name of the vdpa device to configure. + +.BI mac " MACADDR" +- specifies the mac address for the vdpa device. +This is applicable only for the network type of vdpa device. + .SH "EXAMPLES" .PP vdpa dev show @@ -171,6 +186,11 @@ vdpa dev vstats show vdpa0 qidx 1 .RS 4 Shows vendor specific statistics information for vdpa device vdpa0 and virtqueue index 1 .RE +.PP +vdpa dev set name vdpa0 mac 00:11:22:33:44:55 +.RS 4 +Set a specific MAC address to vdpa device vdpa0 +.RE .SH SEE ALSO .BR vdpa (8), diff --git a/vdpa/include/uapi/linux/vdpa.h b/vdpa/include/uapi/linux/vdpa.h index 8586bd17..bc23c731 100644 --- a/vdpa/include/uapi/linux/vdpa.h +++ b/vdpa/include/uapi/linux/vdpa.h @@ -19,6 +19,7 @@ enum vdpa_command { VDPA_CMD_DEV_GET, /* can dump */ VDPA_CMD_DEV_CONFIG_GET, /* can dump */ VDPA_CMD_DEV_VSTATS_GET, + VDPA_CMD_DEV_ATTR_SET, }; enum vdpa_attr { diff --git a/vdpa/vdpa.c b/vdpa/vdpa.c index 6e4a9c11..15deab94 100644 --- a/vdpa/vdpa.c +++ b/vdpa/vdpa.c @@ -758,6 +758,22 @@ static int cmd_dev_del(struct vdpa *vdpa, int argc, char **argv) return mnlu_gen_socket_sndrcv(&vdpa->nlg, nlh, NULL, NULL); } +static int cmd_dev_set(struct vdpa *vdpa, int argc, char **argv) +{ + struct nlmsghdr *nlh; + int err; + + nlh = mnlu_gen_socket_cmd_prepare(&vdpa->nlg, VDPA_CMD_DEV_ATTR_SET, + NLM_F_REQUEST | NLM_F_ACK); + err = vdpa_argv_parse_put(nlh, vdpa, argc, argv, + VDPA_OPT_VDEV_NAME, + VDPA_OPT_VDEV_MAC | VDPA_OPT_VDEV_MTU); + if (err) + return err; + + return mnlu_gen_socket_sndrcv(&vdpa->nlg, nlh, NULL, NULL); +} + static void pr_out_dev_net_config(struct vdpa *vdpa, struct nlattr **tb) { SPRINT_BUF(macaddr); @@ -1027,6 +1043,8 @@ static int cmd_dev(struct vdpa *vdpa, int argc, char **argv) return cmd_dev_config(vdpa, argc - 1, argv + 1); } else if (!strcmp(*argv, "vstats")) { return cmd_dev_vstats(vdpa, argc - 1, argv + 1); + } else if (!strcmp(*argv, "set")) { + return cmd_dev_set(vdpa, argc - 1, argv + 1); } fprintf(stderr, "Command \"%s\" not found\n", *argv); return -ENOENT;
Add a new function in vDPA tool to support set MAC address and MTU. Currently, the kernel only supports setting the MAC address. MTU support will be added to the kernel later. Update the man page to include usage for setting the MAC address. Usage for setting the MTU will be added after the kernel supports MTU setting. The usage is: vdpa dev set name vdpa_name mac **:**:**:**:** here is example: root@L1# vdpa -jp dev config show vdpa0 { "config": { "vdpa0": { "mac": "82:4d:e9:5d:d7:e6", "link ": "up", "link_announce ": false, "mtu": 1500 } } } root@L1# vdpa dev set name vdpa0 mac 00:11:22:33:44:55 root@L1# vdpa -jp dev config show vdpa0 { "config": { "vdpa0": { "mac": "00:11:22:33:44:55", "link ": "up", "link_announce ": false, "mtu": 1500 } } } Signed-off-by: Cindy Lu <lulu@redhat.com> --- man/man8/vdpa-dev.8 | 20 ++++++++++++++++++++ vdpa/include/uapi/linux/vdpa.h | 1 + vdpa/vdpa.c | 18 ++++++++++++++++++ 3 files changed, 39 insertions(+)