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