summaryrefslogtreecommitdiffstats
path: root/net/devlink/linecard.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* devlink: introduce a helper for netlink multicast sendJiri Pirko2023-12-191-2/+1
| | | | | | | | | Introduce a helper devlink_nl_notify_send() so each object notification function does not have to call genlmsg_multicast_netns() with the same arguments. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
* devlink: send notifications only if there are listenersJiri Pirko2023-12-191-1/+1
| | | | | | | | | Introduce devlink_nl_notify_need() helper and using it to check at the beginning of notification functions to avoid overhead of composing notification messages in case nobody listens. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
* devlink: introduce __devl_is_registered() helper and use it instead of ↵Jiri Pirko2023-12-191-1/+1
| | | | | | | | | | | xa_get_mark() Introduce __devl_is_registered() which does not assert on devlink instance lock and use it in notifications which may be called without devlink instance lock held. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
* devlink: rename netlink callback to be aligned with the generated onesJiri Pirko2023-10-241-2/+1
| | | | | | | | | | | All remaining doit and dumpit netlink callback functions are going to be used by generated split ops. They expect certain name format. Rename the callback to be aligned with generated names. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Link: https://lore.kernel.org/r/20231021112711.660606-8-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
* devlink: convert linecard nested devlink to new rel infrastructureJiri Pirko2023-09-171-13/+34
| | | | | | | | | Benefit from the newly introduced rel infrastructure, treat the linecard nested devlink instances in the same way as port function instances. Convert the code to use the rel infrastructure. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* devlink: extend devlink_nl_put_nested_handle() with attrtype argJiri Pirko2023-09-171-1/+2
| | | | | | | | As the next patch is going to call this helper with need to fill another type of nested attribute, pass it over function arg. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* devlink: move devlink_nl_put_nested_handle() into netlink.cJiri Pirko2023-09-171-26/+0
| | | | | | | | As the next patch is going to call this helper out of the linecard.c, move to netlink.c. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* devlink: put netnsid to nested handleJiri Pirko2023-09-171-2/+11
| | | | | | | | If netns of devlink instance and nested devlink instance differs, put netnsid attr to indicate that. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* devlink: move linecard struct into linecard.cJiri Pirko2023-09-171-0/+19
| | | | | | | | | | Instead of exposing linecard struct, expose a simple helper to get the linecard index, which is all is needed outside linecard.c. Move the linecard struct to linecard.c and keep it private similar to the rest of the devlink objects. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* devlink: push linecard related code into separate fileJiri Pirko2023-08-281-0/+606
Cut out another chunk from leftover.c and put linecard related code into a separate file. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-13-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>