History log of /freebsd-current/sys/dev/vnic/nic_main.c
Revision Date Author Comments
# fdafd315 24-Nov-2023 Warner Losh <imp@FreeBSD.org>

sys: Automated cleanup of cdefs and other formatting

Apply the following automated changes to try to eliminate
no-longer-needed sys/cdefs.h includes as well as now-empty
blank lines in a row.

Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/
Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/
Remove /\n+#if.*\n#endif.*\n+/
Remove /^#if.*\n#endif.*\n/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/

Sponsored by: Netflix


# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 94412ad7 09-May-2022 John Baldwin <jhb@FreeBSD.org>

vnic: Remove unused devclass arguments to DRIVER_MODULE.


# 29e9b487 28-Jul-2021 Ed Maste <emaste@FreeBSD.org>

vnic: add TODO list item for multicast filter support

PR: 223573


# 941650aa 27-Jul-2021 Ed Maste <emaste@FreeBSD.org>

vnic: add TODO list item for non-promisc mode

Also drop ARM64TODO comments; this is an issue with this specific
driver, not a general arm64 issue.

PR: 223575


# 151ba793 24-Dec-2017 Alexander Kabaev <kan@FreeBSD.org>

Do pass removing some write-only variables from the kernel.

This reduces noise when kernel is compiled by newer GCC versions,
such as one used by external toolchain ports.

Reviewed by: kib, andrew(sys/arm and sys/arm64), emaste(partial), erj(partial)
Reviewed by: jhb (sys/dev/pci/* sys/kern/vfs_aio.c and sys/kern/kern_synch.c)
Differential Revision: https://reviews.freebsd.org/D10385


# 7056927e 20-May-2016 Wojciech Macek <wma@FreeBSD.org>

Fix VNIC module unloading

Fix panics which were present when BGX and PF module were unloaded.

Reviewed by: zbb
Obtained from: Semihalf
Sponsored by: Cavium
Differential Revision: https://reviews.freebsd.org/D6346


# f4aafb9e 20-May-2016 Wojciech Macek <wma@FreeBSD.org>

Allow building VNIC as a module

Add directory structure and fix dependencies to be able to
build and use Cavium VNIC driver as a module.

Reviewed by: zbb
Obtained from: Semihalf
Sponsored by: Cavium
Differential Revision: https://reviews.freebsd.org/D6345


# 8191a879 11-May-2016 Zbigniew Bodek <zbb@FreeBSD.org>

Add HW RSS support to VNIC driver

Based on v1.0 driver provided by Cavium under BSD license.
Support in-hardware RSS to distribute IP, UDP and TCP traffic
among available RX Queues and hence multiple CPUs.

Reviewed by: wma
Obtained from: Semihalf
Sponsored by: Cavium
Differential Revision: https://reviews.freebsd.org/D6230


# 47646691 31-Mar-2016 Zbigniew Bodek <zbb@FreeBSD.org>

Fix number of the enabled VFs in VNIC

nic->num_vf_en is set based on the number of the enabled LMACs.
This number should not be overwritten later by any routine.
Instead it should fail PCI_IOV_ADD_VF() so that available VFs
with the corresponding LMACs will attach whereas other, disabled
VFs will fail with the proper error code.
Error signaling (due to improper number of VFs requested) is also moved
from PCI_IOV_INIT() to PCI_IOV_ADD_VF().

This will be reworked when multiple queue sets are enabled but for
now this is the correct behavior of the driver.

Obtained from: Semihalf
Sponsored by: Cavium


# 055dba6d 30-Mar-2016 Zbigniew Bodek <zbb@FreeBSD.org>

Fix typo in the VNIC's PF function name

Should be add_vf not addr_vf.


# 3ad422a9 25-Feb-2016 Zbigniew Bodek <zbb@FreeBSD.org>

Fix VNIC support for Pass2.0 ThunderX chips

- Check chip revision using pass1_silicon() routine.
- Configure CPI correctly for Pass2.0

Reviewed by: wma
Obtained from: Semihalf
Sponsored by: Cavium
Differential Revision: https://reviews.freebsd.org/D5422


# 73f8bb53 25-Feb-2016 Zbigniew Bodek <zbb@FreeBSD.org>

Remove soft reset from the VNIC's PF driver

This is not needed and causes revid register of the PCI
configuration space to clear on Pass2.0.

Reviewed by: wma
Obtained from: Semihalf
Sponsored by: Cavium
Differential Revision: https://reviews.freebsd.org/D5421


# 2306b72a 18-Oct-2015 Zbigniew Bodek <zbb@FreeBSD.org>

Introduce initial support for Cavium's ThunderX networking interface

- The driver consists of three main componens: PF, VF, BGX
- Requires appropriate entries in DTS and MDIO driver
- Supports only FDT configuration
- Multiple Tx queues and single Rx queue supported
- No RSS, HW checksum and TSO support
- No more than 8 queues per-IF (only one Queue Set per IF)
- HW statistics enabled
- Works in all available MAC modes (1,10,20,40G)
- Style converted to BSD according to style(9)
- The code brings lmac_if interface used by the BGX driver to
update its logical MACs state.

Obtained from: Semihalf
Sponsored by: The FreeBSD Foundation


# 3c0086b8 18-Oct-2015 Zbigniew Bodek <zbb@FreeBSD.org>

Raw import of ThunderX VNIC networking driver components

This import brings following components of the Linux driver:
- Thunder BGX (programmable MAC)
- Physical Function driver
- Virtual Function driver
- Headers

Revision: 1.0
Obtained from: Cavium
License information: Cavium provided these files under BSD license