Re: [PATCH v2 02/17] psp: base PSP device support
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2025-06-26 17:20:48
Jakub Kicinski wrote:
On Thu, 26 Jun 2025 10:25:11 -0400 Willem de Bruijn wrote:quoted
Preferable over the following? struct psphdr { u8 nexthdr; u8 hdrlen; u8 crypt_offset; u8 sample:1; u8 drop:1; u8 version:4; u8 vc_present:1; u8 reserved:1; __be32 spi; __be64 iv; __be64 vc[]; /* optional */ }; I suppose that has an endianness issue requiring variants with __LITTLE_ENDIAN_BITFIELD and __BIG_ENDIAN_BITFIELD.Right, this part. Always gives me pause :(quoted
quoted
quoted
This makes sense with a single physical device plus optional virtual (vlan, bonding, ..) devices. It may also be possible for a single physical device (with single device key) to present multiple PFs and/or VFs. In that case, will there be multiple struct psp_dev, or will one PF be the "main".AFAIU we have no ability to represent multi-PCIe function devices in the kernel model today. So realistically I think psp_dev per function and then propagate the rotation events.IDPF does support multiple "vports" (num_alloc_vports), and with that struct net_device, from a single BDF.Upstream? If yes then I'm very bad at reviewing code :D
I then don't think I want to focus your attention on this, but.. See use num_alloc_ports in idpf_init_task. Which keeps requeueing itself until num_default_vports is reached. Which is a variable received from the device in VIRTCHNL2_OP_GET_CAPS.