On 2/1/21 2:35 PM, Parav Pandit wrote: > This patchset implements devlink port add, delete and function state > management commands. > > An example sequence for a PCI SF: > > Set the device in switchdev mode: > $ devlink dev eswitch set pci/0000:06:00.0 mode switchdev > > View ports in switchdev mode: > $ devlink port show > pci/0000:06:00.0/65535: type eth netdev ens2f0np0 flavour physical port 0 > splittable false > > Add a subfunction port for PCI PF 0 with sfnumber 88: > $ devlink port add pci/0000:06:00.0 flavour pcisf pfnum 0 sfnum 88 > pci/0000:08:00.0/32768: type eth netdev eth6 flavour pcisf controller 0 pfnum > 0 sfnum 88 splittable false > function: > hw_addr 00:00:00:00:00:00 state inactive opstate detached > > Show a newly added port: > $ devlink port show pci/0000:06:00.0/32768 > pci/0000:06:00.0/32768: type eth netdev ens2f0npf0sf88 flavour pcisf > controller 0 pfnum 0 sfnum 88 splittable false > function: > hw_addr 00:00:00:00:00:00 state inactive opstate detached > > Set the function state to active: > $ devlink port function set pci/0000:06:00.0/32768 hw_addr 00:00:00:00:88:88 > state active > > Show the port in JSON format: > $ devlink port show pci/0000:06:00.0/32768 -jp > { > "port": { > "pci/0000:06:00.0/32768": { > "type": "eth", > "netdev": "ens2f0npf0sf88", > "flavour": "pcisf", > "controller": 0, > "pfnum": 0, > "sfnum": 88, > "splittable": false, > "function": { > "hw_addr": "00:00:00:00:88:88", > "state": "active", > "opstate": "attached" > } > } > } > } > > Set the function state to active: > $ devlink port function set pci/0000:06:00.0/32768 state inactive > > Delete the port after use: > $ devlink port del pci/0000:06:00.0/32768 >
applied to iproute2-next. In the future, please split additions and changes to utility functions into a separate standalone patch.