I sent this patch as part of a patch series:
http://openvswitch.org/pipermail/dev/2016-January/064968.html.

Thank you very much.

On 15 January 2016 at 10:17, Traynor, Kevin <kevin.tray...@intel.com> wrote:

>
> > -----Original Message-----
> > From: Mauricio Vásquez [mailto:mauricio.vasquezber...@studenti.polito.it
> ]
> > Sent: Thursday, January 14, 2016 9:15 PM
> > To: Traynor, Kevin
> > Cc: dev@openvswitch.org; acon...@bytheb.org
> > Subject: Re: [ovs-dev] [PATCH v2] lib/netdev-dpdk: increase ring name
> length
> > for dpdkr ports
> >
> > Hello Kevin,
> >
> > It can only work up to 255 actually, notice that the port number is
> > first parsed and saved in the variable "uint8_t client_id", then the
> > type of this variable should be changed too. Additionally, the port
> > number in ovs is saved in the member "int user_port_id;" of the
> > dpdk_ring structure.
>
> Hi - yes, you're right! I had just checked the length of the buffer, not
> the
> client_id.
>
> >
> > My proposal would be to change the type of both variables to 'unsigned
> > int' and add some error handling in the case overflow happens during
> > the parsing.
> >
> > What do you think?
>
> That sounds good. I'm not really sure how likely it is that someone would
> decide to use a very large number and ring_client.c is only a test program
> but if it's simple to put in the check it's no harm to have it as good
> reference
> code.
>
> >
> >
> > On 11/01/2016, Traynor, Kevin <kevin.tray...@intel.com> wrote:
> > >
> > >> -----Original Message-----
> > >> From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Mauricio
> > >> Vasquez
> > >> B
> > >> Sent: Sunday, January 10, 2016 6:28 PM
> > >> To: dev@openvswitch.org
> > >> Cc: acon...@bytheb.org
> > >> Subject: [ovs-dev] [PATCH v2] lib/netdev-dpdk: increase ring name
> length
> > >> for
> > >> dpdkr ports
> > >>
> > >> A ring name length of 10 characters is not enough for dpdkr ports
> > >> starting from dpdkr10, then it is increased to RTE_RING_NAMESIZE
> > >> characters.
> > >
> > > Looks good to me. There's some existing headroom for name length in
> > > ring_client.c
> > > but you may want to also increase it as part of this change now that
> even
> > > larger
> > > numbers are possible? It should work up to 9999 as is, so it would be
> just
> > > to catch
> > > someone using magic numbers.
> > >
> > >>
> > >> Signed-off-by: Mauricio Vasquez B
> > >> <mauricio.vasquezber...@studenti.polito.it>
> > >> ---
> > >> v2:
> > >> - Use RTE_RING_NAMESIZE instead of a numerical constant.
> > >>
> > >>  lib/netdev-dpdk.c | 6 +++---
> > >>  1 file changed, 3 insertions(+), 3 deletions(-)
> > >>
> > >> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> > >> index b209df2..90512aa 100644
> > >> --- a/lib/netdev-dpdk.c
> > >> +++ b/lib/netdev-dpdk.c
> > >> @@ -1921,7 +1921,7 @@ dpdk_ring_create(const char dev_name[], unsigned
> > >> int
> > >> port_no,
> > >>                   unsigned int *eth_port_id)
> > >>  {
> > >>      struct dpdk_ring *ivshmem;
> > >> -    char ring_name[10];
> > >> +    char ring_name[RTE_RING_NAMESIZE];
> > >>      int err;
> > >>
> > >>      ivshmem = dpdk_rte_mzalloc(sizeof *ivshmem);
> > >> @@ -1930,7 +1930,7 @@ dpdk_ring_create(const char dev_name[], unsigned
> > >> int
> > >> port_no,
> > >>      }
> > >>
> > >>      /* XXX: Add support for multiquque ring. */
> > >> -    err = snprintf(ring_name, 10, "%s_tx", dev_name);
> > >> +    err = snprintf(ring_name, sizeof(ring_name), "%s_tx", dev_name);
> > >>      if (err < 0) {
> > >>          return -err;
> > >>      }
> > >> @@ -1943,7 +1943,7 @@ dpdk_ring_create(const char dev_name[], unsigned
> > >> int
> > >> port_no,
> > >>          return ENOMEM;
> > >>      }
> > >>
> > >> -    err = snprintf(ring_name, 10, "%s_rx", dev_name);
> > >> +    err = snprintf(ring_name, sizeof(ring_name), "%s_rx", dev_name);
> > >>      if (err < 0) {
> > >>          return -err;
> > >>      }
> > >> --
> > >> 1.9.1
> > >>
> > >> _______________________________________________
> > >> dev mailing list
> > >> dev@openvswitch.org
> > >> http://openvswitch.org/mailman/listinfo/dev
> > >
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to