Skip to content

ice.4: Update man page with feature documentation #1622

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

Draft
wants to merge 29 commits into
base: main
Choose a base branch
from

Conversation

ricera
Copy link
Contributor

@ricera ricera commented Mar 26, 2025

This is eventually supposed to document the functionality from @kgalazka's #1573, but for now it contains information ported from the out-of-tree driver's man pages in order to bring the current man page up to date with features that are already in the upstream driver.

kgalazka and others added 16 commits March 6, 2025 22:18
Enable basic SR-IOV support for E800 adapters.

Authored-by: Eric Joyner <erj@FreeBSD.org>
Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Filter for unicast MAC address is configured
with a virtual channel message, but filter for
a broadcast traffic was missing. It caused
issues with e.g. ARP.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
VF driver may request to configure MSI-X vectors for less
queues than assigned by PF. Don't try to configure
unassigned vectors to avoid panic.

While at that make the loop process whole array of vectors
received in a VIRTCHNL_OP_CFG_IRQ_MAP message from a VF.
It's not guarantied that vector '0', which is used for other
interrupt causes and is not mapped to a queue, will be always
on the last position. Condition inside the loop already
handles that vector correctly.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
PF driver needs to tear down and setup VF configuration after
a reset event, e.g. due to reloading a VF driver. Re-use
ice_reset_vf function for that by adding new parameter,
which decides if new reset has to be triggered.
This most likely does not cover all necessary steps
and will be extended in future commits.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
On receiving a virtual channel request from VF driver tried
to configure and enable Tx and Rx queues without making
sure that they were disabled. It caused issue with reloading
a VF driver without a reset e.g. in case it crashed.
Fix that by always disabling all Rx and Tx queues.

While at that make sure that only queues requested by VF
driver are enabled. VF driver may use less queues than
assigned to the function when it was created.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Let VF driver know that HW supports WB_ON_ITR
feature. It allows polling mode driver such
as DPDK to configure an immediate write-back
of completed descriptors.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Remove existing RSS HENA configuration to make sure that
only config requested by VF is applied and allow VFs to
disable RSS completely.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Adds two new parameters to iovctl config for VLAN filter limits and MAC
filter limits and gives them defaults of 64 and 16, respectively.

These are intended to limit the number of resources that a VF can
consume so that any one VF cannot starve an other VFs or the PF of
filters.

Signed-off-by: Eric Joyner <eric.joyner@intel.com>
Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Add previously undocumented loader tunables and expand the descriptions
for all of them.

Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
Remove mentions of the ports/packages for the utilities since those are
no longer supported, and update the names of the utilities to match the
names used on the Intel Download Center.

Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
@concussious
Copy link
Contributor

Not all heroes wear capes.

ricera added 10 commits March 27, 2025 14:49
Signed-off-by: Eric Joyner <erj@freebsd.org>
And change a word in the documentation about qualified modules; unlike
the 700 series (ixl), most (if not every one that I've used) adapters
don't have a qualified module check.

Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
Documents the warnings and remedies to take if a warning message about
it appears.

Signed-off-by: Eric Joyner <erj@freebsd.org>
And remove some old/somewhat-irrelevant entries from the SEE ALSO list.
sysctl(8) is added to the list because a lot of the adapter
configuration that isn't done via standard network interface controls is
done via that method.

Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
In particular, reduce the number of the sysctls in the "SYSCTL
PROCEDURES" section since most of them are documented in the other
sections. And, add more descriptions and information to them in general.

Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
@ricera
Copy link
Contributor Author

ricera commented Mar 28, 2025

I have some additional concerns and questions that I hope someone can answer:

  • Should "information on enabling VLANs, see the README" be removed or add
    another link to ifconfig(8)? Or the VLAN man page? The README isn't shipped
    upstream, so I don't think it's sensible to direct users to the README. Plus,
    basic vlan features aren't very complicated.

  • I don't know if ".Em" is the correct way to highlight the names of the
    utilities like below:
    .Em Ethernet Port Configuration Tool - FreeBSD

  • Not sure how to format "NOTE:" lines; for now I just left their formatting as standard text.

  • I don't think ice_ddp has a man page or maybe should even get one. How do I
    refer to it without using .Xr?

  • @kgalazka Need to add 200G modules to the list in the HARDWARE section, but I don't know any of their SKUs or descriptions

  • @kgalazka, for "mirror-src-vsi" iovctl parameter, how do you find the vsi number for the
    PF VSI? I cannot remember -- is it indexed to the driver (so it would be 0) or is it indexed to a value from the FW/HW?

ricera added 2 commits March 28, 2025 11:40
Signed-off-by: Eric Joyner <erj@freebsd.org>
Signed-off-by: Eric Joyner <erj@freebsd.org>
@concussious
Copy link
Contributor

Should "information on enabling VLANs, see the README" be removed or add
another link to ifconfig(8)? Or the VLAN man page? The README isn't shipped
upstream, so I don't think it's sensible to direct users to the README. Plus,
basic vlan features aren't very complicated.

If we don't have the readme, ifconfig sounds good to me.

I don't know if ".Em" is the correct way to highlight the names of the
utilities like below:
.Em Ethernet Port Configuration Tool - FreeBSD

"If such a stand-alone command is the topic of the current manual page, use Nm; if it is documented in another manual page, use Xr; otherwise, if it is not documented, for example because it is only available in foreign or historical operating systems, use Sy." ~https://mandoc.bsd.lv/mdoc/style/commands.html

But what is Ethernet port configuration tool FreeBSD? If we can get that in ports, it should be something like:

.Sy portcfgtoolname
.Pq Pa ports/net/intel_ethernet_conftool

Not sure how to format "NOTE:" lines; for now I just left their formatting as standard text.

That's usually what I do, and I usually say "Note that..." to reinforce that I'm intending it as standard text.

I don't think ice_ddp has a man page or maybe should even get one. How do I refer to it without using .Xr?

.Sy

Thanks again. This is a big deal. The doc is what sells the users on it, I think.

- More lint fixes
- Minor wording changes
- Change reference to the README for VLAN configuration to vlan(4),
  since the DESCRIPTION includes how to create and configure them
- Use Va macros for sysctl names

Signed-off-by: Eric Joyner <erj@freebsd.org>
@kgalazka
Copy link
Contributor

image

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

Successfully merging this pull request may close these issues.

3 participants