100c94ca2SJakub Kicinski# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 200c94ca2SJakub Kicinski--- 300c94ca2SJakub Kicinskiname: psp 400c94ca2SJakub Kicinski 500c94ca2SJakub Kicinskidoc: 600c94ca2SJakub Kicinski PSP Security Protocol Generic Netlink family. 700c94ca2SJakub Kicinski 800c94ca2SJakub Kicinskidefinitions: 900c94ca2SJakub Kicinski - 1000c94ca2SJakub Kicinski type: enum 1100c94ca2SJakub Kicinski name: version 1200c94ca2SJakub Kicinski entries: [hdr0-aes-gcm-128, hdr0-aes-gcm-256, 1300c94ca2SJakub Kicinski hdr0-aes-gmac-128, hdr0-aes-gmac-256] 1400c94ca2SJakub Kicinski 1500c94ca2SJakub Kicinskiattribute-sets: 1600c94ca2SJakub Kicinski - 1700c94ca2SJakub Kicinski name: dev 1800c94ca2SJakub Kicinski attributes: 1900c94ca2SJakub Kicinski - 2000c94ca2SJakub Kicinski name: id 2100c94ca2SJakub Kicinski doc: PSP device ID. 2200c94ca2SJakub Kicinski type: u32 2300c94ca2SJakub Kicinski checks: 2400c94ca2SJakub Kicinski min: 1 2500c94ca2SJakub Kicinski - 2600c94ca2SJakub Kicinski name: ifindex 2700c94ca2SJakub Kicinski doc: ifindex of the main netdevice linked to the PSP device. 2800c94ca2SJakub Kicinski type: u32 2900c94ca2SJakub Kicinski - 3000c94ca2SJakub Kicinski name: psp-versions-cap 3100c94ca2SJakub Kicinski doc: Bitmask of PSP versions supported by the device. 3200c94ca2SJakub Kicinski type: u32 3300c94ca2SJakub Kicinski enum: version 3400c94ca2SJakub Kicinski enum-as-flags: true 3500c94ca2SJakub Kicinski - 3600c94ca2SJakub Kicinski name: psp-versions-ena 3700c94ca2SJakub Kicinski doc: Bitmask of currently enabled (accepted on Rx) PSP versions. 3800c94ca2SJakub Kicinski type: u32 3900c94ca2SJakub Kicinski enum: version 4000c94ca2SJakub Kicinski enum-as-flags: true 41*6b46ca26SJakub Kicinski - 42*6b46ca26SJakub Kicinski name: assoc 43*6b46ca26SJakub Kicinski attributes: 44*6b46ca26SJakub Kicinski - 45*6b46ca26SJakub Kicinski name: dev-id 46*6b46ca26SJakub Kicinski doc: PSP device ID. 47*6b46ca26SJakub Kicinski type: u32 48*6b46ca26SJakub Kicinski checks: 49*6b46ca26SJakub Kicinski min: 1 50*6b46ca26SJakub Kicinski - 51*6b46ca26SJakub Kicinski name: version 52*6b46ca26SJakub Kicinski doc: | 53*6b46ca26SJakub Kicinski PSP versions (AEAD and protocol version) used by this association, 54*6b46ca26SJakub Kicinski dictates the size of the key. 55*6b46ca26SJakub Kicinski type: u32 56*6b46ca26SJakub Kicinski enum: version 57*6b46ca26SJakub Kicinski - 58*6b46ca26SJakub Kicinski name: rx-key 59*6b46ca26SJakub Kicinski type: nest 60*6b46ca26SJakub Kicinski nested-attributes: keys 61*6b46ca26SJakub Kicinski - 62*6b46ca26SJakub Kicinski name: tx-key 63*6b46ca26SJakub Kicinski type: nest 64*6b46ca26SJakub Kicinski nested-attributes: keys 65*6b46ca26SJakub Kicinski - 66*6b46ca26SJakub Kicinski name: sock-fd 67*6b46ca26SJakub Kicinski doc: Sockets which should be bound to the association immediately. 68*6b46ca26SJakub Kicinski type: u32 69*6b46ca26SJakub Kicinski - 70*6b46ca26SJakub Kicinski name: keys 71*6b46ca26SJakub Kicinski attributes: 72*6b46ca26SJakub Kicinski - 73*6b46ca26SJakub Kicinski name: key 74*6b46ca26SJakub Kicinski type: binary 75*6b46ca26SJakub Kicinski - 76*6b46ca26SJakub Kicinski name: spi 77*6b46ca26SJakub Kicinski doc: Security Parameters Index (SPI) of the association. 78*6b46ca26SJakub Kicinski type: u32 7900c94ca2SJakub Kicinski 8000c94ca2SJakub Kicinskioperations: 8100c94ca2SJakub Kicinski list: 8200c94ca2SJakub Kicinski - 8300c94ca2SJakub Kicinski name: dev-get 8400c94ca2SJakub Kicinski doc: Get / dump information about PSP capable devices on the system. 8500c94ca2SJakub Kicinski attribute-set: dev 8600c94ca2SJakub Kicinski do: 8700c94ca2SJakub Kicinski request: 8800c94ca2SJakub Kicinski attributes: 8900c94ca2SJakub Kicinski - id 9000c94ca2SJakub Kicinski reply: &dev-all 9100c94ca2SJakub Kicinski attributes: 9200c94ca2SJakub Kicinski - id 9300c94ca2SJakub Kicinski - ifindex 9400c94ca2SJakub Kicinski - psp-versions-cap 9500c94ca2SJakub Kicinski - psp-versions-ena 9600c94ca2SJakub Kicinski pre: psp-device-get-locked 9700c94ca2SJakub Kicinski post: psp-device-unlock 9800c94ca2SJakub Kicinski dump: 9900c94ca2SJakub Kicinski reply: *dev-all 10000c94ca2SJakub Kicinski - 10100c94ca2SJakub Kicinski name: dev-add-ntf 10200c94ca2SJakub Kicinski doc: Notification about device appearing. 10300c94ca2SJakub Kicinski notify: dev-get 10400c94ca2SJakub Kicinski mcgrp: mgmt 10500c94ca2SJakub Kicinski - 10600c94ca2SJakub Kicinski name: dev-del-ntf 10700c94ca2SJakub Kicinski doc: Notification about device disappearing. 10800c94ca2SJakub Kicinski notify: dev-get 10900c94ca2SJakub Kicinski mcgrp: mgmt 11000c94ca2SJakub Kicinski - 11100c94ca2SJakub Kicinski name: dev-set 11200c94ca2SJakub Kicinski doc: Set the configuration of a PSP device. 11300c94ca2SJakub Kicinski attribute-set: dev 11400c94ca2SJakub Kicinski do: 11500c94ca2SJakub Kicinski request: 11600c94ca2SJakub Kicinski attributes: 11700c94ca2SJakub Kicinski - id 11800c94ca2SJakub Kicinski - psp-versions-ena 11900c94ca2SJakub Kicinski reply: 12000c94ca2SJakub Kicinski attributes: [] 12100c94ca2SJakub Kicinski pre: psp-device-get-locked 12200c94ca2SJakub Kicinski post: psp-device-unlock 12300c94ca2SJakub Kicinski - 12400c94ca2SJakub Kicinski name: dev-change-ntf 12500c94ca2SJakub Kicinski doc: Notification about device configuration being changed. 12600c94ca2SJakub Kicinski notify: dev-get 12700c94ca2SJakub Kicinski mcgrp: mgmt 12800c94ca2SJakub Kicinski 129117f02a4SJakub Kicinski - 130117f02a4SJakub Kicinski name: key-rotate 131117f02a4SJakub Kicinski doc: Rotate the device key. 132117f02a4SJakub Kicinski attribute-set: dev 133117f02a4SJakub Kicinski do: 134117f02a4SJakub Kicinski request: 135117f02a4SJakub Kicinski attributes: 136117f02a4SJakub Kicinski - id 137117f02a4SJakub Kicinski reply: 138117f02a4SJakub Kicinski attributes: 139117f02a4SJakub Kicinski - id 140117f02a4SJakub Kicinski pre: psp-device-get-locked 141117f02a4SJakub Kicinski post: psp-device-unlock 142117f02a4SJakub Kicinski - 143117f02a4SJakub Kicinski name: key-rotate-ntf 144117f02a4SJakub Kicinski doc: Notification about device key getting rotated. 145117f02a4SJakub Kicinski notify: key-rotate 146117f02a4SJakub Kicinski mcgrp: use 147117f02a4SJakub Kicinski 148*6b46ca26SJakub Kicinski - 149*6b46ca26SJakub Kicinski name: rx-assoc 150*6b46ca26SJakub Kicinski doc: Allocate a new Rx key + SPI pair, associate it with a socket. 151*6b46ca26SJakub Kicinski attribute-set: assoc 152*6b46ca26SJakub Kicinski do: 153*6b46ca26SJakub Kicinski request: 154*6b46ca26SJakub Kicinski attributes: 155*6b46ca26SJakub Kicinski - dev-id 156*6b46ca26SJakub Kicinski - version 157*6b46ca26SJakub Kicinski - sock-fd 158*6b46ca26SJakub Kicinski reply: 159*6b46ca26SJakub Kicinski attributes: 160*6b46ca26SJakub Kicinski - dev-id 161*6b46ca26SJakub Kicinski - rx-key 162*6b46ca26SJakub Kicinski pre: psp-assoc-device-get-locked 163*6b46ca26SJakub Kicinski post: psp-device-unlock 164*6b46ca26SJakub Kicinski - 165*6b46ca26SJakub Kicinski name: tx-assoc 166*6b46ca26SJakub Kicinski doc: Add a PSP Tx association. 167*6b46ca26SJakub Kicinski attribute-set: assoc 168*6b46ca26SJakub Kicinski do: 169*6b46ca26SJakub Kicinski request: 170*6b46ca26SJakub Kicinski attributes: 171*6b46ca26SJakub Kicinski - dev-id 172*6b46ca26SJakub Kicinski - version 173*6b46ca26SJakub Kicinski - tx-key 174*6b46ca26SJakub Kicinski - sock-fd 175*6b46ca26SJakub Kicinski reply: 176*6b46ca26SJakub Kicinski attributes: [] 177*6b46ca26SJakub Kicinski pre: psp-assoc-device-get-locked 178*6b46ca26SJakub Kicinski post: psp-device-unlock 179*6b46ca26SJakub Kicinski 18000c94ca2SJakub Kicinskimcast-groups: 18100c94ca2SJakub Kicinski list: 18200c94ca2SJakub Kicinski - 18300c94ca2SJakub Kicinski name: mgmt 184117f02a4SJakub Kicinski - 185117f02a4SJakub Kicinski name: use 18600c94ca2SJakub Kicinski 18700c94ca2SJakub Kicinski... 188