@@ -335,53 +335,52 @@ static int nfp_net_set_ringparam(struct net_device *netdev,
335
335
return nfp_net_set_ring_size (nn , rxd_cnt , txd_cnt );
336
336
}
337
337
338
+ static __printf (2 , 3 ) u8 * nfp_pr_et (u8 * data , const char * fmt , ...)
339
+ {
340
+ va_list args ;
341
+
342
+ va_start (args , fmt );
343
+ vsnprintf (data , ETH_GSTRING_LEN , fmt , args );
344
+ va_end (args );
345
+
346
+ return data + ETH_GSTRING_LEN ;
347
+ }
348
+
338
349
static void nfp_net_get_strings (struct net_device * netdev ,
339
350
u32 stringset , u8 * data )
340
351
{
341
352
struct nfp_net * nn = netdev_priv (netdev );
342
- u8 * p = data ;
343
353
int i ;
344
354
345
355
switch (stringset ) {
346
356
case ETH_SS_STATS :
347
- for (i = 0 ; i < NN_ET_GLOBAL_STATS_LEN ; i ++ ) {
348
- memcpy (p , nfp_net_et_stats [i ].name , ETH_GSTRING_LEN );
349
- p += ETH_GSTRING_LEN ;
350
- }
357
+ for (i = 0 ; i < NN_ET_GLOBAL_STATS_LEN ; i ++ )
358
+ data = nfp_pr_et (data , nfp_net_et_stats [i ].name );
359
+
351
360
for (i = 0 ; i < nn -> dp .num_r_vecs ; i ++ ) {
352
- sprintf (p , "rvec_%u_rx_pkts" , i );
353
- p += ETH_GSTRING_LEN ;
354
- sprintf (p , "rvec_%u_tx_pkts" , i );
355
- p += ETH_GSTRING_LEN ;
356
- sprintf (p , "rvec_%u_tx_busy" , i );
357
- p += ETH_GSTRING_LEN ;
361
+ data = nfp_pr_et (data , "rvec_%u_rx_pkts" , i );
362
+ data = nfp_pr_et (data , "rvec_%u_tx_pkts" , i );
363
+ data = nfp_pr_et (data , "rvec_%u_tx_busy" , i );
358
364
}
359
- strncpy (p , "hw_rx_csum_ok" , ETH_GSTRING_LEN );
360
- p += ETH_GSTRING_LEN ;
361
- strncpy (p , "hw_rx_csum_inner_ok" , ETH_GSTRING_LEN );
362
- p += ETH_GSTRING_LEN ;
363
- strncpy (p , "hw_rx_csum_err" , ETH_GSTRING_LEN );
364
- p += ETH_GSTRING_LEN ;
365
- strncpy (p , "hw_tx_csum" , ETH_GSTRING_LEN );
366
- p += ETH_GSTRING_LEN ;
367
- strncpy (p , "hw_tx_inner_csum" , ETH_GSTRING_LEN );
368
- p += ETH_GSTRING_LEN ;
369
- strncpy (p , "tx_gather" , ETH_GSTRING_LEN );
370
- p += ETH_GSTRING_LEN ;
371
- strncpy (p , "tx_lso" , ETH_GSTRING_LEN );
372
- p += ETH_GSTRING_LEN ;
365
+
366
+ data = nfp_pr_et (data , "hw_rx_csum_ok" );
367
+ data = nfp_pr_et (data , "hw_rx_csum_inner_ok" );
368
+ data = nfp_pr_et (data , "hw_rx_csum_err" );
369
+ data = nfp_pr_et (data , "hw_tx_csum" );
370
+ data = nfp_pr_et (data , "hw_tx_inner_csum" );
371
+ data = nfp_pr_et (data , "tx_gather" );
372
+ data = nfp_pr_et (data , "tx_lso" );
373
+
373
374
for (i = 0 ; i < nn -> dp .num_tx_rings ; i ++ ) {
374
- sprintf (p , "txq_%u_pkts" , i );
375
- p += ETH_GSTRING_LEN ;
376
- sprintf (p , "txq_%u_bytes" , i );
377
- p += ETH_GSTRING_LEN ;
375
+ data = nfp_pr_et (data , "txq_%u_pkts" , i );
376
+ data = nfp_pr_et (data , "txq_%u_bytes" , i );
378
377
}
378
+
379
379
for (i = 0 ; i < nn -> dp .num_rx_rings ; i ++ ) {
380
- sprintf (p , "rxq_%u_pkts" , i );
381
- p += ETH_GSTRING_LEN ;
382
- sprintf (p , "rxq_%u_bytes" , i );
383
- p += ETH_GSTRING_LEN ;
380
+ data = nfp_pr_et (data , "rxq_%u_pkts" , i );
381
+ data = nfp_pr_et (data , "rxq_%u_bytes" , i );
384
382
}
383
+
385
384
break ;
386
385
}
387
386
}
0 commit comments