Skip to content

Conversation

@natali-rs1985
Copy link
Contributor

Change summary

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

NIC e1000

set vpp settings interface eth1 driver dpdk
commit

Before the fix, when we changed driver type there was an error and VPP reloaded to previous configuration because original NIC does not support XDP:

vyos@vyos# set vpp settings interface eth1 driver xdp
[edit]
vyos@vyos# commit
[ vpp ]
WARNING: offload option in eth1 settings is not supported by VPP interfaces. It will be ignored.

WARNING: NOTE: Current dataplane capacity (estimated): 2.1 M IPv4
routes. Exceeding these values will lead to a dataplane out-of-memory
condition and a crash. Extensive use of features like ACLs, NAT and
others may reduce the numbers above. Please read the documentation for
details: https://docs.vyos.io/

An error occurred: VPP API call failed: -12. VPP service will be
restarted with the previous configuration
[[vpp]] failed
Commit failed
[ vpp ]
WARNING: offload option in eth1 settings is not supported by VPP interfaces. It will be ignored.

WARNING: NOTE: Current dataplane capacity (estimated): 2.1 M IPv4
routes. Exceeding these values will lead to a dataplane out-of-memory
condition and a crash. Extensive use of features like ACLs, NAT and
others may reduce the numbers above. Please read the documentation for
details: https://docs.vyos.io/



[edit]

After the fix:

vyos@vyos# set vpp settings interface eth1 driver xdp
[edit]
vyos@vyos# commit
[ vpp ]
WARNING: offload option in eth1 settings is not supported by VPP interfaces. It will be ignored.
Driver xdp is not compatible with interface eth1!
[[vpp]] failed
Commit failed
[edit]

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

@github-actions
Copy link

github-actions bot commented Nov 24, 2025

👍
No issues in PR Title / Commit Title

@natali-rs1985 natali-rs1985 added the bp/circinus Create automatic backport for circinus label Nov 24, 2025
@alexk37
Copy link
Contributor

alexk37 commented Nov 24, 2025

Fix works for me, nic driver gets verified now

Copy link
Member

@sever-sever sever-sever left a comment

Choose a reason for hiding this comment

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

Add verification driver check on the step of the changing driver
DPDK -> XDP, XDP -> DPDK

Copy link
Contributor

@zdc zdc left a comment

Choose a reason for hiding this comment

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

Can it be a situation when original_driver in persist_config is unknown at all?

I am recalling that a few months ago, we had a change (or discussion only) to store driver details unconditionally, not only for NICs that need to override a driver, specifically because we need it in multiple places.

If so, then we can drop from the verification get_eth_driver()

@natali-rs1985
Copy link
Contributor Author

Can it be a situation when original_driver in persist_config is unknown at all?

I haven't seen this situation yet.

I am recalling that a few months ago, we had a change (or discussion only) to store driver details unconditionally, not only for NICs that need to override a driver, specifically because we need it in multiple places.

We store information about original_driver for each interface unconditionally

@github-actions
Copy link

github-actions bot commented Dec 1, 2025

CI integration 👍 passed!

Details

CI logs

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

Copy link
Contributor

@zdc zdc left a comment

Choose a reason for hiding this comment

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

I have not tested it, but the logic and code looks totally OK for me now.

@natali-rs1985 natali-rs1985 merged commit 07dfa80 into vyos:current Dec 2, 2025
18 checks passed
@vyosbot vyosbot added mirror-initiated This PR initiated for mirror sync workflow mirror-completed and removed mirror-initiated This PR initiated for mirror sync workflow labels Dec 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bp/circinus Create automatic backport for circinus current mirror-completed

Development

Successfully merging this pull request may close these issues.

5 participants