From: Stephen Hemminger <stephen@networkplumber.org>
To: Ferruh Yigit <ferruh.yigit@amd.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH v2 0/3] rte_ether_unformat_addr changes
Date: Tue, 3 Oct 2023 09:34:41 -0700 [thread overview]
Message-ID: <20231003093441.75f4874d@hermes.local> (raw)
In-Reply-To: <1cba5fee-2283-422e-abda-4cc7f239d5d8@amd.com>
On Tue, 3 Oct 2023 11:44:16 +0100
Ferruh Yigit <ferruh.yigit@amd.com> wrote:
> On 10/2/2023 7:37 PM, Stephen Hemminger wrote:
> > This patchset makes rte_ether_unformat_addr allow other formats
> > for MAC address. Need to remove some inputs from existing
> > cmdline_etheraddr test, and add a new test in test suite
> > to cover this. There is some overlap between the two tests
> > but that is fine.
> >
> > Stephen Hemminger (3):
> > test: remove some strings from cmdline_etheraddr tests
> > rte_ether_unformat: accept more inputs
> > test: add tests for rte_ether routines
> >
>
> Thanks Stephen,
>
> This enables using the API as replacement to the tap PMD's local parse
> implementation:
> https://patchwork.dpdk.org/project/dpdk/patch/20230323170145.129901-1-drc@linux.vnet.ibm.com/
It can be simplified to just this.
No need to check value == NULL, already checkd.
No need to check for user_mac == NULL, since only called one place and that place
passes pointer to stack variable.
From b478a17f13a1bedadca3b60608c585f31c9ad8f2 Mon Sep 17 00:00:00 2001
From: David Christensen <drc@linux.vnet.ibm.com>
Date: Thu, 23 Mar 2023 13:01:45 -0400
Subject: [PATCH] net/tap: resolve stringop-overflow with gcc 12 on ppc64le
Building DPDK with gcc 12 on a ppc64le system generates a
stringop-overflow warning. Replace the local MAC address
validation function parse_user_mac() with a call to
rte_ether_unformat_addr() instead.
Bugzilla ID: 1197
Cc: stable@dpdk.org
Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
---
drivers/net/tap/rte_eth_tap.c | 25 +------------------------
1 file changed, 1 insertion(+), 24 deletions(-)
diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index bf98f7555990..b25a52655fa2 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -2267,29 +2267,6 @@ set_remote_iface(const char *key __rte_unused,
return 0;
}
-static int parse_user_mac(struct rte_ether_addr *user_mac,
- const char *value)
-{
- unsigned int index = 0;
- char mac_temp[strlen(ETH_TAP_USR_MAC_FMT) + 1], *mac_byte = NULL;
-
- if (user_mac == NULL || value == NULL)
- return 0;
-
- strlcpy(mac_temp, value, sizeof(mac_temp));
- mac_byte = strtok(mac_temp, ":");
-
- while ((mac_byte != NULL) &&
- (strlen(mac_byte) <= 2) &&
- (strlen(mac_byte) == strspn(mac_byte,
- ETH_TAP_CMP_MAC_FMT))) {
- user_mac->addr_bytes[index++] = strtoul(mac_byte, NULL, 16);
- mac_byte = strtok(NULL, ":");
- }
-
- return index;
-}
-
static int
set_mac_type(const char *key __rte_unused,
const char *value,
@@ -2311,7 +2288,7 @@ set_mac_type(const char *key __rte_unused,
goto success;
}
- if (parse_user_mac(user_mac, value) != 6)
+ if (rte_ether_unformat_addr(value, user_mac) < 0)
goto error;
success:
TAP_LOG(DEBUG, "TAP user MAC param (%s)", value);
--
2.39.2
next prev parent reply other threads:[~2023-10-03 16:34 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-29 16:36 [RFC] rte_ether_unformat: accept more inputs Stephen Hemminger
2023-09-29 19:35 ` Morten Brørup
2023-09-29 23:08 ` Stephen Hemminger
2023-10-02 18:37 ` [PATCH v2 0/3] rte_ether_unformat_addr changes Stephen Hemminger
2023-10-02 18:37 ` [PATCH v2 1/3] test: remove some strings from cmdline_etheraddr tests Stephen Hemminger
2023-10-03 10:47 ` Ferruh Yigit
2023-10-03 10:59 ` Ferruh Yigit
2023-10-03 16:38 ` Stephen Hemminger
2023-10-03 16:36 ` Stephen Hemminger
2023-10-03 16:50 ` Ferruh Yigit
2023-10-03 17:18 ` Stephen Hemminger
2023-10-02 18:37 ` [PATCH v2 2/3] rte_ether_unformat: accept more inputs Stephen Hemminger
2023-10-02 18:37 ` [PATCH v2 3/3] test: add tests for rte_ether routines Stephen Hemminger
2023-10-03 6:17 ` [PATCH v2 0/3] rte_ether_unformat_addr changes Morten Brørup
2023-10-03 10:44 ` Ferruh Yigit
2023-10-03 16:27 ` Stephen Hemminger
2023-10-03 16:34 ` Stephen Hemminger [this message]
2023-10-03 20:29 ` [PATCH v3 0/4] rte_ether_unformat_addr related changes Stephen Hemminger
2023-10-03 20:29 ` [PATCH v3 1/4] test: remove some strings from cmdline_etheraddr tests Stephen Hemminger
2023-10-03 20:29 ` [PATCH v3 2/4] rte_ether_unformat: accept more inputs Stephen Hemminger
2023-10-03 20:29 ` [PATCH v3 3/4] test: add tests for rte_ether routines Stephen Hemminger
2023-10-03 20:29 ` [PATCH v3 4/4] net/tap: use rte_ether_unformat_address Stephen Hemminger
2023-10-11 14:25 ` Ferruh Yigit
2023-10-04 11:48 ` [PATCH v3 0/4] rte_ether_unformat_addr related changes Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231003093441.75f4874d@hermes.local \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.