lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20230914135752.GB401982@kernel.org> Date: Thu, 14 Sep 2023 15:57:52 +0200 From: Simon Horman <horms@...nel.org> To: Jiri Pirko <jiri@...nulli.us> Cc: netdev@...r.kernel.org, kuba@...nel.org, pabeni@...hat.com, davem@...emloft.net, edumazet@...gle.com, idosch@...dia.com, petrm@...dia.com, jacob.e.keller@...el.com, moshe@...dia.com, shayd@...dia.com, saeedm@...dia.com Subject: Re: [patch net-next v2 00/12] expose devlink instances relationships On Wed, Sep 13, 2023 at 09:12:31AM +0200, Jiri Pirko wrote: > From: Jiri Pirko <jiri@...dia.com> > > Currently, the user can instantiate new SF using "devlink port add" > command. That creates an E-switch representor devlink port. > > When user activates this SF, there is an auxiliary device created and > probed for it which leads to SF devlink instance creation. > > There is 1:1 relationship between E-switch representor devlink port and > the SF auxiliary device devlink instance. > > Also, for example in mlx5, one devlink instance is created for > PCI device and one is created for an auxiliary device that represents > the uplink port. The relation between these is invisible to the user. > > Patches #1-#3 and #5 are small preparations. > > Patch #4 adds netnsid attribute for nested devlink if that in a > different namespace. > > Patch #5 is the main one in this set, introduces the relationship > tracking infrastructure later on used to track SFs, linecards and > devlink instance relationships with nested devlink instances. > > Expose the relation to the user by introducing new netlink attribute > DEVLINK_PORT_FN_ATTR_DEVLINK which contains the devlink instance related > to devlink port function. This is done by patch #8. > Patch #9 implements this in mlx5 driver. > > Patch #10 converts the linecard nested devlink handling to the newly > introduced rel infrastructure. > > Patch #11 benefits from the rel infra and introduces possiblitily to > have relation between devlink instances. > Patch #12 implements this in mlx5 driver. > > Examples: > $ devlink dev > pci/0000:08:00.0: nested_devlink auxiliary/mlx5_core.eth.0 > pci/0000:08:00.1: nested_devlink auxiliary/mlx5_core.eth.1 > auxiliary/mlx5_core.eth.1 > auxiliary/mlx5_core.eth.0 > > $ devlink port add pci/0000:08:00.0 flavour pcisf pfnum 0 sfnum 106 > pci/0000:08:00.0/32768: type eth netdev eth4 flavour pcisf controller 0 pfnum 0 sfnum 106 splittable false > function: > hw_addr 00:00:00:00:00:00 state inactive opstate detached roce enable > $ devlink port function set pci/0000:08:00.0/32768 state active > $ devlink port show pci/0000:08:00.0/32768 > pci/0000:08:00.0/32768: type eth netdev eth4 flavour pcisf controller 0 pfnum 0 sfnum 106 splittable false > function: > hw_addr 00:00:00:00:00:00 state active opstate attached roce enable nested_devlink auxiliary/mlx5_core.sf.2 > > # devlink dev reload auxiliary/mlx5_core.sf.2 netns ns1 > $ devlink port show pci/0000:08:00.0/32768 > pci/0000:08:00.0/32768: type eth netdev eth4 flavour pcisf controller 0 pfnum 0 sfnum 106 splittable false > function: > hw_addr 00:00:00:00:00:00 state active opstate attached roce enable nested_devlink auxiliary/mlx5_core.sf.2 nested_devlink_netns ns1 > > Jiri Pirko (12): > devlink: move linecard struct into linecard.c > net/mlx5: Disable eswitch as the first thing in mlx5_unload() > net/mlx5: Lift reload limitation when SFs are present > devlink: put netnsid to nested handle > devlink: move devlink_nl_put_nested_handle() into netlink.c > devlink: extend devlink_nl_put_nested_handle() with attrtype arg > devlink: introduce object and nested devlink relationship infra > devlink: expose peer SF devlink instance > net/mlx5: SF, Implement peer devlink set for SF representor devlink > port > devlink: convert linecard nested devlink to new rel infrastructure > devlink: introduce possibility to expose info about nested devlinks > net/mlx5e: Set en auxiliary devlink instance as nested Reviewed-by: Simon Horman <horms@...nel.org>
Powered by blists - more mailing lists