svn commit: r272060 - head/sys/ofed/drivers/net/mlx4
Hans Petter Selasky
hselasky at FreeBSD.org
Wed Sep 24 08:28:36 UTC 2014
Author: hselasky
Date: Wed Sep 24 08:28:34 2014
New Revision: 272060
URL: http://svnweb.freebsd.org/changeset/base/272060
Log:
Update code to use new network counter API.
Fix some minor compile warnings while at it.
Sponsored by: Mellanox Technologies
Suggested by: glebius@
MFC after: 1 week
Modified:
head/sys/ofed/drivers/net/mlx4/en_port.c
head/sys/ofed/drivers/net/mlx4/en_tx.c
head/sys/ofed/drivers/net/mlx4/fw.h
head/sys/ofed/drivers/net/mlx4/mlx4_en.h
head/sys/ofed/drivers/net/mlx4/resource_tracker.c
Modified: head/sys/ofed/drivers/net/mlx4/en_port.c
==============================================================================
--- head/sys/ofed/drivers/net/mlx4/en_port.c Wed Sep 24 08:18:11 2014 (r272059)
+++ head/sys/ofed/drivers/net/mlx4/en_port.c Wed Sep 24 08:28:34 2014 (r272060)
@@ -546,17 +546,27 @@ int mlx4_en_DUMP_ETH_STATS(struct mlx4_e
}
if (!mlx4_is_mfunc(mdev->dev)) {
- /* netdevice stats format */
- dev = mdev->pndev[port];
- dev->if_ipackets = priv->pkstats.rx_packets;
- dev->if_opackets = priv->pkstats.tx_packets;
- dev->if_ibytes = priv->pkstats.rx_bytes;
- dev->if_obytes = priv->pkstats.tx_bytes;
- dev->if_ierrors = priv->pkstats.rx_errors;
- dev->if_iqdrops = priv->pkstats.rx_dropped;
- dev->if_imcasts = priv->pkstats.rx_multicast_packets;
- dev->if_omcasts = priv->pkstats.tx_multicast_packets;
- dev->if_collisions = 0;
+ if (reset == 0) {
+ /* netdevice stats format */
+ dev = mdev->pndev[port];
+ if_inc_counter(dev, IFCOUNTER_IPACKETS,
+ priv->pkstats.rx_packets - priv->pkstats_last.rx_packets);
+ if_inc_counter(dev, IFCOUNTER_OPACKETS,
+ priv->pkstats.tx_packets - priv->pkstats_last.tx_packets);
+ if_inc_counter(dev, IFCOUNTER_IBYTES,
+ priv->pkstats.rx_bytes - priv->pkstats_last.rx_bytes);
+ if_inc_counter(dev, IFCOUNTER_OBYTES,
+ priv->pkstats.tx_bytes - priv->pkstats_last.tx_bytes);
+ if_inc_counter(dev, IFCOUNTER_IERRORS,
+ priv->pkstats.rx_errors - priv->pkstats_last.rx_errors);
+ if_inc_counter(dev, IFCOUNTER_IQDROPS,
+ priv->pkstats.rx_dropped - priv->pkstats_last.rx_dropped);
+ if_inc_counter(dev, IFCOUNTER_IMCASTS,
+ priv->pkstats.rx_multicast_packets - priv->pkstats_last.rx_multicast_packets);
+ if_inc_counter(dev, IFCOUNTER_OMCASTS,
+ priv->pkstats.tx_multicast_packets - priv->pkstats_last.tx_multicast_packets);
+ }
+ priv->pkstats_last = priv->pkstats;
}
spin_unlock(&priv->stats_lock);
Modified: head/sys/ofed/drivers/net/mlx4/en_tx.c
==============================================================================
--- head/sys/ofed/drivers/net/mlx4/en_tx.c Wed Sep 24 08:18:11 2014 (r272059)
+++ head/sys/ofed/drivers/net/mlx4/en_tx.c Wed Sep 24 08:28:34 2014 (r272060)
@@ -1028,9 +1028,6 @@ mlx4_en_transmit_locked(struct ifnet *de
}
drbr_advance(dev, ring->br);
enqueued++;
- dev->if_obytes += next->m_pkthdr.len;
- if (next->m_flags & M_MCAST)
- if_inc_counter(dev, IFCOUNTER_OMCASTS, 1);
if ((dev->if_drv_flags & IFF_DRV_RUNNING) == 0)
break;
}
Modified: head/sys/ofed/drivers/net/mlx4/fw.h
==============================================================================
--- head/sys/ofed/drivers/net/mlx4/fw.h Wed Sep 24 08:18:11 2014 (r272059)
+++ head/sys/ofed/drivers/net/mlx4/fw.h Wed Sep 24 08:28:34 2014 (r272060)
@@ -223,8 +223,6 @@ int mlx4_QUERY_HCA(struct mlx4_dev *dev,
int mlx4_CLOSE_HCA(struct mlx4_dev *dev, int panic);
int mlx4_map_cmd(struct mlx4_dev *dev, u16 op, struct mlx4_icm *icm, u64 virt);
int mlx4_SET_ICM_SIZE(struct mlx4_dev *dev, u64 icm_size, u64 *aux_pages);
-int mlx4_MAP_ICM_AUX(struct mlx4_dev *dev, struct mlx4_icm *icm);
-int mlx4_UNMAP_ICM_AUX(struct mlx4_dev *dev);
int mlx4_NOP(struct mlx4_dev *dev);
int mlx4_MOD_STAT_CFG(struct mlx4_dev *dev, struct mlx4_mod_stat_cfg *cfg);
void mlx4_opreq_action(struct work_struct *work);
Modified: head/sys/ofed/drivers/net/mlx4/mlx4_en.h
==============================================================================
--- head/sys/ofed/drivers/net/mlx4/mlx4_en.h Wed Sep 24 08:18:11 2014 (r272059)
+++ head/sys/ofed/drivers/net/mlx4/mlx4_en.h Wed Sep 24 08:28:34 2014 (r272060)
@@ -605,6 +605,7 @@ struct mlx4_en_priv {
struct delayed_work service_task;
struct mlx4_en_perf_stats pstats;
struct mlx4_en_pkt_stats pkstats;
+ struct mlx4_en_pkt_stats pkstats_last;
struct mlx4_en_flow_stats flowstats[MLX4_NUM_PRIORITIES];
struct mlx4_en_port_stats port_stats;
struct mlx4_en_vport_stats vport_stats;
Modified: head/sys/ofed/drivers/net/mlx4/resource_tracker.c
==============================================================================
--- head/sys/ofed/drivers/net/mlx4/resource_tracker.c Wed Sep 24 08:18:11 2014 (r272059)
+++ head/sys/ofed/drivers/net/mlx4/resource_tracker.c Wed Sep 24 08:28:34 2014 (r272060)
@@ -1843,7 +1843,7 @@ static int mac_alloc_res(struct mlx4_dev
int err = -EINVAL;
int port;
u64 mac;
- u8 smac_index;
+ u8 smac_index = 0;
if (op != RES_OP_RESERVE_AND_MAP)
return err;
More information about the svn-src-head
mailing list