On Wed, Apr 29, 2020 at 12:30:00AM +0200, Michal Kubecek wrote: > At the moment, ethtool falls back to ioctl implementation whenever either > in response to request type not implemented in kernel or netlink interface > is unavailable or netlink request fails with EOPNOTSUPP error code. This is > not perfect as EOPNOTSUPP can have different meanings and we only want to > fall back if it is caused by kernel lacking netlink implementation of the > request. In other cases, we would needlessly repeat the same failure trying > both netlink and ioctl. > > These two patches improve the logic to avoid such duplicate failures and > improve handling of cases where fallback to ioctl is impossible for other > reasons (e.g. wildcard device name or no ioctl handler). > > Michal Kubecek (2): > refactor interface between ioctl and netlink code > netlink: use genetlink ops information to decide about fallback > > ethtool.c | 51 +++--------- > netlink/extapi.h | 14 ++-- > netlink/monitor.c | 15 +++- > netlink/netlink.c | 193 ++++++++++++++++++++++++++++++++++++++------- > netlink/netlink.h | 6 ++ > netlink/parser.c | 7 ++ > netlink/settings.c | 7 ++ > 7 files changed, 220 insertions(+), 73 deletions(-)
Thanks (belatedly) -- queued for next release! John -- John W. Linville Someday the world will need a hero, and you linvi...@tuxdriver.com might be all we have. Be ready.