mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
tools: ynl: add unicast notification receive support
Add ntf_bind() method to YnlFamily for binding the netlink socket without joining a multicast group. This enables receiving unicast notifications through the existing poll_ntf/check_ntf path. The OVS packet family sends MISS and ACTION upcalls via genlmsg_unicast() to a per-vport PID rather than through a multicast group. The existing ntf_subscribe() couples bind() with setsockopt(ADD_MEMBERSHIP), which does not fit the unicast case. ntf_bind() provides the bind-only alternative, with the address defaulting to (0, 0) but exposed as an explicit argument. Signed-off-by: Minxi Hou <houminxi@gmail.com> Link: https://patch.msgid.link/20260522174154.720293-3-houminxi@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
b82bfddc46
commit
b74e71b6a9
|
|
@ -682,6 +682,7 @@ class YnlFamily(SpecFamily):
|
|||
|
||||
ynl.ntf_subscribe(mcast_name) -- join a multicast group
|
||||
ynl.ntf_listen_all_nsid() -- listen on all netns
|
||||
ynl.ntf_bind(addr=(0, 0)) -- bind socket for unicast notifications
|
||||
ynl.check_ntf() -- drain pending notifications
|
||||
ynl.poll_ntf(duration=None) -- yield notifications
|
||||
|
||||
|
|
@ -767,6 +768,10 @@ class YnlFamily(SpecFamily):
|
|||
return None
|
||||
return None
|
||||
|
||||
def ntf_bind(self, addr=(0, 0)):
|
||||
"""Bind socket for receiving unicast notifications."""
|
||||
self.sock.bind(addr)
|
||||
|
||||
def set_recv_dbg(self, enabled):
|
||||
self._recv_dbg = enabled
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user