Re: [PATCH v2 02/17] psp: base PSP device support

Jakub Kicinski
2025-06-26T15:11:58Z

On Thu, 26 Jun 2025 10:25:11 -0400 Willem de Bruijn wrote:
> 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 :(

> > > 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