Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I210 implementation + Taprio software support + mapping customization (rebase) #20

Open
wants to merge 25 commits into
base: master
Choose a base branch
from

Conversation

kamber-intel
Copy link
Collaborator

No description provided.

To be fully tested later
If no flag entered it should behave like in the past, this file should probably be edited more but need to be able to run the software to figure out a bit more.
renamed the test dealing with the tc command for setting taprio with offload to the appropriate name. it was before called test_iplinksetvlan. I also added a test for tc command dealing taprio software mode(flag)
Just a test thing, will see what I end up using in the end
+
Editing tests to encompass new variables being returned + testing the values of it

hardware latency for i225 and rename for i210

small fix
@xtor xtor linked an issue Apr 28, 2024 that may be closed by this pull request
@xtor xtor changed the title Amb i20 support I210 implementation + Taprio software support + mapping customization (rebase) Apr 28, 2024
Copy link
Collaborator

@xtor xtor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let us discuss in more detail how to specify the backend selection, and then we can move forward.

detd/common.py Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
detd/common.py Outdated Show resolved Hide resolved
detd/devices/intel_i210.py Show resolved Hide resolved
detd/devices/intel_i210.py Show resolved Hide resolved
detd/manager.py Outdated Show resolved Hide resolved
detd/mapping.py Outdated Show resolved Hide resolved
detd/mapping.py Outdated Show resolved Hide resolved
detd/mapping.py Show resolved Hide resolved
detd/proxy.py Outdated Show resolved Hide resolved
@kamber-intel kamber-intel force-pushed the amb_i20_support branch 5 times, most recently from 0718f62 to 8b9c57c Compare May 9, 2024 13:56
@xtor xtor linked an issue May 17, 2024 that may be closed by this pull request
@kamber-intel kamber-intel force-pushed the amb_i20_support branch 7 times, most recently from 4a52ecc to 963197a Compare May 21, 2024 20:41
@kamber-intel kamber-intel force-pushed the amb_i20_support branch 3 times, most recently from fbe3161 to 52d9511 Compare June 4, 2024 14:03
README.md Outdated Show resolved Hide resolved
@@ -22,12 +22,11 @@

from ..logger import get_logger

from ..scheduler import TxCapability
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may be better to leave the "Capability" name. It is true that Qbv and LTC are Tx related, but Qbu (and actually the underlying 802.3br) have also an Rx component.

detd/devices/device.py Outdated Show resolved Hide resolved
detd/devices/device.py Outdated Show resolved Hide resolved
detd/devices/device.py Outdated Show resolved Hide resolved
detd/manager.py Outdated

if self.hints.tx_selection == TxCapability.Qbv:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check the TxSelection description in the ticket.

detd/manager.py Outdated Show resolved Hide resolved
detd/manager.py Outdated Show resolved Hide resolved
detd/scheduler.py Outdated Show resolved Hide resolved
detd/systemconf.py Outdated Show resolved Hide resolved
@kamber-intel kamber-intel force-pushed the amb_i20_support branch 3 times, most recently from de9544b to 9445d35 Compare June 5, 2024 11:26
detd/devices/device.py Show resolved Hide resolved
detd/devices/intel_i225.py Outdated Show resolved Hide resolved
detd/devices/intel_mgbeehl.py Outdated Show resolved Hide resolved
detd/manager.py Outdated Show resolved Hide resolved
detd/manager.py Show resolved Hide resolved
detd/manager.py Outdated

if self.interface.device.check_hints(config):
# Check if the device supports the requested features
if DataPath(config.hints.data_path) != hints.data_path:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hints have to be checked against the hardware features.

The default hints are a conservative version based on the hardware capabilities. Something may not be set in the default hints that is supported on hardware and hence can be used in some custom hints.

detd/scheduler.py Outdated Show resolved Hide resolved
@kamber-intel kamber-intel force-pushed the amb_i20_support branch 3 times, most recently from 3f40eaa to c114c72 Compare June 8, 2024 06:46
raise ValueError(f"Device does not support the requested Tx selection feature."
f"Requested Tx_selection: {tx_selection}, Requested tx_selection_offload: {tx_selection_offload}")

if tx_selection == TxSelection.STRICT_PRIO and preemption == True:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You do not actually need the STRICT_PRIO part. Preemption can be used in combination with SP but also EST. So perhaps the simplest thing is to check if preemption is requested, and check against the Qbu capability.

datapath = DataPath.AF_PACKET
tx_selection = TxSelection.EST

if Capability.Qbv in self.capabilities:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can simply set the tx_offload, as within the device plugin you already know what should be offered as the default hints.

datapath = DataPath.AF_PACKET
tx_selection = TxSelection.EST

if Capability.Qbv in self.capabilities:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as with i210, you can fix it directly instead of checking against the caps.

datapath = DataPath.AF_PACKET
tx_selection = TxSelection.EST

if Capability.Qbv in self.capabilities:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As with i210 and i225/6.

@kamber-intel kamber-intel force-pushed the amb_i20_support branch 2 times, most recently from ec41cda to 385a7a4 Compare June 12, 2024 11:23
Signed-off-by: Amber <kumar.amber@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants