> -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Wednesday, October 22, 2014 5:19 AM > To: Liu, Jijiang > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH v6 2/9] librte_ether:add VxLAN packet > identification API in librte_ether > > 2014-10-21 13:48, Liu, Jijiang: > > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > > 2014-10-21 16:46, Jijiang Liu: > > > > int > > > > +rte_eth_dev_udp_tunnel_add(uint8_t port_id, > > > > + struct rte_eth_udp_tunnel *udp_tunnel, > > > > + uint8_t count) > > > > +{ > > > > + uint8_t i; > > > > + struct rte_eth_dev *dev; > > > > + struct rte_eth_udp_tunnel *tunnel; > > > > + > > > > + if (port_id >= nb_ports) { > > > > + PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id); > > > > + return -ENODEV; > > > > + } > > > > + > > > > + if (udp_tunnel == NULL) { > > > > + PMD_DEBUG_TRACE("Invalid udp_tunnel parameter\n"); > > > > + return -EINVAL; > > > > + } > > > > + tunnel = udp_tunnel; > > > > + > > > > + for (i = 0; i < count; i++, tunnel++) { > > > > + if (tunnel->prot_type >= RTE_TUNNEL_TYPE_MAX) { > > > > + PMD_DEBUG_TRACE("Invalid tunnel type\n"); > > > > + return -EINVAL; > > > > + } > > > > + } > > > > > > I'm not sure it's a good idea to provide a count parameter to > > > iterate in a loop. > > > It's probably something that the application should do by itself. > > > > It is necessary to check if this prot_type(tunnel type) is valid here > > in case applications don't do that. > > Yes, you have to check prot_type but looping for several tunnels is not > needed at this level.
Ok, remove loop check from here. > Thanks > -- > Thomas