Skip to content

QAT Virtual Machine Virtual Function Support #4375

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

Open
wants to merge 4 commits into
base: current
Choose a base branch
from

Conversation

smith-daniels
Copy link

QAT Virtual Function Detection

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes)
  • Migration from an old Vyatta component to vyos-1x, please link to related PR inside obsoleted component
  • Other (please describe):

Related Task(s)

Related PR(s)

How to test / Smoketest result

root@VyOS01:/home/vyos# adf_ctl status
Checking status of all devices.
There is 4 QAT acceleration device(s) in the system:
qat_dev0 - type: c6xxvf, inst_id: 0, node_id: 0, bsf: 0000:05:00.0, #accel: 1 #engines: 1 state: up
qat_dev1 - type: c6xxvf, inst_id: 1, node_id: 0, bsf: 0000:0c:00.0, #accel: 1 #engines: 1 state: up
qat_dev2 - type: c6xxvf, inst_id: 2, node_id: 0, bsf: 0000:14:00.0, #accel: 1 #engines: 1 state: up
qat_dev3 - type: c6xxvf, inst_id: 3, node_id: 0, bsf: 0000:1c:00.0, #accel: 1 #engines: 1 state: up

root@VyOS01:/home/vyos# lspci -nn
.......
03:00.0 Serial Attached SCSI controller [0107]: VMware PVSCSI SCSI Controller [15ad:07c0] (rev 02)
04:00.0 Ethernet controller [0200]: VMware VMXNET3 Ethernet Controller [15ad:07b0] (rev 01)
05:00.0 Co-processor [0b40]: Intel Corporation C62x Chipset QuickAssist Technology Virtual Function [8086:37c9] (rev 04)
0b:00.0 Ethernet controller [0200]: VMware VMXNET3 Ethernet Controller [15ad:07b0] (rev 01)
0c:00.0 Co-processor [0b40]: Intel Corporation C62x Chipset QuickAssist Technology Virtual Function [8086:37c9] (rev 04)
0d:00.0 Ethernet controller [0200]: VMware VMXNET3 Ethernet Controller [15ad:07b0] (rev 01)
13:00.0 Ethernet controller [0200]: VMware VMXNET3 Ethernet Controller [15ad:07b0] (rev 01)
14:00.0 Co-processor [0b40]: Intel Corporation C62x Chipset QuickAssist Technology Virtual Function [8086:37c9] (rev 04)
1b:00.0 Ethernet controller [0200]: VMware VMXNET3 Ethernet Controller [15ad:07b0] (rev 01)
1c:00.0 Co-processor [0b40]: Intel Corporation C62x Chipset QuickAssist Technology Virtual Function [8086:37c9] (rev 04)

Checklist:

  • I have read the CONTRIBUTING document
  • I have linked this PR to one or more Phabricator Task(s)
  • I have run the components SMOKETESTS if applicable
  • My commit headlines contain a valid Task id
  • My change requires a change to the documentation
  • I have updated the documentation accordingly

Copy link

github-actions bot commented Mar 1, 2025


PR title does not match the required format

Copy link

github-actions bot commented Mar 1, 2025

CI integration 👍 passed!

Details

CI logs

  • CLI Smoketests (no interfaces) 👍 passed
  • CLI Smoketests (interfaces only) 👍 passed
  • Config tests 👍 passed
  • RAID1 tests 👍 passed
  • TPM tests 👍 passed

Copy link
Member

@dmbaturin dmbaturin left a comment

Choose a reason for hiding this comment

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

If you can squash the commits, that would be nice.

# 0435 -> DH895
# 6f54 -> D15xx
# 18ee -> QAT_200XX
data = re.findall(
'(8086:19e2)|(8086:37c8)|(8086:0435)|(8086:6f54)|(8086:18ee)', output)
'(8086:19e2)|(8086:37c8)|(8086:37c9)|(8086:0435)|(8086:6f54)|(8086:18ee)', output)
Copy link
Member

Choose a reason for hiding this comment

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

From a purely aesthetic point of you, the diff might have looked better if the new value was added after 8086:0435. But I have nothing against the substance.

Copy link
Author

@smith-daniels smith-daniels Mar 4, 2025

Choose a reason for hiding this comment

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

I thought because it was a subset of the physical C62xx physical device that if fit directly after that, but I understand your point from the perspective of reading the code change. I will squash the commits for this as requested.

@andamasov andamasov requested a review from Copilot March 6, 2025 12:21
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

PR Overview

This pull request fixes a bug in QAT detection by adding support for the Intel QAT Virtual Function PCI ID (8086:37c9) in the regular expressions used for scanning devices. Changes include updating regex patterns in both the operational and configuration modes and refining related inline comments.

Reviewed Changes

File Description
src/op_mode/show_acceleration.py Updated regex patterns and command output to include PCI ID 8086:37c9; fixed a comment typo.
src/conf_mode/system_acceleration.py Updated regex pattern and added a comment to document the new QAT PCI ID.

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

Comments suppressed due to low confidence (1)

src/op_mode/show_acceleration.py:95

  • Correct the spelling of 'availible' to 'available' in the comment.
# Show availible Intel QAT devices

Copy link
Member

@dmbaturin dmbaturin left a comment

Choose a reason for hiding this comment

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

One thing: could you include a task number in the commit and PR titles? If there's no task, create one in https://vyos.dev

@dmbaturin
Copy link
Member

A reminder: please create a task in vyos.dev if it's not there and include the number in the commit message and the PR title. Without that we cannot move this forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

2 participants