trex-core
trex-core copied to clipboard
Accepts other i40e driven ports to run in kernel mode on the same board
With some intel quad ports NICs, the behavior of T-Rex (used with NFVbench) was to force unbind neighbor kernel mode ports - said arbitrarily 'unused'. This could be destructive if ports were actually used. Thus, even if a risk of impairment exists for traffic measurements in this case - T-Rex 528 issue (https://trex-tgn.cisco.com/youtrack/issue/trex-528) - we proposed to add an option to ignore it. On our side we didn't confirmed the T-Rex 528 issue and that's why we propose to add an '--ignore-528-issue' choice to the current options, which are exit with error (default) or "--unbind-unused-ports". We proposed a patch in NFVbench project to deal with this issue see details here: https://gerrit.opnfv.org/gerrit/c/nfvbench/+/71331
We can propose to add/or modify this patch into T-Rex following your view on this issue.
@frmenguy the unbind is necessary because the PF hardware counters used (for stream stats) are global to the NIC and shared by the other NICs on the same card. Linux kernel driver on neighbor NIC clean PF the counters. To overcome this I see two options:
- work in software mode -- there is an impact on performance and latency
- add this
--ignore-528-issue
and do not use the hardware stream stats (either active disabling this or just accept errors)
I think you are right when you remind us the limitation that could bring the hybrid usage (kernel/PMD mode) of some Intel 700 series family NICs. However we consider as necessary to be able to use our quad x710 card (for example) knowing the statistics counters issue. Aware of that, we disable statistics (what we often do for performance needs).
This would be of the user responsibility to tell ‘--ignore-528-issue’ (or whatever name) – a corresponding caveat would accompany this option.
The point is that the current T-Rex behavior does not allow this possibility.
@frmenguy understood. Please create a PR and make sure the user understand the limitation of what he is doing when using this switch !
@hhaim Thanks. PR is here : https://github.com/cisco-system-traffic-generator/trex-core/pull/651