[dpdk-dev,v3] app/testpmd: print Rx/Tx offload values
Checks
Commit Message
Which per port offloads are enabled is not clear. Printing offloads
values at forwarding start.
CRC strip offload value was printed in more verbose manner, it is
removed since Rx/Tx offload values covers it and printing only CRC one
can cause confusion.
Hexadecimal offloads values are not very user friendly but preferred to
not create to much noise during forwarding start.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
---
Cc: Shahaf Shuler <shahafs@mellanox.com>
Cc: Yongseok Koh <yskoh@mellanox.com>
v2:
* Add Rxq and Txq stats too
* Split Rx an Tx related logs and place them related group
v3:
* Use consistent syntax in logs
---
app/test-pmd/config.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
Comments
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ferruh Yigit
> Sent: Monday, March 12, 2018 5:53 PM
> To: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>
> Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>; Shahaf Shuler
> <shahafs@mellanox.com>; Yongseok Koh <yskoh@mellanox.com>
> Subject: [dpdk-dev] [PATCH v3] app/testpmd: print Rx/Tx offload values
>
> Which per port offloads are enabled is not clear. Printing offloads
> values at forwarding start.
>
> CRC strip offload value was printed in more verbose manner, it is
> removed since Rx/Tx offload values covers it and printing only CRC one
> can cause confusion.
>
> Hexadecimal offloads values are not very user friendly but preferred to
> not create to much noise during forwarding start.
Hmmm - I'm thinking is there a better method to reduce verbosity, but keep
user friendliness?
Can the dynamic logs be used? By default, just print the hex mask, but with
--log-level="pmd.net.*.offload_flags" we print the list, itemized?
crc strip .......... 1
vlan strip ......... 1
udp checksum ....... 0
I'm not sure what the exact string should be - testpmd specific or DPDK wide at the PMD level?
On 3/13/2018 9:24 AM, Van Haaren, Harry wrote:
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ferruh Yigit
>> Sent: Monday, March 12, 2018 5:53 PM
>> To: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>
>> Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>; Shahaf Shuler
>> <shahafs@mellanox.com>; Yongseok Koh <yskoh@mellanox.com>
>> Subject: [dpdk-dev] [PATCH v3] app/testpmd: print Rx/Tx offload values
>>
>> Which per port offloads are enabled is not clear. Printing offloads
>> values at forwarding start.
>>
>> CRC strip offload value was printed in more verbose manner, it is
>> removed since Rx/Tx offload values covers it and printing only CRC one
>> can cause confusion.
>>
>> Hexadecimal offloads values are not very user friendly but preferred to
>> not create to much noise during forwarding start.
>
>
> Hmmm - I'm thinking is there a better method to reduce verbosity, but keep
> user friendliness?
>
> Can the dynamic logs be used? By default, just print the hex mask, but with
> --log-level="pmd.net.*.offload_flags" we print the list, itemized?
>
> crc strip .......... 1
> vlan strip ......... 1
> udp checksum ....... 0
As Yongseok mentioned 'show port cap all' prints the offload capabilities in a
more user friendly way [1] [2]. This patch adds a summary config log after
"start" command, I think it is good to keep it brief.
Related to the "pmd.net.*.offload_flags" suggestion, we are currently using log
types to select components, it can be interesting to use feature based log
types, ethdev may register them and PMDs can use it.
[1]
************ Port 0 supported offload features: ************
VLAN stripped: off
Double VLANs stripped: off
RX IPv4 checksum: off
RX UDP checksum: off
RX TCP checksum: off
RX Outer IPv4 checksum: off
VLAN insert: off
Double VLANs insert: off
TX IPv4 checksum: off
TX UDP checksum: off
TX TCP checksum: off
TX SCTP checksum: off
TX Outer IPv4 checksum: off
TX TCP segmentation: off
TSO for VXLAN tunnel packet: off
TSO for GRE tunnel packet: off
TSO for IPIP tunnel packet: off
TSO for GENEVE tunnel packet: off
[2]
This command needs a volunteer to add missing offloading types.
>
>
> I'm not sure what the exact string should be - testpmd specific or DPDK wide at the PMD level?
>
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Tuesday, March 13, 2018 10:21 AM
> To: Van Haaren, Harry <harry.van.haaren@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>
> Cc: dev@dpdk.org; Shahaf Shuler <shahafs@mellanox.com>; Yongseok Koh
> <yskoh@mellanox.com>
> Subject: Re: [dpdk-dev] [PATCH v3] app/testpmd: print Rx/Tx offload values
>
> On 3/13/2018 9:24 AM, Van Haaren, Harry wrote:
> >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ferruh Yigit
> >> Sent: Monday, March 12, 2018 5:53 PM
> >> To: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>
> >> Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>; Shahaf Shuler
> >> <shahafs@mellanox.com>; Yongseok Koh <yskoh@mellanox.com>
> >> Subject: [dpdk-dev] [PATCH v3] app/testpmd: print Rx/Tx offload values
> >>
> >> Which per port offloads are enabled is not clear. Printing offloads
> >> values at forwarding start.
> >>
> >> CRC strip offload value was printed in more verbose manner, it is
> >> removed since Rx/Tx offload values covers it and printing only CRC one
> >> can cause confusion.
> >>
> >> Hexadecimal offloads values are not very user friendly but preferred to
> >> not create to much noise during forwarding start.
> >
> >
> > Hmmm - I'm thinking is there a better method to reduce verbosity, but keep
> > user friendliness?
> >
> > Can the dynamic logs be used? By default, just print the hex mask, but
> with
> > --log-level="pmd.net.*.offload_flags" we print the list, itemized?
> >
> > crc strip .......... 1
> > vlan strip ......... 1
> > udp checksum ....... 0
>
> As Yongseok mentioned 'show port cap all' prints the offload capabilities in
> a more user friendly way [1] [2]. This patch adds a summary config log after
> "start" command, I think it is good to keep it brief.
Apologies I didn't follow this thread from the start, Ack to keep it brief here.
> Related to the "pmd.net.*.offload_flags" suggestion, we are currently using
> log
> types to select components, it can be interesting to use feature based log
> types, ethdev may register them and PMDs can use it.
Yes - we'd need to define what log-levels exist per feature, so there is some consistency.
I suggest postponing that as future work, existing patch is fine with me as is.
12/03/2018 18:53, Ferruh Yigit:
> Which per port offloads are enabled is not clear. Printing offloads
> values at forwarding start.
>
> CRC strip offload value was printed in more verbose manner, it is
> removed since Rx/Tx offload values covers it and printing only CRC one
> can cause confusion.
>
> Hexadecimal offloads values are not very user friendly but preferred to
> not create to much noise during forwarding start.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> Acked-by: Yongseok Koh <yskoh@mellanox.com>
Applied, thanks
@@ -1682,10 +1682,6 @@ rxtx_config_display(void)
struct rte_eth_txconf *tx_conf = &ports[pid].tx_conf;
printf(" port %d:\n", (unsigned int)pid);
- printf(" CRC stripping %s\n",
- (ports[pid].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_CRC_STRIP) ?
- "enabled" : "disabled");
printf(" RX queues=%d - RX desc=%d - RX free threshold=%d\n",
nb_rxq, nb_rxd, rx_conf->rx_free_thresh);
printf(" RX threshold registers: pthresh=%d hthresh=%d "
@@ -1693,6 +1689,9 @@ rxtx_config_display(void)
rx_conf->rx_thresh.pthresh,
rx_conf->rx_thresh.hthresh,
rx_conf->rx_thresh.wthresh);
+ printf(" Rx offloads=0x%"PRIx64" RXQ offloads=0x%"PRIx64"\n",
+ ports[pid].dev_conf.rxmode.offloads,
+ rx_conf->offloads);
printf(" TX queues=%d - TX desc=%d - TX free threshold=%d\n",
nb_txq, nb_txd, tx_conf->tx_free_thresh);
printf(" TX threshold registers: pthresh=%d hthresh=%d "
@@ -1700,8 +1699,10 @@ rxtx_config_display(void)
tx_conf->tx_thresh.pthresh,
tx_conf->tx_thresh.hthresh,
tx_conf->tx_thresh.wthresh);
- printf(" TX RS bit threshold=%d - TXQ offloads=0x%"PRIx64"\n",
- tx_conf->tx_rs_thresh, tx_conf->offloads);
+ printf(" TX RS bit threshold=%d\n", tx_conf->tx_rs_thresh);
+ printf(" Tx offloads=0x%"PRIx64" TXQ offloads=0x%"PRIx64"\n",
+ ports[pid].dev_conf.txmode.offloads,
+ tx_conf->offloads);
}
}