* Re: [PATCH v3 1/3] lib: add information metrics library
From: Pattan, Reshma @ 2016-11-07 15:25 UTC (permalink / raw)
To: Horton, Remy; +Cc: 'dev@dpdk.org'
In-Reply-To: <3AEA2BF9852C6F48A459DA490692831F010C15B0@IRSMSX109.ger.corp.intel.com>
Hi,
> -----Original Message-----
> From: Pattan, Reshma
> Sent: Friday, November 4, 2016 4:43 PM
> To: Remy Horton <remy.horton@intel.com>
> Cc: dev@dpdk.org
> Subject: RE: [dpdk-dev] [PATCH v3 1/3] lib: add information metrics library
>
> Hi,
>
> Few comments below.
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Remy Horton
> > Sent: Friday, November 4, 2016 3:36 AM
> > To: dev@dpdk.org
> > Subject: [dpdk-dev] [PATCH v3 1/3] lib: add information metrics
> > library
> >
> > This patch adds a new information metric library that allows other
> > modules to register named metrics and update their values. It is
> > intended to be independent of ethdev, rather than mixing ethdev and
> > non-ethdev information in xstats.
> >
> > Signed-off-by: Remy Horton <remy.horton@intel.com>
> > ---
> > +int
> > +
> > +int
> > +rte_metrics_get_values(int port_id,
> > + struct rte_stat_value *values,
> > + uint16_t capacity)
> > +{
> > + struct rte_metrics_meta_s *entry;
> > + struct rte_metrics_data_s *stats;
> > + const struct rte_memzone *memzone;
> > + uint16_t idx_name;
> > + int return_value;
> > +
> > + memzone = rte_memzone_lookup(RTE_METRICS_MEMZONE_NAME);
> > + /* If not allocated, fail silently */
> > + if (memzone == NULL)
> > + return 0;
> > + stats = memzone->addr;
> > + rte_spinlock_lock(&stats->lock);
> > +
> > + if (values != NULL) {
> > + if (capacity < stats->cnt_stats) {
> > + rte_spinlock_unlock(&stats->lock);
> > + return -ERANGE;
> > + }
> > + for (idx_name = 0; idx_name < stats->cnt_stats; idx_name++)
> > {
> > + entry = &stats->metadata[idx_name];
> > + values[idx_name].key = idx_name;
> > + values[idx_name].value = entry->value[port_id];
> > + }
>
> Here you also need to include logic to return values for port independent
> metrics.
>
> > diff --git a/lib/librte_metrics/rte_metrics.h
> > b/lib/librte_metrics/rte_metrics.h
> > new file mode 100644
> > index 0000000..6b75404
> > --- /dev/null
> > +++ b/lib/librte_metrics/rte_metrics.h
> > @@ -0,0 +1,204 @@
> > +/**
> > + * Statistic name
> > + */
> > +struct rte_metric_name {
> > + /** String describing statistic */
> > + char name[RTE_METRICS_MAX_NAME_LEN]; };
> > +
> > +
> > +/**
> > + * Statistic name.
> > + */
>
> Need to correct the description to "stats values" or "metric values."
>
> > +struct rte_stat_value {
>
> Need to change the name to rte_metric_value.
>
> > + /** Numeric identifier of statistic */
> > + uint16_t key;
> > + /** Value for statistic */
> > + uint64_t value;
> > +};
> > +
> > +
> > +/**
> > + * Initialises statistic module. This only has to be explicitly
> > +called
>
> Typo < Initialises>
To avoid confusion, here I mean to say "Initializes" should be used (i.e. US English) .
Also another non-related comment, you may need to add a comment about EMWA
near the mean bit rate calculation code.
>
> Thanks,
> Reshma
^ permalink raw reply
* Running 2 process on the same machine
From: Keren Hochman @ 2016-11-07 15:28 UTC (permalink / raw)
To: dev
Hi,
I need to run 2 process that uses dpdk on the same machine. One uses dpdk
drivers, and the other just read from a pcap file. If I disable hugepages
in the second process rte_mempool_create fails. What is the correct way to
handle this?
Thanks, Keren
^ permalink raw reply
* Re: [PATCH v1 2/2] doc: update poll mode driver guide
From: Thomas Monjalon @ 2016-11-07 15:50 UTC (permalink / raw)
To: Bernard Iremonger; +Cc: dev, john.mcnamara
In-Reply-To: <1476462909-14891-3-git-send-email-bernard.iremonger@intel.com>
2016-10-14 17:35, Bernard Iremonger:
> --- a/doc/guides/prog_guide/poll_mode_drv.rst
> +++ b/doc/guides/prog_guide/poll_mode_drv.rst
> @@ -356,3 +356,9 @@ Some additions in the metadata scheme are as follows:
> An example where queue numbers are used is as follows: ``tx_q7_bytes`` which
> indicates this statistic applies to queue number 7, and represents the number
> of transmitted bytes on that queue.
> +
> +Extended ixgbe PMD API
> +~~~~~~~~~~~~~~~~~~~~~~
> +
> +In DPDK release v16.11 an API for ixgbe specific functions has been added to the ixgbe PMD.
> +The declarations for the API functions are in the header ``rte_pmd_ixgbe.h``.
NACK
I think we should not add driver-specific details in this high-level and
generic doc.
^ permalink raw reply
* Re: [PATCH v1 1/2] doc: update ixgbe guide
From: Thomas Monjalon @ 2016-11-07 15:51 UTC (permalink / raw)
To: Iremonger, Bernard; +Cc: dev, Mcnamara, John
In-Reply-To: <B27915DBBA3421428155699D51E4CFE20264A161@IRSMSX103.ger.corp.intel.com>
> > add information about new ixgbe PMD API.
> >
> > Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
>
> Acked-by: John McNamara <john.mcnamara@intel.com>
Applied without patch 2 and squashed with release notes
^ permalink raw reply
* Re: [PATCH v9] app/testpmd: fix DCB configuration
From: Thomas Monjalon @ 2016-11-07 15:56 UTC (permalink / raw)
To: Iremonger, Bernard; +Cc: dev, Wu, Jingjing, Shah, Rahul R, Lu, Wenzhuo
In-Reply-To: <9BB6961774997848B5B42BEC655768F80E29923C@SHSMSX103.ccr.corp.intel.com>
> > Data Centre Bridge (DCB) configuration fails when SRIOV is enabled if nb_rxq
> > or nb_txq are greater than nb_q_per_pool.
> >
> > The failure occurs during configuration of the ixgbe PMD when it is started, in
> > the ixgbe_check_mq_mode function.
> >
> > Fixes: 2a977b891f99 ("app/testpmd: fix DCB configuration")
> >
> > Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
>
> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Applied, thanks
^ permalink raw reply
* Re: [PATCH v2] examples/ipsec-secgw: fix copy into fixed size buffer issue
From: Ferruh Yigit @ 2016-11-07 15:59 UTC (permalink / raw)
To: Fan Zhang, dev; +Cc: sergio.gonzalez.monroy
In-Reply-To: <1478528466-211016-1-git-send-email-roy.fan.zhang@intel.com>
On 11/7/2016 2:21 PM, Fan Zhang wrote:
> Fixes: 0d547ed0 ("examples/ipsec-secgw: support configuration
> file")
> Coverity issue: 137875
>
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
^ permalink raw reply
* Re: [PATCH] net/bonding: only handle lacp slow packets
From: Kulasek, TomaszX @ 2016-11-07 15:59 UTC (permalink / raw)
To: linhaifeng, dev@dpdk.org; +Cc: Yigit, Ferruh, Doherty, Declan
In-Reply-To: <1478230221-1524-1-git-send-email-haifeng.lin@huawei.com>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of linhaifeng
> Sent: Friday, November 4, 2016 04:30
> To: dev@dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; Doherty, Declan
> <declan.doherty@intel.com>
> Subject: [dpdk-dev] [PATCH] net/bonding: only handle lacp slow packets
>
> From: Linhaifeng <haifeng.lin@huawei.com>
>
> We should not drop the slow packets which subtype is not marker or lacp.
> Because slow packets have other subtype like OAM,OSSP,user defined and so
> on.
>
> Signed-off-by: Linhaifeng <haifeng.lin@huawei.com>
> ---
> drivers/net/bonding/rte_eth_bond_pmd.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c
> b/drivers/net/bonding/rte_eth_bond_pmd.c
> index 09ce7bf..751ff1c 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -122,6 +122,15 @@ bond_ethdev_rx_burst_active_backup(void *queue,
> struct rte_mbuf **bufs,
> bd_rx_q->queue_id, bufs, nb_pkts);
> }
>
> +static inline uint8_t
> +is_lacp_packets(uint16_t ethertype, uint8_t subtype, uint16_t vlan_tci)
> +{
> + const uint16_t ether_type_slow_be =
> rte_be_to_cpu_16(ETHER_TYPE_SLOW);
> +
> + return !vlan_tci && (ethertype == ether_type_slow_be &&
> + (subtype == SLOW_SUBTYPE_MARKER || subtype ==
> SLOW_SUBTYPE_LACP)); }
> +
> static uint16_t
> bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs,
> uint16_t nb_pkts)
> @@ -141,6 +150,7 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct
> rte_mbuf **bufs,
> uint8_t collecting; /* current slave collecting status */
> const uint8_t promisc = internals->promiscuous_en;
> uint8_t i, j, k;
> + uint8_t subtype;
>
> rte_eth_macaddr_get(internals->port_id, &bond_mac);
> /* Copy slave list to protect against slave up/down changes during
> tx @@ -166,10 +176,12 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct
> rte_mbuf **bufs,
> rte_prefetch0(rte_pktmbuf_mtod(bufs[j + 3], void
> *));
>
> hdr = rte_pktmbuf_mtod(bufs[j], struct ether_hdr *);
> + subtype = ((struct slow_protocol_frame
> +*)hdr)->slow_protocol.subtype;
> +
> /* Remove packet from array if it is slow packet or slave
> is not
> * in collecting state or bondign interface is not in
> promiscus
> * mode and packet address does not match. */
> - if (unlikely(hdr->ether_type == ether_type_slow_be ||
> + if (unlikely(is_lacp_packets(hdr->ether_type, subtype,
> +bufs[j]->vlan_tci) ||
> !collecting || (!promisc &&
> !is_multicast_ether_addr(&hdr->d_addr) &&
> !is_same_ether_addr(&bond_mac, &hdr-
> >d_addr)))) {
> --
> 1.8.3.1
>
Reviewed-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
^ permalink raw reply
* Re: [PATCH 3/4] net/bonding: another fix to LACP mempool size
From: Kulasek, TomaszX @ 2016-11-07 16:02 UTC (permalink / raw)
To: Robert Sanford, dev@dpdk.org
Cc: Doherty, Declan, De Lara Guarch, Pablo, olivier.matz@6wind.com
In-Reply-To: <1470084176-79932-4-git-send-email-rsanford@akamai.com>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Robert Sanford
> Sent: Monday, August 1, 2016 22:43
> To: dev@dpdk.org
> Cc: Doherty, Declan <declan.doherty@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>; olivier.matz@6wind.com
> Subject: [dpdk-dev] [PATCH 3/4] net/bonding: another fix to LACP mempool
> size
>
> The following log message may appear after a slave is idle (or nearly
> idle) for a few minutes: "PMD: Failed to allocate LACP packet from pool".
>
> Problem: All mbufs from a slave's private pool (used exclusively for
> transmitting LACPDUs) have been allocated and are still sitting in the
> device's tx descriptor ring and other cores' mempool caches.
>
> Solution: Ensure that each slaves' tx (LACPDU) mempool owns more than n-
> tx-queues * (n-tx-descriptors + per-core-mempool-flush-threshold) mbufs.
>
> Note that the LACP tx machine function is the only code that allocates
> from a slave's private pool. It runs in the context of the interrupt
> thread, and thus it has no mempool cache of its own.
>
> Signed-off-by: Robert Sanford <rsanford@akamai.com>
> ---
> drivers/net/bonding/rte_eth_bond_8023ad.c | 10 +++++++---
> 1 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c
> b/drivers/net/bonding/rte_eth_bond_8023ad.c
> index 2f7ae70..1207896 100644
> --- a/drivers/net/bonding/rte_eth_bond_8023ad.c
> +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
> @@ -854,6 +854,8 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev
> *bond_dev, uint8_t slave_id)
> char mem_name[RTE_ETH_NAME_MAX_LEN];
> int socket_id;
> unsigned element_size;
> + unsigned cache_size;
> + unsigned cache_flushthresh;
> uint32_t total_tx_desc;
> struct bond_tx_queue *bd_tx_q;
> uint16_t q_id;
> @@ -890,19 +892,21 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev
> *bond_dev, uint8_t slave_id)
>
> element_size = sizeof(struct slow_protocol_frame) + sizeof(struct
> rte_mbuf)
> + RTE_PKTMBUF_HEADROOM;
> + cache_size = RTE_MEMPOOL_CACHE_MAX_SIZE >= 32 ?
> + 32 : RTE_MEMPOOL_CACHE_MAX_SIZE;
> + cache_flushthresh = RTE_MEMPOOL_CALC_CACHE_FLUSHTHRESH(cache_size);
>
> /* The size of the mempool should be at least:
> * the sum of the TX descriptors + BOND_MODE_8023AX_SLAVE_TX_PKTS */
> total_tx_desc = BOND_MODE_8023AX_SLAVE_TX_PKTS;
> for (q_id = 0; q_id < bond_dev->data->nb_tx_queues; q_id++) {
> bd_tx_q = (struct bond_tx_queue*)bond_dev->data-
> >tx_queues[q_id];
> - total_tx_desc += bd_tx_q->nb_tx_desc;
> + total_tx_desc += bd_tx_q->nb_tx_desc + cache_flushthresh;
> }
>
> snprintf(mem_name, RTE_DIM(mem_name), "slave_port%u_pool",
> slave_id);
> port->mbuf_pool = rte_mempool_create(mem_name,
> - total_tx_desc, element_size,
> - RTE_MEMPOOL_CACHE_MAX_SIZE >= 32 ? 32 :
> RTE_MEMPOOL_CACHE_MAX_SIZE,
> + total_tx_desc, element_size, cache_size,
> sizeof(struct rte_pktmbuf_pool_private), rte_pktmbuf_pool_init,
> NULL, rte_pktmbuf_init, NULL, socket_id, MEMPOOL_F_NO_SPREAD);
>
> --
> 1.7.1
Reviewed-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
^ permalink raw reply
* Re: [PATCH 4/4] net/bonding: fix configuration of LACP slaves
From: Kulasek, TomaszX @ 2016-11-07 16:03 UTC (permalink / raw)
To: Robert Sanford, dev@dpdk.org
Cc: Doherty, Declan, De Lara Guarch, Pablo, olivier.matz@6wind.com
In-Reply-To: <1470084176-79932-5-git-send-email-rsanford@akamai.com>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Robert Sanford
> Sent: Monday, August 1, 2016 22:43
> To: dev@dpdk.org
> Cc: Doherty, Declan <declan.doherty@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>; olivier.matz@6wind.com
> Subject: [dpdk-dev] [PATCH 4/4] net/bonding: fix configuration of LACP
> slaves
>
> Problem: When adding a slave or starting a bond device, the bond device
> configures slave devices via function slave_configure().
> However, settings configured in the bond device's rte_eth_conf are not
> propagated to the slaves. For example, VLAN and CRC stripping are not
> working as expected.
>
> The problem is that we pass the wrong argument when we invoke
> rte_eth_dev_configure(). We pass the slave's currently configured
> rte_eth_conf (as a source arg!), when we should pass a copy of the
> (master) bond device's rte_eth_conf.
>
> Solution: Make a local copy of the bond device's rte_eth_conf, adjust the
> LSC flag based on the slave, and then pass that rte_eth_conf to
> rte_eth_dev_configure().
>
> Also, remove code that directly pokes RSS data into the slave's
> rte_eth_conf, as that is also contained in the proper rte_eth_conf that we
> will pass to rte_eth_dev_configure().
>
> Signed-off-by: Robert Sanford <rsanford@akamai.com>
> ---
> drivers/net/bonding/rte_eth_bond_pmd.c | 28 +++++++--------------------
> -
> 1 files changed, 7 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c
> b/drivers/net/bonding/rte_eth_bond_pmd.c
> index b20a272..486582f 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -1302,6 +1302,7 @@ int
> slave_configure(struct rte_eth_dev *bonded_eth_dev,
> struct rte_eth_dev *slave_eth_dev)
> {
> + struct rte_eth_conf slave_eth_conf;
> struct bond_rx_queue *bd_rx_q;
> struct bond_tx_queue *bd_tx_q;
>
> @@ -1313,33 +1314,18 @@ slave_configure(struct rte_eth_dev
> *bonded_eth_dev,
> /* Stop slave */
> rte_eth_dev_stop(slave_eth_dev->data->port_id);
>
> - /* Enable interrupts on slave device if supported */
> - if (slave_eth_dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC)
> - slave_eth_dev->data->dev_conf.intr_conf.lsc = 1;
> -
> - /* If RSS is enabled for bonding, try to enable it for slaves */
> - if (bonded_eth_dev->data->dev_conf.rxmode.mq_mode &
> ETH_MQ_RX_RSS_FLAG) {
> - if (bonded_eth_dev->data-
> >dev_conf.rx_adv_conf.rss_conf.rss_key_len
> - != 0) {
> - slave_eth_dev->data-
> >dev_conf.rx_adv_conf.rss_conf.rss_key_len =
> - bonded_eth_dev->data-
> >dev_conf.rx_adv_conf.rss_conf.rss_key_len;
> - slave_eth_dev->data-
> >dev_conf.rx_adv_conf.rss_conf.rss_key =
> - bonded_eth_dev->data-
> >dev_conf.rx_adv_conf.rss_conf.rss_key;
> - } else {
> - slave_eth_dev->data-
> >dev_conf.rx_adv_conf.rss_conf.rss_key = NULL;
> - }
> + /* Build slave rte_eth_conf, starting from bonded's conf */
> + slave_eth_conf = bonded_eth_dev->data->dev_conf;
>
> - slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf =
> - bonded_eth_dev->data-
> >dev_conf.rx_adv_conf.rss_conf.rss_hf;
> - slave_eth_dev->data->dev_conf.rxmode.mq_mode =
> - bonded_eth_dev->data->dev_conf.rxmode.mq_mode;
> - }
> + /* Enable interrupts on slave device if supported */
> + slave_eth_conf.intr_conf.lsc =
> + !!(slave_eth_dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC);
>
> /* Configure device */
> errval = rte_eth_dev_configure(slave_eth_dev->data->port_id,
> bonded_eth_dev->data->nb_rx_queues,
> bonded_eth_dev->data->nb_tx_queues,
> - &(slave_eth_dev->data->dev_conf));
> + &slave_eth_conf);
> if (errval != 0) {
> RTE_BOND_LOG(ERR, "Cannot configure slave device: port %u , err
> (%d)",
> slave_eth_dev->data->port_id, errval);
> --
> 1.7.1
Reviewed-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
^ permalink raw reply
* Re: [PATCH] net/i40e: fix dcb configure failure
From: Thomas Monjalon @ 2016-11-07 16:39 UTC (permalink / raw)
To: Wu, Jingjing; +Cc: dev, Xing, Beilei, Zhang, Helin
In-Reply-To: <94479800C636CB44BD422CB454846E012EA02463@SHSMSX101.ccr.corp.intel.com>
> > Removing stopping LLDP in firmware is a workaround for a known errata which
> > can cause Rx hang. But the changing will cause DCB configuration fails. That is
> > because when LLDP is enabled, the return value of i40e_init_dcb is success. But
> > following check just considered the case when LLDP agent is disabled.
> > This patch fixes this issue.
> >
> > Fixes: fcbd40d4327b ("net/i40e: fix Rx hang when disable LLDP")
> > Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
> Acked-by: Beilei Xing<Beilei.xing@intel.com>
Applied, thanks
^ permalink raw reply
* Re: [PATCH RESEND v2] net/i40e: fix floating VEB issue
From: Thomas Monjalon @ 2016-11-07 16:41 UTC (permalink / raw)
To: Beilei Xing; +Cc: dev, Yuanhan Liu, Jingjing Wu, Yu Liu
In-Reply-To: <1478257688-25209-1-git-send-email-yuanhan.liu@linux.intel.com>
2016-11-04 19:08, Yuanhan Liu:
> From: Beilei Xing <beilei.xing@intel.com>
>
> Turning off S-TAG identification will impact floating VEB,
> VFs can't communicate with each other.
> This patch fixes this issue by judging whether floating
> VEB is enabled, S-TAG identification will be turned off
> only when floating VEB is disabled.
>
> Fixes: 4d61120d5ce7 ("net/i40e: fix dropping packets with ethertype 0x88A8")
>
> Signed-off-by: Beilei Xing <beilei.xing@intel.com>
> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Applied, thanks
^ permalink raw reply
* Re: [PATCH v4 2/2] net/i40e: fix VF bonded device link down
From: Thomas Monjalon @ 2016-11-07 16:48 UTC (permalink / raw)
To: Qiming Yang; +Cc: dev, jingjing.wu, bruce.richardson
In-Reply-To: <1478250651-37307-2-git-send-email-qiming.yang@intel.com>
2016-11-04 17:10, Qiming Yang:
> If VF device is used as slave of a bond device, it will be polled
> periodically through alarm. Interrupt is involved here. And then
> VF will send I40E_VIRTCHNL_OP_GET_LINK_STAT message to
> PF to query the status. The response is handled by interrupt
> callback. Interrupt is involved here again. That's why bond
> device cannot bring up.
>
> This patch removes I40E_VIRTCHNL_OP_GET_LINK_STAT
> message. Link status in VF driver will be updated when PF driver
> notify it, and VF stores this link status locally. VF driver just
> returns the local status when being required.
>
> Fixes: 4861cde46116 ("i40e: new poll mode driver")
>
> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Series applied, thanks and welcome Qiming!
^ permalink raw reply
* Re: [PATCH 0/2] net/ena: check for free descriptors
From: Thomas Monjalon @ 2016-11-07 16:58 UTC (permalink / raw)
To: Jakub Palider; +Cc: dev, evgenys, matua, netanel
In-Reply-To: <1477703175-21344-1-git-send-email-jpa@semihalf.com>
2016-10-29 03:06, Jakub Palider:
> In some configurations there is mismatch between declared and actual
> descriptor count which under heavy load may lead to resource shortage.
>
> The first patch unifies the way head and tail indexes are handled and
> is crucial for compactness and succeeding patch correctness.
> The second patch runs check for available descriptor count.
>
> Jakub Palider (2):
> net/ena: use unmasked head/tail values
> net/ena: check for free buffers prior to xmit
Applied, thanks
^ permalink raw reply
* Re: [PATCH] net/enic: fix max packet length check
From: Thomas Monjalon @ 2016-11-07 17:00 UTC (permalink / raw)
To: John Daley; +Cc: dev, bruce.richardson
In-Reply-To: <20161101180828.1590-1-johndale@cisco.com>
2016-11-01 11:08, John Daley:
> When the device was configured with an explicit maximum packet length,
> it would fail if the value was greater than MTU configured in CIMC/UCSM
> (plus L2 header length). It should have been compared against maximum
> allowed by the device.
>
> Fixes: bb34ffb848a0 ("net/enic: determine max egress packet size and max MTU")
>
> Signed-off-by: John Daley <johndale@cisco.com>
Applied, thanks
^ permalink raw reply
* Re: [PATCH] doc: update release notes with enic PMD changes
From: Thomas Monjalon @ 2016-11-07 17:11 UTC (permalink / raw)
To: John Daley; +Cc: dev, Mcnamara, John
In-Reply-To: <B27915DBBA3421428155699D51E4CFE20264A619@IRSMSX103.ger.corp.intel.com>
> > Signed-off-by: John Daley <johndale@cisco.com>
>
> Acked-by: John McNamara <john.mcnamara@intel.com>
Applied with few fixes
^ permalink raw reply
* how to search this mailing list? is gmane link archive broken?
From: Montorsi, Francesco @ 2016-11-07 17:12 UTC (permalink / raw)
To: dev@dpdk.org
Hi all,
if this was already raised, sorry for that.
I noticed that the gmane archive for this mailing list is not working anymore:
http://news.gmane.org/gmane.comp.networking.dpdk.devel
reports "Page not found". Also I noticed that the gmane link on the dpdk.org website has been removed.
That was my only way to search through the archives of this mailing list... is there any other way to search them?
Thanks,
Francesco Montorsi
^ permalink raw reply
* Re: [PATCH] net/mlx5: fix wrong use of vector instruction
From: Thomas Monjalon @ 2016-11-07 17:16 UTC (permalink / raw)
To: Elad Persiko; +Cc: dev, Adrien Mazarguil
In-Reply-To: <20161102155602.GF5733@6wind.com>
2016-11-02 16:56, Adrien Mazarguil:
> On Tue, Nov 01, 2016 at 08:13:27AM +0000, Elad Persiko wrote:
> > Constraint alignment was not respected in Tx.
> >
> > Fixes: 1d88ba171942 ("net/mlx5: refactor Tx data path")
> >
> > Signed-off-by: Elad Persiko <eladpe@mellanox.com>
>
> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
"wrong use of vector instruction" is the cause, not the issue.
Reworded: "fix buffer alignment in Tx"
It would have been valuable to describe the consequences.
Applied
^ permalink raw reply
* rte_ixgbevf_pmd not reporting dropped packets
From: Montorsi, Francesco @ 2016-11-07 17:17 UTC (permalink / raw)
To: dev@dpdk.org
Hi all,
I'm using DPDK inside the OS of a VM that is SR-IOV-accelerated.
I noticed however that the "rte_ixgbevf_pmd" PMD does not report drops... I am sending packets at TX side at 14Mpps; at the RX side I'm using "testpmd" and it's reporting 'just' 12Mpps, but zero drops (also through xstats).
Is this a known bug?
I found a message at
http://dpdk.org/ml/archives/dev/2016-March/035374.html
reporting a similar issue back in March this year...
Thanks,
Francesco Montorsi
^ permalink raw reply
* Re: [PATCH] net/mlx5: fix handling of small mbuf sizes
From: Thomas Monjalon @ 2016-11-07 17:22 UTC (permalink / raw)
To: Raslan Darawsheh; +Cc: dev, Adrien Mazarguil
In-Reply-To: <20161028121906.GW5733@6wind.com>
2016-10-28 14:19, Adrien Mazarguil:
> On Mon, Oct 24, 2016 at 11:10:59AM +0300, Raslan Darawsheh wrote:
> > When mbufs are smaller than MRU, multi-segment support must be enabled to
> > default set when not in promiscuous or allmulticast modes.
> >
> > Fixes: 9964b965ad69 ("net/mlx5: re-add Rx scatter support")
> >
> > Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
[...]
> > + /* If smaller than MRU, multi-segment support must be enabled. */
> > + if (mb_len < (priv->mtu > dev->data->dev_conf.rxmode.max_rx_pkt_len ?
> > + dev->data->dev_conf.rxmode.max_rx_pkt_len :
> > + priv->mtu
> > + ))
>
> Let's move poor "))" to the end of the previous line.
[...]
> Besides the above comment:
>
> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Fixed and applied, thanks
^ permalink raw reply
* [PATCH v3] examples/ipsec-secgw: fix pointer to local outside scope
From: Fan Zhang @ 2016-11-07 17:25 UTC (permalink / raw)
To: dev; +Cc: sergio.gonzalez.monroy
In-Reply-To: <1478175163-229116-4-git-send-email-roy.fan.zhang@intel.com>
Coverity issue: 137871
Fixes: 0d547ed03717 ("examples/ipsec-secgw: support configuration file")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
examples/ipsec-secgw/parser.c | 116 +++++++++++++++++++-----------------------
1 file changed, 52 insertions(+), 64 deletions(-)
diff --git a/examples/ipsec-secgw/parser.c b/examples/ipsec-secgw/parser.c
index 598f435..c5f2508 100644
--- a/examples/ipsec-secgw/parser.c
+++ b/examples/ipsec-secgw/parser.c
@@ -487,8 +487,7 @@ parse_cfg_file(const char *cfg_filename)
struct parse_status status = {0};
if (f == NULL) {
- rte_panic("Error: invalid file descriptor %s\n",
- cfg_filename);
+ rte_panic("Error: invalid file descriptor %s\n", cfg_filename);
goto error_exit;
}
@@ -503,86 +502,75 @@ parse_cfg_file(const char *cfg_filename)
do {
char oneline[1024];
-
+ char *pos;
get_s = fgets(oneline, 1024, f);
- if (get_s) {
- char *pos;
- line_num++;
+ if (!get_s)
+ break;
- if (strlen(oneline) > 1022) {
- rte_panic("%s:%u: error: the line "
- "contains more characters the "
- "parser can handle\n",
- cfg_filename, line_num);
- goto error_exit;
- }
+ line_num++;
- /* process comment char '#' */
- if (oneline[0] == '#')
- continue;
+ if (strlen(oneline) > 1022) {
+ rte_panic("%s:%u: error: the line contains more characters the parser can handle\n",
+ cfg_filename, line_num);
+ goto error_exit;
+ }
- pos = strchr(oneline, '#');
- if (pos != NULL)
- *pos = '\0';
-
- /* process line concatenator '\' */
- pos = strchr(oneline, 92);
- if (pos != NULL) {
- if (pos != oneline+strlen(oneline) - 2) {
- rte_panic("%s:%u: error: no "
- "character should exist "
- "after '\\' symbol\n",
- cfg_filename, line_num);
- goto error_exit;
- }
-
- *pos = '\0';
-
- if (strlen(oneline) + strlen(str) > 1022) {
- rte_panic("%s:%u: error: the "
- "concatenated line "
- "contains more characters "
- "the parser can handle\n",
- cfg_filename, line_num);
- goto error_exit;
- }
-
- strncpy(str + strlen(str), oneline,
- strlen(oneline));
+ /* process comment char '#' */
+ if (oneline[0] == '#')
+ continue;
- continue;
+ pos = strchr(oneline, '#');
+ if (pos != NULL)
+ *pos = '\0';
+
+ /* process line concatenator '\' */
+ pos = strchr(oneline, 92);
+ if (pos != NULL) {
+ if (pos != oneline+strlen(oneline) - 2) {
+ rte_panic("%s:%u: error: no character should exist after '\\'\n",
+ cfg_filename, line_num);
+ goto error_exit;
}
- /* copy the line to str and process */
+ *pos = '\0';
+
if (strlen(oneline) + strlen(str) > 1022) {
- rte_panic("%s:%u: error: the line "
- "contains more characters the "
- "parser can handle\n",
+ rte_panic("%s:%u: error: the concatenated line contains more characters the parser can handle\n",
cfg_filename, line_num);
goto error_exit;
}
+
strncpy(str + strlen(str), oneline,
strlen(oneline));
- str[strlen(str)] = '\n';
- if (cmdline_parse(cl, str) < 0) {
- rte_panic("%s:%u: error: parsing \"%s\" "
- "failed\n", cfg_filename,
- line_num, str);
- goto error_exit;
- }
+ continue;
+ }
- if (status.status < 0) {
- rte_panic("%s:%u: error: %s",
- cfg_filename, line_num,
- status.parse_msg);
- goto error_exit;
- }
+ /* copy the line to str and process */
+ if (strlen(oneline) + strlen(str) > 1022) {
+ rte_panic("%s:%u: error: the line contains more characters the parser can handle\n",
+ cfg_filename, line_num);
+ goto error_exit;
+ }
+ strncpy(str + strlen(str), oneline,
+ strlen(oneline));
+
+ str[strlen(str)] = '\n';
+ if (cmdline_parse(cl, str) < 0) {
+ rte_panic("%s:%u: error: parsing \"%s\" failed\n",
+ cfg_filename, line_num, str);
+ goto error_exit;
+ }
- memset(str, 0, 1024);
+ if (status.status < 0) {
+ rte_panic("%s:%u: error: %s", cfg_filename,
+ line_num, status.parse_msg);
+ goto error_exit;
}
- } while (get_s != NULL);
+
+ memset(str, 0, 1024);
+ } while (1);
cmdline_stdin_exit(cl);
fclose(f);
--
2.5.5
^ permalink raw reply related
* Re: how to search this mailing list? is gmane link archive broken?
From: Andriy Berestovskyy @ 2016-11-07 17:25 UTC (permalink / raw)
To: Montorsi, Francesco; +Cc: dev@dpdk.org
In-Reply-To: <2bf0532e54354036a7eb5d469c165eda@bilemail1.empirix.com>
Hey,
You can try "site:" Google search operator, i.e. try to google:
site:dpdk.org/ml/archives/dev/ <search string>
Regards,
Andriy
On Mon, Nov 7, 2016 at 6:12 PM, Montorsi, Francesco
<fmontorsi@empirix.com> wrote:
> Hi all,
> if this was already raised, sorry for that.
> I noticed that the gmane archive for this mailing list is not working anymore:
>
> http://news.gmane.org/gmane.comp.networking.dpdk.devel
>
> reports "Page not found". Also I noticed that the gmane link on the dpdk.org website has been removed.
> That was my only way to search through the archives of this mailing list... is there any other way to search them?
>
> Thanks,
>
> Francesco Montorsi
>
>
>
--
Andriy Berestovskyy
^ permalink raw reply
* Re: how to search this mailing list? is gmane link archive broken?
From: Thomas Monjalon @ 2016-11-07 17:29 UTC (permalink / raw)
To: Montorsi, Francesco; +Cc: dev
In-Reply-To: <2bf0532e54354036a7eb5d469c165eda@bilemail1.empirix.com>
2016-11-07 17:12, Montorsi, Francesco:
> Hi all,
> if this was already raised, sorry for that.
> I noticed that the gmane archive for this mailing list is not working anymore:
>
> http://news.gmane.org/gmane.comp.networking.dpdk.devel
>
> reports "Page not found". Also I noticed that the gmane link on the dpdk.org website has been removed.
Gmane was closed and is coming back.
Look at this page:
http://gmane.org/gmane.comp.networking.dpdk.devel
"Not all of Gmane is back yet - We're working hard to restore everything"
> That was my only way to search through the archives of this mailing list... is there any other way to search them?
For old posts, Google works well enough.
We could also try to upgrade from Mailman 2 to Mailman 3 which provides
a modern interface with a search box and a lot of other cool features.
Fedora is using it:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/
^ permalink raw reply
* Re: [PATCH v3] examples/ipsec-secgw: fix pointer to local outside scope
From: Ferruh Yigit @ 2016-11-07 17:31 UTC (permalink / raw)
To: Fan Zhang, dev; +Cc: sergio.gonzalez.monroy
In-Reply-To: <1478539537-225559-1-git-send-email-roy.fan.zhang@intel.com>
On 11/7/2016 5:25 PM, Fan Zhang wrote:
> Coverity issue: 137871
> Fixes: 0d547ed03717 ("examples/ipsec-secgw: support configuration file")
>
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
Although checkpatch will complain about long lines, I believe it is
better not to wrap log messages.
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
^ permalink raw reply
* Re: [PATCH 0/3] fix Rx checksum offloads
From: Thomas Monjalon @ 2016-11-07 17:42 UTC (permalink / raw)
To: Nelio Laranjeiro; +Cc: dev, Adrien Mazarguil
In-Reply-To: <20161102155719.GG5733@6wind.com>
2016-11-02 16:57, Adrien Mazarguil:
> On Wed, Nov 02, 2016 at 11:39:36AM +0100, Nelio Laranjeiro wrote:
> > Fill correctly the Mbuf Rx offloads.
> >
> > Nelio Laranjeiro (3):
> > net/mlx5: fix Rx checksum macros
> > net/mlx5: define explicit fields for Rx offloads
> > net/mlx: fix support for new Rx checksum flags
> >
> > drivers/net/mlx4/mlx4.c | 21 ++++------
> > drivers/net/mlx5/mlx5_prm.h | 37 +++++++++++++++++-
> > drivers/net/mlx5/mlx5_rxtx.c | 93 ++++++++++++++++++++------------------------
> > 3 files changed, 87 insertions(+), 64 deletions(-)
> >
>
> Thanks. For the series:
>
> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Applied, thanks
^ permalink raw reply
* Re: [PATCH] doc: fix mlx5 features overview
From: Thomas Monjalon @ 2016-11-07 17:59 UTC (permalink / raw)
To: Nelio Laranjeiro; +Cc: dev, Mcnamara, John
In-Reply-To: <B27915DBBA3421428155699D51E4CFE20264A6C9@IRSMSX103.ger.corp.intel.com>
> > Fixes: 75ef62a94301 ("net/mlx5: fix link speed capability information")
> > Fixes: 188408719888 ("net/mlx5: fix support for newer link speeds")
> >
> > Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
>
> Acked-by: John McNamara <john.mcnamara@intel.com>
Applied, thanks
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox