On 13. 03. 24 14:56, Ivan Vecera wrote:
Commit 73d9629e1c8c ("i40e: Do not allow untrusted VF to remove
administratively set MAC") fixed an issue where untrusted VF was
allowed to remove its own MAC address although this was assigned
administratively from PF. Unfortunately the introduced check
is
This series do following:
Patch 1 - Removes write-only flags field from i40e_veb structure and
from i40e_veb_setup() parameters
Patch 2 - Refactors parameter of i40e_notify_client_of_l2_param_changes()
and i40e_notify_client_of_netdev_close()
Patch 3 - Refactors parameter of i40
As for ice bug fixed by commit b7306b42beaf ("ice: manage interrupts
during poll exit") followed by commit 23be7075b318 ("ice: fix software
generating extra interrupts") I'm seeing the similar issue also with
i40e driver.
In certain situation when busy-loop is enabled together with adaptive
coales
Commit 0ef2d5afb12d ("i40e: KISS the client interface") simplified
the client interface so in practice it supports only one client
per i40e netdev. But we have still 2 notification functions that
uses as parameter a pointer to VSI of netdevice associated with
the client. After the mentioned commit
The field is initialized always to zero and it is never read.
Remove it.
Reviewed-by: Michal Schmidt
Reviewed-by: Aleksandr Loktionov
Reviewed-by: Kalesh AP
Signed-off-by: Ivan Vecera
---
drivers/net/ethernet/intel/i40e/i40e.h | 3 +--
drivers/net/ethernet/intel/i40e/i40e_debugfs.c |
On 27. 03. 24 8:48, Ivan Vecera wrote:
This series do following:
Patch 1 - Removes write-only flags field from i40e_veb structure and
from i40e_veb_setup() parameters
Patch 2 - Refactors parameter of i40e_notify_client_of_l2_param_changes()
and i40e_notify_client_of_netde
This series do following:
Patch 1 - Removes write-only flags field from i40e_veb structure and
from i40e_veb_setup() parameters
Patch 2 - Refactors parameter of i40e_notify_client_of_l2_param_changes()
and i40e_notify_client_of_netdev_close()
Patch 3 - Refactors parameter of i40
Commit 0ef2d5afb12d ("i40e: KISS the client interface") simplified
the client interface so in practice it supports only one client
per i40e netdev. But we have still 2 notification functions that
uses as parameter a pointer to VSI of netdevice associated with
the client. After the mentioned commit
The field is initialized always to zero and it is never read.
Remove it.
Reviewed-by: Michal Schmidt
Reviewed-by: Aleksandr Loktionov
Reviewed-by: Kalesh AP
Signed-off-by: Ivan Vecera
---
drivers/net/ethernet/intel/i40e/i40e.h | 3 +--
drivers/net/ethernet/intel/i40e/i40e_debugfs.c |
Commit 07d44190a389 ("i40e/i40evf: Detect and recover hung queue
scenario") changes i40e_detect_recover_hung() argument type from
i40e_pf* to i40e_vsi* to be shareable by both i40e and i40evf.
Because the i40evf does not exist anymore and the function is
exclusively used by i40e we can revert this
Add simple helper i40e_pf_get_main_vsi(pf) to access main VSI
that replaces pattern 'pf->vsi[pf->lan_vsi]'
Reviewed-by: Michal Schmidt
Signed-off-by: Ivan Vecera
---
drivers/net/ethernet/intel/i40e/i40e.h| 11 ++
drivers/net/ethernet/intel/i40e/i40e_client.c | 10 +-
drivers/net/ether
In the driver code there are 3 types of checks whether given
VSI is main or not:
1. vsi->type ==/!= I40E_VSI_MAIN
2. vsi ==/!= pf->vsi[pf->lan_vsi]
3. vsi->seid ==/!= pf->vsi[pf->lan_vsi]->seid
All of them are equivalent and can be consolidated. Convert cases
2 and 3 to case 1.
Reviewed-by: Micha
Add a helper to access main VEB:
i40e_pf_get_main_veb(pf) replaces 'pf->veb[pf->lan_veb]'
Reviewed-by: Michal Schmidt
Reviewed-by: Aleksandr Loktionov
Signed-off-by: Ivan Vecera
---
drivers/net/ethernet/intel/i40e/i40e.h| 11
.../net/ethernet/intel/i40e/i40e_ethtool.c| 9
Add helper i40e_vsi_reconfig_tc(vsi) that configures TC
for given VSI using previously stored TC bitmap.
Effectively replaces open-coded patterns:
enabled_tc = vsi->tc_config.enabled_tc;
vsi->tc_config.enabled_tc = 0;
i40e_vsi_config_tc(vsi, enabled_tc);
Reviewed-by: Michal Schmidt
Signed-off-b
> -Original Message-
> From: Intel-wired-lan On
> Behalf Of Ivan Vecera
> Sent: Monday, March 18, 2024 3:31 PM
> To: intel-wired-...@lists.osuosl.org
> Cc: open list:NETWORKING DRIVERS ; Richard
> Cochran ; open list ker...@vger.kernel.org>; Eric Dumazet ;
> Nguyen, Anthony L ; Jakub K
allnoconfig gcc
arc allyesconfig gcc
arc defconfig gcc
arc randconfig-001-20240327 gcc
arc randconfig-002-20240327 gcc
arm
Initially, during VF creation it registers the PTP clock in
the system and negotiates with PF it's capabilities. In the
meantime the PF enables the Flexible Descriptor for VF.
Only this type of descriptor allows to receive Rx timestamps.
Enabling virtual clock would be possible, though it would pr
From: Jacob Keller
Add support for allowing a VF to enable PTP feature - Rx timestamps
The new capability is gated by VIRTCHNL_VF_CAP_PTP, which must be
set by the VF to request access to the new operations. In addition, the
VIRTCHNL_OP_1588_PTP_CAPS command is used to determine the specific
cap
From: Simei Su
To support Rx timestamp offload, VIRTCHNL_OP_1588_PTP_CAPS is sent by
the VF to request PTP capability and responded by the PF what capability
is enabled for that VF.
Hardware captures timestamps which contain only 32 bits of nominal
nanoseconds, as opposed to the 64bit timestamps
From: Jacob Keller
Support for allowing VF to negotiate the descriptor format requires that
the VF specify which descriptor format to use when requesting Rx queues.
The VF is supposed to request the set of supported formats via the new
VIRTCHNL_OP_GET_SUPPORTED_RXDIDS, and then set one of the sup
From: Jacob Keller
Enable support for VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC, to enable the VF
driver the ability to determine what Rx descriptor formats are
available. This requires sending an additional message during
initialization and reset, the VIRTCHNL_OP_GET_SUPPORTED_RXDIDS. This
operation requ
From: Jacob Keller
Add a new extended capabilities negotiation to exchange information from
the PF about what PTP capabilities are supported by this VF. This
requires sending a VIRTCHNL_OP_1588_PTP_GET_CAPS message, and waiting
for the response from the PF. Handle this early on during the VF
init
From: Jacob Keller
The Rx timestamps reported by hardware may only have 32 bits of storage
for nanosecond time. These timestamps cannot be directly reported to the
Linux stack, as it expects 64bits of time.
To handle this, the timestamps must be extended using an algorithm that
calculates the co
From: Jacob Keller
Add the iavf_ptp.c file and fill it in with a skeleton framework to
allow registering the PTP clock device.
Add implementation of helper functions to check if a PTP capability
is supported and handle change in PTP capabilities.
Enabling virtual clock would be possible, though i
Rx timestamping introduced in PF driver caused the need of refactoring
the VF driver mechanism to check packet fields.
The function to check errors in descriptor has been removed and from
now only previously set struct fields are being checked. The field DD
(descriptor done) needs to be checked at
From: Jacob Keller
Implement support for reading the PHC time indirectly via the
VIRTCHNL_OP_1588_PTP_GET_TIME operation.
Based on some simple tests with ftrace, the latency of the indirect
clock access appears to be about ~110 microseconds. This is due to the
cost of preparing a message to send
From: Jacob Keller
Add handlers for the SIOCSHWTSTAMP and SIOCGHWTSTAMP ioctls which allow
userspace to request timestamp enablement for the device. This
support allows standard Linux applications to request the timestamping
desired.
As with other devices that support timestamping all packets, t
From: Jacob Keller
Add support for receive timestamps to the Rx hotpath. This support only
works when using the flexible descriptor format, so make sure that we
request this format by default if we have receive timestamp support
available in the PTP capabilities.
In order to report the timestamp
From: Jacob Keller
Using VIRTCHNL_VF_OFFLOAD_FLEX_DESC, the iAVF driver is capable of
negotiating to enable the advanced flexible descriptor layout. Add the
flexible NIC layout (RXDID=2) as a member of the Rx descriptor union.
Also add bit position definitions for the status and error indication
From: Jakub Kicinski
Date: Tue, 26 Mar 2024 21:04:12 -0700
> On Tue, 26 Mar 2024 17:41:15 +0100 Alexander Lobakin wrote:
>> To ease maintaining of virtchnl2.h, which already is messy enough,
>> make it self-contained by adding missing if_ether.h include due to
>> %ETH_ALEN usage.
>> At the same t
allnoconfig gcc
arc allyesconfig gcc
arc defconfig gcc
arc randconfig-001-20240327 gcc
arc randconfig-002-20240327 gcc
arm allmodconfig gcc
Some structures contain flexible arrays at the end and the counter for
them, but the counter has explicit Endianness and thus __counted_by()
can't be used directly.
To increase test coverage for potential problems without breaking
anything, introduce __counted_by_{le,be} defined depending on platf
To ease maintaining of virtchnl2.h, which already is messy enough,
make it self-contained by adding missing if_ether.h include due to
%ETH_ALEN usage.
At the same time, virtchnl2_lan_desc.h is not used anywhere in the
file, so move this include to idpf_txrx.h to speed up C preprocessing.
Acked-by:
Some structures contain flexible arrays at the end and the counter for
them, but the counter has explicit Endianness and thus __counted_by()
can't be used directly.
To increase test coverage for potential problems without breaking
anything, introduce __counted_by_{le,be}() defined depending on
pla
Both virtchnl2.h and its consumer idpf_virtchnl.c are very error-prone.
There are 10 structures with flexible arrays at the end, but 9 of them
has flex member counter in Little Endian.
Make the code a bit more robust by applying __counted_by_le() to those
9. LE platforms is the main target for this
On Wed, 27 Mar 2024 09:25:31 -0400 Mateusz Polchlopek wrote:
> v2:
> - fixed warning related to wrong specifier to dev_err_once in
> commit 7
> - fixed warnings related to unused variables in commit 9
You posted this yesterday and got no feedback.
You're not posting to the list just to get the c
On Wednesday, March 27, 2024 7:21 PM, Florian Bezdeka
wrote:
>On Tue, 2024-03-26 at 14:55 +, Song, Yoong Siang wrote:
>> On Tuesday, March 26, 2024 9:08 PM, Kurt Kanzenbach
>> wrote:
>> > Hi Florian,
>> >
>> > On Tue Mar 26 2024, Florian Bezdeka wrote:
>> > > On Mon, 2024-03-25 at 10:09 +08
在 2024/3/26 21:34, Kurt Kanzenbach 写道:
Add support for offloading MQPRIO. The hardware has four priorities as well
as four queues. Each queue must be a assigned with a unique priority.
However, the priorities are only considered in TSN Tx mode. There are two
TSN Tx modes. In case of MQPRIO th
On Tue, 2024-03-26 at 14:55 +, Song, Yoong Siang wrote:
> On Tuesday, March 26, 2024 9:08 PM, Kurt Kanzenbach
> wrote:
> > Hi Florian,
> >
> > On Tue Mar 26 2024, Florian Bezdeka wrote:
> > > On Mon, 2024-03-25 at 10:09 +0800, Song Yoong Siang wrote:
> > > > This patch adds support to per-pa
On Wed, 2024-03-27 at 14:54 +, Song, Yoong Siang wrote:
> > Nice to hear! Keep me in the loop and let me know if I could support
> > somehow.
>
> Sure, will keep you in loop.
> Do you mind to share, which Ethernet driver you are working on?
I'm not really working "on" a driver (right now), bu
Add support for creating PFCP filters in switchdev mode. Add pfcp module
that allows to create a PFCP-type netdev. The netdev then can be passed to
tc when creating a filter to indicate that PFCP filter should be created.
To add a PFCP filter, a special netdev must be created and passed to tc
comm
From: Alexander Potapenko
pr_err() messages may be treated as errors by some log readers, so let
us only use them for test failures. For non-error messages, replace them
with pr_info().
Suggested-by: Alexander Lobakin
Signed-off-by: Alexander Potapenko
Acked-by: Yury Norov
Signed-off-by: Yury
Commit 8238b4579866 ("wait_on_bit: add an acquire memory barrier") added
a new bitop, test_bit_acquire(), with proper wrapping in order to try to
optimize it at compile-time, but missed the list of bitops used for
checking their prototypes a bit below.
The functions added have consistent prototypes
From: Alexander Potapenko
Add basic tests ensuring that values can be added at arbitrary positions
of the bitmap, including those spanning into the adjacent unsigned
longs.
Two new performance tests, test_bitmap_read_perf() and
test_bitmap_write_perf(), can be used to assess future performance
i
Avoid open-coding that simple expression each time by moving
BYTES_TO_BITS() from the probes code to to export
it to the rest of the kernel.
Simplify the macro while at it. `BITS_PER_LONG / sizeof(long)` always
equals to %BITS_PER_BYTE, regardless of the target architecture.
Do the same for the to
From: Syed Nayyar Waris
The two new functions allow reading/writing values of length up to
BITS_PER_LONG bits at arbitrary position in the bitmap.
The code was taken from "bitops: Introduce the for_each_set_clump macro"
by Syed Nayyar Waris with a number of changes and simplifications:
- instea
Since commit b03fc1173c0c ("bitops: let optimize out non-atomic bitops
on compile-time constants"), the compilers are able to expand inline
bitmap operations to compile-time initializers when possible.
However, during the round of replacement if-__set-else-__clear with
__assign_bit() as per Andy's
Since commit b03fc1173c0c ("bitops: let optimize out non-atomic bitops
on compile-time constants"), the non-atomic bitops are macros which can
be expanded by the compilers into compile-time expressions, which will
result in better optimized object code. Unfortunately, turned out that
passing `volat
bitmap_size() is a pretty generic name and one may want to use it for
a generic bitmap API function. At the same time, its logic is not
"generic", i.e. it's not just `nbits -> size of bitmap in bytes`
converter as it would be expected from its name.
Add the prefix 'idset_' used throughout the file
bitmap_size() is a pretty generic name and one may want to use it for
a generic bitmap API function. At the same time, its logic is
NTFS-specific, as it aligns to the sizeof(u64), not the sizeof(long)
(although it uses ideologically right ALIGN() instead of division).
Add the prefix 'ntfs3_' used f
bitmap_set_bits() does not start with the FS' prefix and may collide
with a new generic helper one day. It operates with the FS-specific
types, so there's no change those two could do the same thing.
Just add the prefix to exclude such possible conflict.
Reviewed-by: Przemek Kitszel
Acked-by: Dav
Currently, tools have *ALIGN*() macros scattered across the unrelated
headers, as there are only 3 of them and they were added separately
each time on an as-needed basis.
Anyway, let's make it more consistent with the kernel headers and allow
using those macros outside of the mentioned headers. Cre
The number of times yet another open coded
`BITS_TO_LONGS(nbits) * sizeof(long)` can be spotted is huge.
Some generic helper is long overdue.
Add one, bitmap_size(), but with one detail.
BITS_TO_LONGS() uses DIV_ROUND_UP(). The latter works well when both
divident and divisor are compile-time cons
Now that we have generic bitmap_read() and bitmap_write(), which are
inline and try to take care of non-bound-crossing and aligned cases
to keep them optimized, collapse bitmap_{get,set}_value8() into
simple wrappers around the former ones.
bloat-o-meter shows no difference in vmlinux and -2 bytes
Commit dc34d5036692 ("lib: test_bitmap: add compile-time
optimization/evaluations assertions") initially missed __assign_bit(),
which led to that quite a time passed before I realized it doesn't get
optimized at compilation time. Now that it does, add test for that just
to make sure nothing will br
Unlike IPv6 tunnels which use purely-kernel __ip6_tnl_parm structure
to store params inside the kernel, IPv4 tunnel code uses the same
ip_tunnel_parm which is being used to talk with the userspace.
This makes it difficult to alter or add any fields or use a
different format for whatever data.
Defin
Now that there are helpers for converting IP tunnel flags between the
old __be16 format and the bitmap format, make sure they work as expected
by adding a couple of tests to the networking testing suite. The helpers
are all inline, so no dependencies on the related CONFIG_* (or a
standalone module)
From: Wojciech Drewek
Packet Forwarding Control Protocol (PFCP) is a 3GPP Protocol
used between the control plane and the user plane function.
It is specified in TS 29.244[1].
Note that this module is not designed to support this Protocol
in the kernel space. There is no support for parsing any
From: Michal Swiatkowski
In PFCP receive path set metadata needed by flower code to do correct
classification based on this metadata.
Signed-off-by: Michal Swiatkowski
Signed-off-by: Marcin Szycik
Reviewed-by: Simon Horman
Signed-off-by: Alexander Lobakin
---
include/net/ip_tunnels.h
From: Marcin Szycik
FLOW_DISSECTOR_KEY_ENC_OPTS can be used for multiple headers, but currently
it is treated as GTP-exclusive in ice. Rename ICE_TC_FLWR_FIELD_ENC_OPTS to
ICE_TC_FLWR_FIELD_GTP_OPTS and check for tunnel type earlier. After this
refactor, it is easier to add new headers using FLOW
From: Marcin Szycik
Add support for creating PFCP filters in switchdev mode. Add support
for parsing PFCP-specific tc options: S flag and SEID.
To create a PFCP filter, a special netdev must be created and passed
to tc command:
ip link add pfcp0 type pfcp
tc filter add dev eth0 ingress prio
Add initial support for Intel(R) E610 Series of network devices. The E610
is based on X550 but adds firmware managed link, enhanced security
capabilities and support for updated server manageability.
This patch series adds low level support for the following features and
enables link management.
Add low level support for Admin Command Interface (ACI). ACI is the
Firmware interface used by a driver to communicate with E610 adapter. Add
the following ACI features:
- data structures, macros, register definitions
- commands handling
- events handling
Co-developed-by: Stefan Wegrzyn
Signed-of
Add low level support for E610 device capabilities detection. The
capabilities are discovered via the Admin Command Interface. Discover the
following capabilities:
- function caps: vmdq, dcb, rss, rx/tx qs, msix, nvm, orom, reset
- device caps: vsi, fdir, 1588
- phy caps
Co-developed-by: Stefan We
Add low level link management support for E610 device. Link management
operations are handled via the Admin Command Interface. Add the following
link management operations:
- get link capabilities
- set up link
- get media type
- get link status, link status events
- link power management
Co-devel
Add low level support for accessing NVM in E610 device. NVM operations are
handled via the Admin Command Interface. Add the following NVM specific
operations:
- acquire, release, read
- validate checksum
- read shadow ram
Co-developed-by: Stefan Wegrzyn
Signed-off-by: Stefan Wegrzyn
Co-developed
Add high level link management support for E610 device. Enable the
following features:
- driver load
- bring up network interface
- IP address assignment
- pass traffic
- show statistics (e.g. via ethtool)
- disable network interface
- driver unload
Co-developed-by: Carolyn Wyborny
Signed-off-by:
On Wed, Mar 27, 2024 at 04:23:39PM +0100, Alexander Lobakin wrote:
> From: Alexander Potapenko
>
> Add basic tests ensuring that values can be added at arbitrary positions
> of the bitmap, including those spanning into the adjacent unsigned
> longs.
>
> Two new performance tests, test_bitmap_rea
From: Andy Shevchenko
Date: Wed, 27 Mar 2024 17:47:56 +0200
> On Wed, Mar 27, 2024 at 04:23:39PM +0100, Alexander Lobakin wrote:
>> From: Alexander Potapenko
>>
>> Add basic tests ensuring that values can be added at arbitrary positions
>> of the bitmap, including those spanning into the adjacen
> -Original Message-
> From: Mateusz Polchlopek
> Sent: Tuesday, March 26, 2024 5:21 PM
> To: intel-wired-...@lists.osuosl.org
> Cc: net...@vger.kernel.org; Jacob Keller ;
> Wojciech Drewek ; Ahmed Zaki
> ; Mateusz Polchlopek
>
> Subject: [Intel-wired-lan] [PATCH iwl-next v1 06/12] iavf
Historically, tunnel flags like TUNNEL_CSUM or TUNNEL_ERSPAN_OPT
have been defined as __be16. Now all of those 16 bits are occupied
and there's no more free space for new flags.
It can't be simply switched to a bigger container with no
adjustments to the values, since it's an explicit Endian storag
On 3/27/2024 12:29 AM, Ivan Vecera wrote:
...
Hi Tony,
the fix is not part of your recent pull series for i40e... I have
submitted it to 'net' instead of 'iwl-net' as it fixes recent commit
that causes MAC filter resource leaks that should be fixed as soon as
possible. But its status in p
Hi Piotr,
kernel test robot noticed the following build warnings:
[auto build test WARNING on v6.8]
[cannot apply to tnguy-next-queue/dev-queue tnguy-net-queue/dev-queue
horms-ipvs/master v6.9-rc1 linus/master next-20240327]
[If your patch is applied to the wrong git tree, kindly drop us a note
Hi Piotr,
kernel test robot noticed the following build warnings:
[auto build test WARNING on v6.8]
[cannot apply to tnguy-next-queue/dev-queue tnguy-net-queue/dev-queue
horms-ipvs/master v6.9-rc1 linus/master next-20240327]
[If your patch is applied to the wrong git tree, kindly drop us a note
Dear Paul, dear Dan,
Thank you for the patch.
Reviewed-by: Paul Menzel
Kind regards,
Paul
75 matches
Mail list logo