diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-05-18 17:34:47 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-18 18:34:47 +0300 |
| commit | 51ab39e51bb925307c0f9ad1d905d450ceecc0f5 (patch) | |
| tree | dc6f31ec67ee44efc74c06026db39204aab69e41 /src/services | |
| parent | edccb2fc91163a626ece24c8be14a8bf3d444d8f (diff) | |
| download | vyos-1x-51ab39e51bb925307c0f9ad1d905d450ceecc0f5.tar.gz vyos-1x-51ab39e51bb925307c0f9ad1d905d450ceecc0f5.zip | |
vyos-netlinkd: T8781: try IPRoute.bind() RTNL subscription first (#5207)
Not all pyroute2 versions which ship IPRoute() support subscribing to RTNL
multicast groups. If subscribing fails, fallback to all messages.
Diffstat (limited to 'src/services')
| -rwxr-xr-x | src/services/vyos-netlinkd | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/services/vyos-netlinkd b/src/services/vyos-netlinkd index addfc8ef9..2b158e05d 100755 --- a/src/services/vyos-netlinkd +++ b/src/services/vyos-netlinkd @@ -107,8 +107,17 @@ def main(): syslog.syslog(syslog.LOG_INFO, "VyOS Netlink listener daemon started.") # Subscribe to link notifications only (not routes/rules/neigh/addr/...). - ipr = IPRoute(groups=RTMGRP_LINK) - ipr.bind() + ipr = IPRoute() + try: + # newer pyroute2 versions support bind group in IPRoute() constructor + ipr.bind(groups=RTMGRP_LINK) + syslog.syslog(syslog.LOG_INFO, + 'IPRoute.bind() using groups=RTMGRP_LINK RTNL subscription') + except TypeError: + syslog.syslog(syslog.LOG_WARNING, + 'IPRoute.bind() has no groups= support; using default RTNL subscriptions', + ) + ipr.bind() fd = ipr.fileno() global running |
