Thanks! I applied the following incremental
(minor style fixes) and push this to master
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index d0c3d66..f94e0d4 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -649,10 +649,11 @@ dpdk_dev_parse_name(const char dev_name[], const
char prefix[],
cport = dev_name + strlen(prefix);
- if(str_to_uint(cport, 10, port_no))
+ if (str_to_uint(cport, 10, port_no)) {
return 0;
- else
+ } else {
return ENODEV;
+ }
}
static int
On 23/02/2016 14:06, "dev on behalf of Mauricio Vasquez B"
<[email protected] on behalf of
[email protected]> wrote:
>Current implementation of dpdk_dev_parse_name does not perform a robust
>error handling, port names as "dpdkr" and "dpdkr1x" are considered valid.
>
>With this patch only positive port numbers in decimal notation are
>considered
>valid.
>
>Signed-off-by: Mauricio Vasquez B
><[email protected]>
>---
>v3:
>- use str_to_uint
>
> lib/netdev-dpdk.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
>diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
>index de7e488..0fe0151 100644
>--- a/lib/netdev-dpdk.c
>+++ b/lib/netdev-dpdk.c
>@@ -187,7 +187,7 @@ struct dpdk_ring {
> /* For the client rings */
> struct rte_ring *cring_tx;
> struct rte_ring *cring_rx;
>- int user_port_id; /* User given port no, parsed from port name */
>+ unsigned int user_port_id; /* User given port no, parsed from port
>name */
> int eth_port_id; /* ethernet device port id */
> struct ovs_list list_node OVS_GUARDED_BY(dpdk_mutex);
> };
>@@ -636,6 +636,8 @@ unlock:
> return err;
> }
>
>+/* dev_name must be the prefix followed by a positive decimal number.
>+ * (no leading + or - signs are allowed) */
> static int
> dpdk_dev_parse_name(const char dev_name[], const char prefix[],
> unsigned int *port_no)
>@@ -647,8 +649,11 @@ dpdk_dev_parse_name(const char dev_name[], const
>char prefix[],
> }
>
> cport = dev_name + strlen(prefix);
>- *port_no = strtol(cport, NULL, 0); /* string must be null terminated
>*/
>- return 0;
>+
>+ if(str_to_uint(cport, 10, port_no))
>+ return 0;
>+ else
>+ return ENODEV;
> }
>
> static int
>--
>1.9.1
>
>_______________________________________________
>dev mailing list
>[email protected]
>http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev