tools: ynl: add short doc to class YnlFamily

The class is quite long. It's getting hard to find the user-facing
methods. Add a short doc at the class level explaining the main API.

Link: https://patch.msgid.link/20260310005337.3594225-4-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski
2026-03-09 17:53:35 -07:00
parent c26fda6212
commit 8bbcfce5db

View File

@@ -491,6 +491,32 @@ class SpaceAttrs:
class YnlFamily(SpecFamily):
"""
YNL family -- a Netlink interface built from a YAML spec.
Primary use of the class is to execute Netlink commands:
ynl.<op_name>(attrs, ...)
By default this will execute the <op_name> as "do", pass dump=True
to perform a dump operation.
ynl.<op_name> is a shorthand / convenience wrapper for the following
methods which take the op_name as a string:
ynl.do(op_name, attrs, flags=None) -- execute a do operation
ynl.dump(op_name, attrs) -- execute a dump operation
ynl.do_multi(ops) -- batch multiple do operations
The flags argument in ynl.do() allows passing in extra NLM_F_* flags
which may be necessary for old families.
Notification API:
ynl.ntf_subscribe(mcast_name) -- join a multicast group
ynl.check_ntf() -- drain pending notifications
ynl.poll_ntf(duration=None) -- yield notifications
"""
def __init__(self, def_path, schema=None, process_unknown=False,
recv_size=0):
super().__init__(def_path, schema)